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

# Calling any provider through one fetchbean endpoint

> fetchbean puts every supported data provider behind a single API key and a single endpoint, so you never manage multiple credentials or SDKs.

fetchbean fronts a growing set of providers — web search, page reading, weather, social data, and more — behind one API key. You call any provider method through `POST /v1/run`, passing three fields that tell fetchbean which provider to reach, which endpoint to invoke, and what input to send. fetchbean forwards the call, handles authentication and rate limits on your behalf, and returns the provider's native response.

## The run interface

Every call to `POST /v1/run` takes the same three fields in the request body:

| Field      | Type   | Description                                                                                              |
| ---------- | ------ | -------------------------------------------------------------------------------------------------------- |
| `provider` | string | The provider identifier — for example `exa`, `jina`, `parallel`, `tikhub`, `openweather`, or `remoteok`. |
| `endpoint` | string | The provider's own endpoint path — for example `/search` or `/v1/extract`.                               |
| `input`    | object | The full request body passed through to the provider exactly as-is.                                      |

Each method has a defined set of accepted parameters and a per-call credit cost. Refer to the [full catalog](https://fetchbean.com/catalog) for every supported provider, endpoint, and its pricing.

## Examples

Use the tabs below to see how to call different providers through the unified `run` endpoint.

<CodeGroup>
  ```bash Exa search theme={null}
  curl https://api.fetchbean.com/v1/run \
    -H "X-API-Key: $FETCHBEAN_KEY" \
    -H "Content-Type: application/json" \
    -d '{"provider":"exa","endpoint":"/search","input":{"query":"best vector databases","numResults":10}}'
  ```

  ```bash Jina read theme={null}
  curl https://api.fetchbean.com/v1/run \
    -H "X-API-Key: $FETCHBEAN_KEY" \
    -H "Content-Type: application/json" \
    -d '{"provider":"jina","endpoint":"/read","input":{"url":"https://example.com/post"}}'
  ```

  ```bash Parallel search theme={null}
  curl https://api.fetchbean.com/v1/run \
    -H "X-API-Key: $FETCHBEAN_KEY" \
    -H "Content-Type: application/json" \
    -d '{"provider":"parallel","endpoint":"/v1/search","input":{"search_queries":["vector databases"]}}'
  ```

  ```bash Parallel extract theme={null}
  curl https://api.fetchbean.com/v1/run \
    -H "X-API-Key: $FETCHBEAN_KEY" \
    -H "Content-Type: application/json" \
    -d '{"provider":"parallel","endpoint":"/v1/extract","input":{"urls":["https://example.com"]}}'
  ```
</CodeGroup>

## Normalized shortcuts

<Note>
  Every capability in the catalog also has its own endpoint at `POST /v1/<name>`, so you can call a tool by name instead of assembling a `provider` and `endpoint` pair. `POST /v1/run` remains the full surface — anything reachable by name is equally reachable through `run`.
</Note>

Five of those endpoints are **provider-independent**: fetchbean picks the provider and normalizes the response, so the shape stays stable even if the provider behind it changes.

* `POST /v1/search` — web search with a uniform result schema.
* `POST /v1/read` — page reading with a consistent content structure.
* `POST /v1/weather` — current weather data in a standardized format.
* `POST /v1/ios_app_search` — iOS App Store search.
* `POST /v1/instagram_user` — public Instagram profile *(beta)*.

The rest are named after the provider they call (`POST /v1/linear_issues`, `POST /v1/stripe_charges`, and so on) and pass the provider's own response straight back. See the [curated tools guide](/guides/curated-tools) for the full picture.

<Tip>
  Browse every provider, method, parameter set, and per-call credit cost at [fetchbean.com/catalog](https://fetchbean.com/catalog).
</Tip>
