# Felo API Setup

Set up Felo endpoints in Data API for search, web content, X data and presentations, using platform balance.

Felo is one provider in [Data API](https://openapi.felo.ai/docs/data-api), offering web search, web reading, X data, search-grounded answers and presentations. Find each Felo endpoint alongside other providers in the relevant Data API category.

These endpoints use **platform balance** and the `/api/v1/data` prefix. This guide explains authentication, your first request and where to find billing rules.

To use Felo Pro credits, see the [existing Felo APIs](https://openapi.felo.ai/docs/api-reference/felo-apis.md). Platform balance and Pro credits are separate.

## Make your first request

1. Create a key in [Console → API Keys](https://openapi.felo.ai/console/api-keys).
2. Check or top up your **platform balance** in [Console → Billing](https://openapi.felo.ai/console/billing).
3. Set the key on your server or in your local shell:

```bash
export FELO_API_KEY="YOUR_API_KEY"
```

Send `Authorization: Bearer $FELO_API_KEY`. `X-API-Key` is also accepted; choose one authentication method. JSON requests need `Content-Type: application/json`.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/web/search" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"What is retrieval augmented generation?","count":3}'
```

HTTP 200 returns a `resources` array with page titles, links and snippets, plus `total`. It does not generate a conversational answer; use [Chat](https://openapi.felo.ai/docs/data-api/guides/felo-chat.md) for that.

## Explore the APIs

| Guide | Operations | What you receive | Billing unit |
|---|---|---|---|
| [Web Search](https://openapi.felo.ai/docs/data-api/guides/felo-web-search.md) | Search the web | Page titles, links and snippets | Request |
| [Web Read](https://openapi.felo.ai/docs/data-api/guides/felo-web-read.md) | Read a URL | Markdown, text, HTML or screenshot | Request |
| [X Data](https://openapi.felo.ai/docs/data-api/guides/felo-x-data.md) | Profiles, user search, user posts, post search, replies | Structured users and posts, with pagination where supported | Returned result |
| [Search-grounded Chat](https://openapi.felo.ai/docs/data-api/guides/felo-chat.md) | Answer a question | Answer and web sources | Request |
| [PPT](https://openapi.felo.ai/docs/data-api/guides/felo-ppt.md) | Create, status, results, export, export status, delete | Generation task and downloadable PPTX | Generated page; export billed separately |
| [Billing and Errors](https://openapi.felo.ai/docs/data-api/guides/felo-billing.md) | Shared integration guidance | Prices, balance handling and retry rules | — |

There are **14 core operations** across these guides. If PPT creation returns a `stream_key`, the [PPT guide](https://openapi.felo.ai/docs/data-api/guides/felo-ppt.md#read-generation-events-with-sse) also explains how to read generation events with SSE. Status and result queries, export-status queries and deletion do not create a new charge.

## Before moving an existing integration

Use the guide for the exact endpoint you call. Replacing `/v2` with `/api/v1/data` is not a complete migration:

- Web Read uses `/web/read`, with one output format per request.
- Chat returns `status: "ok"`; it supports non-streaming JSON only.
- PPT results use **POST** `/tasks/{task_id}/historical`.
- PPT creation returns identifiers at the JSON root. Save both `task_id` and `ppt_business_id`.
- Generated PPTs expire after seven days. Export and save your file before expiry.

There is no native OpenAPI equivalent documented here for every `/v2` workflow, such as LiveDoc CRUD, Mindmap or SuperAgent. Continue using their [Felo APIs guides](https://openapi.felo.ai/docs/api-reference/felo-apis.md) and Pro-credit billing.

## Contract and current prices

- [Published OpenAPI schema](https://openapi.felo.ai/api/v1/data/openapi.json) — field definitions and response schemas.
- [OpenAPI YAML schema](https://openapi.felo.ai/api/v1/data/openapi.yaml) — for tools that accept YAML.
- [Current prices](https://openapi.felo.ai/api/v1/data/prices) — operation IDs, billing units and current rates.

These resources are public and can be read without a key. See [Billing and Errors](https://openapi.felo.ai/docs/data-api/guides/felo-billing.md) before adding automatic retries.
