# RuntimeError: coroutine object is not callable

- **ID:** `python/fastapi-runtimeerror-coroutine-object-is-not-callable`
- **Domain:** python
- **Category:** runtime_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Trying to call a coroutine as a function without using await, or assigning a coroutine to a variable and then calling it.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.x | active | — | — |

## Workarounds

1. **Use await when calling async functions.** (95% success)
   ```
   async def get_data():
    return await fetch_data()
   ```
2. **Run the coroutine in an event loop if outside async context.** (85% success)
   ```
   import asyncio
result = asyncio.run(async_function())
   ```

## Dead Ends

- **Calling an async function without await inside a sync function.** — Sync functions cannot use await; calling an async function returns a coroutine object, not the result. (80% fail)
- **Storing a coroutine in a variable and then using () on it.** — The variable holds a coroutine object; calling it again tries to call the coroutine, which is not allowed. (70% fail)
