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

> ## Agent Instructions
> The Exa API is served at https://api.exa.ai. Authenticate with `Authorization: Bearer $EXA_API_KEY` (or `x-api-key: $EXA_API_KEY`); create keys at https://dashboard.exa.ai/api-keys?utm_source=docs&utm_medium=docs&utm_campaign=markdown_instructions. Every way an agent can get access to Exa is described at https://exa.ai/auth.md.
> Prefer the official SDKs, `exa-py` (`pip install exa-py`) and `exa-js` (`npm install exa-js`); both read `EXA_API_KEY` from the environment.
> Tool-using agents can call Exa without writing code through the hosted MCP server at https://mcp.exa.ai/mcp, or install the Exa agent skill with `npx skills add exa-labs/agent-skills` (skill file: https://exa.ai/docs/skill.md).
> The OpenAPI specs at https://exa.ai/docs/exa-spec.yaml and https://exa.ai/docs/team-management-spec.yaml are the source of truth for request and response schemas.

# Fiber.ai

> Search Fiber.ai's B2B database for companies, people, and LinkedIn profiles.

[Fiber.ai](https://fiber.ai) is a B2B data platform with fresh data on 40M+
companies, 850M+ people, and 30M+ jobs. Search live company, people, and job
data, and enrich incomplete records with work emails, personal emails, and
phone numbers.

Attach `fiber` to an [Exa Agent](https://exa.ai/docs/agent/quickstart.md) run through
[Exa Connect](https://exa.ai/docs/agent/connect/overview.md), and the agent queries
Fiber.ai alongside Exa web search.

## Use it for

* Cleaning up a CRM by reverse-looking-up a work or personal email to a person,
  or enriching a partial company/person record.
* Tracking real-time LinkedIn signals: job changes, promotions, new jobs,
  headcount changes, and fundraising.
* Finding relevant posts across LinkedIn, X, Instagram, TikTok, Reddit, and
  YouTube, pulling their comments and reactions, then enriching the authors'
  contact info.
* Searching across 40M+ companies and 850M+ people and enriching prospects with
  work email, personal email, and phone numbers.

## Provider ID

Use this value in `dataSources`:

```text theme={null}
fiber
```

## Pricing

Fiber.ai bills in credits at `$0.02 / credit`, and each call is charged the
credits Fiber reports for it:

| Operation | Credits |
| - | - |
| Search | 2 + 1 per result returned |
| Company lookup | \~2 per candidate returned |
| Person lookup / email reverse lookup | 2 |
| Contact reveal | 2 (work email) – 5 (phone) |

Calls that return no match (or whose charge Fiber refunds) are free. Parameter
choices change the price: a company lookup's `numResults` sets how many
candidates you pay for, and a search's result count drives most of its cost.

## Example

Build a B2B prospecting list of Series A fintech companies in New York with 50–200 employees.

```python Python theme={null}
from exa_py import Exa

exa = Exa()
run = exa.agent.runs.create(
    query="I'm building a B2B sales prospecting list using a B2B company database. Find Series A fintech companies in New York with 50-200 employees, and for each return the company's LinkedIn profile, domain, employee count, and funding stage.",
    data_sources=[{"provider": "fiber"}],
    output_schema={
        "type": "object",
        "required": ["companies"],
        "properties": {
            "companies": {
                "type": "array",
                "maxItems": 10,
                "items": {
                    "type": "object",
                    "required": ["name", "domain", "employeeCount", "fundingStage"],
                    "properties": {
                        "name": {"type": "string"},
                        "domain": {"type": "string"},
                        "employeeCount": {"type": "number"},
                        "fundingStage": {"type": "string"},
                    },
                },
            }
        },
    },
)
run = exa.agent.runs.poll_until_finished(run.id)
```

```javascript JavaScript theme={null}
import Exa from "exa-js";

const exa = new Exa();
const run = await exa.agent.runs.create({
  query: "I'm building a B2B sales prospecting list using a B2B company database. Find Series A fintech companies in New York with 50-200 employees, and for each return the company's LinkedIn profile, domain, employee count, and funding stage.",
  dataSources: [{ provider: "fiber" }],
  outputSchema: {
    type: "object",
    required: ["companies"],
    properties: {
      companies: {
        type: "array",
        maxItems: 10,
        items: {
          type: "object",
          required: ["name", "domain", "employeeCount", "fundingStage"],
          properties: {
            name: { type: "string" },
            domain: { type: "string" },
            employeeCount: { type: "number" },
            fundingStage: { type: "string" },
          },
        },
      },
    },
  },
});
```

```bash cURL theme={null}
curl -s -X POST "https://api.exa.ai/agent/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $EXA_API_KEY" \
  -d '{
    "query": "I'\''m building a B2B sales prospecting list using a B2B company database. Find Series A fintech companies in New York with 50-200 employees, and for each return the company'\''s LinkedIn profile, domain, employee count, and funding stage.",
    "dataSources": [{ "provider": "fiber" }],
    "outputSchema": {
      "type": "object",
      "required": ["companies"],
      "properties": {
        "companies": {
          "type": "array",
          "maxItems": 10,
          "items": {
            "type": "object",
            "required": ["name", "domain", "employeeCount", "fundingStage"],
            "properties": {
              "name": { "type": "string" },
              "domain": { "type": "string" },
              "employeeCount": { "type": "number" },
              "fundingStage": { "type": "string" }
            }
          }
        }
      }
    }
  }'
```

## Pairs well with

* [Similarweb](https://exa.ai/docs/agent/connect/similarweb.md): size up a prospect's web presence and competitors.
* [Baselayer](https://exa.ai/docs/agent/connect/baselayer.md): verify officers and registrations for shortlisted US businesses.
* [Particle](https://exa.ai/docs/agent/connect/particle.md): find what podcasts are saying about a company or executive.

## Next steps

> [card] [Attach it to a run](https://exa.ai/docs/agent/connect/overview.md)
>
> The Exa Connect quickstart covers `dataSources`, pricing, and the full partner catalog.

> [card] [Combine providers](https://exa.ai/docs/agent/connect/combining-providers.md)
>
> Attach up to five partners to one run and shape the query so each one fires.

> [card] [Learn Exa Agent](https://exa.ai/docs/agent/quickstart.md)
>
> Create runs, stream progress, design output schemas, and control effort and cost.

> [card] [Get an API key](https://dashboard.exa.ai/api-keys?utm_source=docs\&utm_medium=docs\&utm_campaign=connect_provider_card)
>
> Create a key in the dashboard and run this page's example as-is. New accounts start with free credits.
