> ## Documentation Index
> Fetch the complete documentation index at: https://platform.autumn.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Install the SDK and run your first Autumn task.

Two lines of setup and one call. `client.run()` hands your prompt to a cloud agent, waits
while it does the research, and returns finished rows.

## 1. Install

<CodeGroup>
  ```bash Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  pip install autumn-sdk
  # structured output:
  pip install "autumn-sdk[pydantic]"
  ```

  ```bash TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  npm install autumn-sdk
  # structured output uses Zod v4:
  npm install zod@4
  ```
</CodeGroup>

Create an API key in Autumn settings under **API**, then:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
export AUTUMN_API_KEY=your_key
```

## 2. Run your first task

`client.run()` starts a task, polls until it finishes, and returns the output.

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  from autumn_sdk import AutumnClient

  client = AutumnClient()
  result = client.run("List the top 20 posts on Hacker News today with their points")
  print(result.output)
  ```

  ```python Python (async) theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import asyncio
  from autumn_sdk import AsyncAutumnClient

  async def main():
      client = AsyncAutumnClient()
      result = await client.run("List the top 20 posts on Hacker News today with their points")
      print(result.output)

  asyncio.run(main())
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import { AutumnClient } from "autumn-sdk";

  const client = new AutumnClient();
  const result = await client.run("List the top 20 posts on Hacker News today with their points");
  console.log(result.output);
  ```
</CodeGroup>

`result.output` is the list of rows the task produced. `result.task_id` is the durable id.
Keep it to continue or re-read the task later.

## What a task can do

* **Data extraction**: scrape sites and collect structured rows with sources
* **Enrichment**: fill in people, companies, jobs, contacts, filings
* **Multi-step research**: search across many sources, compare, and summarize
* **List building**: find N entities that match criteria, with per-row evidence
* **Continuation**: refine, expand, or fix a previous task without starting over

## Next

<CardGroup cols={2}>
  <Card title="Structured output" icon="braces" href="/docs/guides/structured-output">
    Get typed objects back with a Pydantic or Zod schema.
  </Card>

  <Card title="Live messages" icon="radio" href="/docs/guides/streaming">
    Stream events as the agent works.
  </Card>

  <Card title="Follow-up tasks" icon="repeat" href="/docs/guides/follow-up">
    Continue the same task with new instructions.
  </Card>

  <Card title="Python SDK" icon="python" href="/docs/sdk-python">
    Full method reference.
  </Card>
</CardGroup>
