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

# Which tool do I use?

> Pick the right Olostep endpoint for your goal — one URL, a whole site, a list of URLs, a web search, or a researched answer.

Start from what you have and what you want back. Every endpoint uses the base URL `https://api.olostep.com` and the header `Authorization: Bearer <YOUR_API_KEY>` (see [Authentication](https://docs.olostep.com/get-started/authentication.md)).

## By goal

| You have | You want | Use | Endpoint | Sync or async |
| - | - | - | - | - |
| One URL | Its content as Markdown, HTML, text or JSON | [Scrape](https://docs.olostep.com/features/scrapes.md) | `POST /v1/scrapes` | Sync |
| A query, no URLs | A list of relevant links and snippets | [Search](https://docs.olostep.com/features/search.md) | `POST /v1/searches` | Sync |
| A question | A researched answer with sources | [Answers](https://docs.olostep.com/features/answers.md) | `POST /v1/answers` | Sync |
| A website | Every URL on it, without content | [Map](https://docs.olostep.com/features/maps.md) | `POST /v1/maps` | Sync |
| A website | The content of every page (or a filtered subset) | [Crawl](https://docs.olostep.com/features/crawls.md) | `POST /v1/crawls` | Async |
| A list of known URLs | The content of all of them | [Batch](https://docs.olostep.com/features/batches.md) | `POST /v1/batches` | Async |
| A page that changes | An alert when it changes | [Monitor](https://docs.olostep.com/features/monitors.md) | `POST /v1/monitors` | Runs on a schedule |
| Any API call | The same call on a timer | [Schedule](https://docs.olostep.com/features/schedules.md) | `POST /v1/schedules` | Runs on a schedule |
| A supported site (Google, LinkedIn, Amazon…) | Clean structured JSON fields | [Parsers](https://docs.olostep.com/features/structured-content/parsers.md) | `parser` option on scrapes and batches | Same as the call it's on |
| Any page | Custom JSON fields you describe | [LLM extraction](https://docs.olostep.com/features/structured-content/llm-extraction.md) | `llm_extract` option on scrapes | Same as the call it's on |

## Common decisions

* **Scrape vs. Crawl:** scrape when you know the exact URL. Crawl when you want many pages from one site and don't want to list them yourself.
* **Map vs. Crawl:** map returns URLs only and is fast. Use it to pick pages first, then scrape or batch just those.
* **Crawl vs. Batch:** crawl discovers pages by following links. Batch takes a list of URLs you already have, up to thousands at a time.
* **Search vs. Answers:** search returns links for you (or your agent) to read. Answers reads the pages for you and returns a single answer with citations.
* **Parsers vs. LLM extraction:** use a parser when one exists for the site. It's faster and returns the same fields every time. Use LLM extraction for anything else.

## Async endpoints

Crawls and batches run in the background. Each returns an `id` right away. Poll `GET /v1/crawls/{id}` or `GET /v1/batches/{id}` until the `status` is `completed`, then fetch the results. Stop polling if `status` is `failed`. A crawl can still end as `completed` with 0 pages (check `pages_count`), and a batch can end as `completed` with some failed items (list them with `?status=failed`). Each feature page shows the full flow.

## Other ways to call Olostep

* **AI agents and coding tools:** the [MCP server](https://docs.olostep.com/integrations/mcp-server.md) and [agent skills](https://docs.olostep.com/features/skills.md) give agents these tools directly.
* **Terminal and scripts:** the [Olostep CLI](https://docs.olostep.com/cli/overview.md) wraps every endpoint and returns JSON.
* **Code:** the [Python and Node SDKs](https://docs.olostep.com/sdks/overview.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.