Build with Fiber
Connect Fiber through MCP, the REST API, TypeScript and Python SDKs, the AI plugin, or OpenFiber — then consume results with webhooks or polling.
We expose one API and several ways to reach it. Pick the surface that matches how you work: an agent in your editor, typed code in an app, a forkable UI, or plain HTTP. Auth is the same API key everywhere except MCP V3, which signs you in with OAuth.
This page is the map. Schemas, operation IDs, and live examples live on api.fiber.ai/docs. Agents should start at api.fiber.ai/llms.txt rather than guessing paths from training data.
Put Fiber in, then get data out. MCP, SDKs, the plugin, and OpenFiber are how you call Fiber. Webhooks and polling are how results come back when the work is async.
What it does
- Choose a surface — agent, SDK, raw HTTP, plugin, or a reference UI.
- Authenticate with a key from fiber.ai/app/api
(
FIBER_API_KEY), or OAuth on MCP V3. - Call operations (search, enrich, track, export) and read
chargeInfofor the real cost. - Subscribe or poll when the job is async.
Ways to put Fiber in
| Surface | Best for | Start here |
|---|---|---|
| MCP | Plain-English data requests from a coding agent or chat UI | MCP for AI agents |
| REST API | Full programmatic control, any language | api.fiber.ai/docs |
| SDKs | TypeScript (npm install @fiberai/sdk) or Python (pip install fiberai) with typed models | SDKs |
| AI plugin | MCP servers, skills, and rules in one install — Claude Code, Cursor, Gemini CLI | Developing with AI agents |
| OpenFiber | A working prospecting UI you can fork | github.com/fiber-ai/open-fiber |
MCP
Remote MCP servers (V2 key, V3 OAuth, Core meta-tools) for Claude, ChatGPT, Cursor, Codex, and more.
SDKs
Official TypeScript and Python clients — typed requests, typed responses, chargeInfo on every call.
AI agents
Plugin from fiber-ai/fiber-ai-plugin, skills, and Context7 for live SDK docs while the agent writes code.
Building UIs
The pattern book for your own web UI — typeahead autocomplete, live match counts, cursor pagination, async-job progress, credits on screen.
API keys
Create, pass, sandbox, limit, and revoke keys. Dashboard plus API.
Ways to consume results
| Channel | Best for | Start here |
|---|---|---|
| Webhooks | JSON pushed to you when a job finishes or a tracked entity changes | Webhooks |
| API & polling | Pulling pages and async job status on your schedule | api.fiber.ai/docs |
| Dashboard | Browse, filter, and export without writing code | Using the UI |
What every response looks like
Every successful call returns the same envelope, whichever surface you use:
{
"output": { "...": "the data you asked for" },
"chargeInfo": { "method": "charged-now", "creditsCharged": 2 },
"warnings": [{ "field": "pagesize", "message": "You passed an extraneous field 'pagesize'. Did you mean to pass this field somewhere else? ..." }],
"advice": ["..."]
}| Field | What it's for |
|---|---|
output | The result: a page of companies, a revealed contact, a job ID |
chargeInfo | What this call cost, and how it was billed. See billing |
warnings | Request fields we didn't recognize, each as a field and a message. Today an unknown field doesn't fail the call, so a typo shows up here instead of silently doing nothing. A future API version will reject unknown fields, so fix anything that appears here |
advice | Short hints about using this operation well, written for people and agents |
Requests can be up to 5 MB. Errors return a status code with a readable
message; a server error includes a 6-digit errorCode to quote to support.
Using it effectively
Agents: plugin or MCP first. Install
fiber-ai/fiber-ai-plugin when
your host supports plugins; otherwise add MCP V2 with x-api-key. Point the
agent at llms.txt so it does not invent
routes.
Apps: SDK, then webhooks. Prototype a call in the SDK, then attach webhooks for batch reveal, exhaustive enrich, and Tracker signals instead of tight poll loops.
Need a UI tomorrow? Walk the UI patterns guide,
then fork OpenFiber and work in
nextjs/:
git clone https://github.com/fiber-ai/open-fiber.git
cd open-fiber/nextjs
cp .env.example .env
# set FIBER_API_KEY in .env
npm install
npm run devRead chargeInfo. Published rates can differ per org. The field on the
response is the amount that was charged — billing.
Use cases
Editor-native prospecting. Claude Code or Cursor with the plugin: /fiber:search,
/fiber:enrich, /fiber:audience. Skills and MCP are installed together.
Production enrich in your backend. @fiberai/sdk with standard or batch
contact reveal, key in the environment, webhook on completion.
Custom CRM or internal tool. Copy patterns from OpenFiber; keep your own UI. The REST spec stays the source of truth for shapes.
The contact-reveal operations behind the backend path:
| Operation | What it does | Reference |
|---|---|---|
| Contact reveal (normal) | Verified emails and phones for one person, inline | syncQuickContactReveal |
| Contact reveal (batch, start) | Queue contact reveal for many identifiers at once | startBatchContactDetails |
Credits
Surfaces do not have a separate price list. Each call bills like the
underlying operation. Key management is free. chargeInfo is authoritative —
Billing & credits. Credit amounts are defaults — custom pricing is
available for bulk use cases.
Related: API keys · MCP · SDKs · Building UIs · AI agents · Webhooks
API keys
Create a Fiber API key, pass it on every request, give each key its own credit limit, and manage sandbox keys, expiration, and revocation.
Sync vs async
Which Fiber operations return in one call, which run as background jobs, how batch jobs are charged, and how to paginate every family correctly.