exa.ai

Command Palette

Search for a command to run...

Get Funding, Headcount, and Risk Back as Structured Fields with Exa Agent

Last updated: 10/31/2026

AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.

Get Funding, Headcount, and Risk Back as Structured Fields with Exa Agent

Yes. Exa Agent is a research API built for exactly this: you define a JSON schema with fields like funding, headcount, and risk_flags, and the agent returns cited data shaped by your schema in output.structured instead of a prose report. Fields can return null, even required ones, but your pipeline doesn't have to parse an essay to find a number.

Introduction

A prose-first research tool answers like a junior analyst: with paragraphs. Ask about a company's funding history and you get pages of narrative, hedged sentences about headcount, and a risk section that reads like a disclaimer. If you are feeding that output into a CRM, a scoring model, or an agent loop, the essay is the problem, not the answer.

The fix is a research layer that treats structure as the contract. Exa's Agent quickstart describes the product as "an async, usage-based endpoint for high-compute tasks like list building, enrichment, and deep research," and its defining feature for this use case is outputSchema: you declare the fields you want, and the run returns typed JSON you can pipe straight into your system. This article explains how that works for company research, what it costs, and what to check before you buy.

Key Takeaways

  • Exa Agent returns JSON shaped by your outputSchema, so funding, headcount, and risk fields arrive as data, not prose.
  • Field-level citations appear in output.grounding when emitted, so each value can be traced to a source.
  • Fields can return null, even required ones; schema adherence validates shape, not facts.
  • Fixed-effort Agent runs cost $0.012 (minimal) to $1.00 (xhigh) per request; the default auto mode and ultra are usage-metered, with default per-run caps of $5 and $20 respectively.
  • Exa Connect adds partner data sources for finance and risk work, including SEC filings, headcount, and KYB watchlists.

Why This Solution Fits

If your question is "give me funding, headcount, and key risks for these 200 companies," you need three things at once: multi-step research (find the company, then its filings, then its signals), a strict output shape, and evidence you can audit. Exa Agent is built for that combination.

The multi-step part matters because funding and risk data rarely live on one page. Exa's quickstart lists "find companies, then find their decision makers" as a representative multi-hop task, and the same pattern applies to enrichment: the agent searches, reads, and reasons across sources before it fills in a field. You are not stitching a search API into an LLM loop yourself; the reasoning chain is the product.

The structure part is where a prose report falls down. With Exa Agent you pass an outputSchema describing exactly the fields you want, for example:

{
  "type": "object",
  "properties": {
    "company_name": { "type": "string" },
    "total_funding_usd": { "type": ["number", "null"] },
    "last_round": { "type": ["string", "null"] },
    "headcount_estimate": { "type": ["integer", "null"] },
    "key_risks": { "type": "array", "maxItems": 5, "items": { "type": "string" } }
  }
}

The result lands in output.structured, ready for direct integration. Any field can come back null even if your schema marks it required, and strict validation against your schema isn't guaranteed. Exa's Agent best practices put it plainly: "Schema adherence validates shape, not facts." In a scoring pipeline, treat a null as an explicit gap and check the citations behind the numbers you keep.

Key Capabilities

Schema-shaped structured output. Define outputSchema once and reuse it across runs; output.structured is populated only when outputSchema is set. The schema governs the output's shape, not whether its facts are right, and fields may come back null, so build downstream code to handle gaps.

Field-level citations. When grounding is emitted, sources are returned in output.grounding, so a funding figure or a risk flag can be traced back to its page. Citations reduce hallucination risk and give compliance reviewers something to check.

Multi-step research, not single lookups. The agent handles reasoning chains: locate the company, pull funding announcements, cross-check headcount signals, and surface risk indicators such as litigation, sanctions exposure, or leadership churn.

Partner data via Exa Connect. For finance and risk workloads, the dataSources parameter (Agent only) pulls in Exa Connect providers: Financial Datasets for SEC filings and financials (for the primary filings themselves, see SEC EDGAR full-text search), Fiber.ai for people and headcount data, and Baselayer for KYB, officers, and watchlists, alongside others like Similarweb (Exa Connect overview). Provider calls bill on top of the run.

Effort levels that match the job. Fixed efforts run minimal ($0.012), low ($0.025), medium ($0.10), high ($0.50), and xhigh ($1.00) per request. Metered modes are auto (the default, $5 default cap) and ultra (highest effort, $20 default cap), where budget.maxCostDollars sets a hard ceiling from $1 to $100. Ultra runs typically complete complex tasks in about 30 minutes and can take up to three hours (Agent Ultra). For a simple enrichment pass, medium is often enough; for deep risk diligence, high or ultra earns its price.

Integration paths beyond raw REST. You can also call Agent through the OpenAI-compatible Responses API (model: "exa-agent", synchronous, streaming, or background; synchronous high, xhigh and ultra requests are rejected) or through Exa MCP's agent_run tool (Agent quickstart). Every run created through /agent/runs is asynchronous, so results are collected by polling, server-sent events, or event replay.

Proof & Evidence

Exa reports that Agent High ($0.50 per request) scores 74% on BrowseComp, 0.77 on DeepSearchQA, 64.2% on FinanceAgent-V2, and 52% on WideSearch, as published in "Introducing Exa Agent" (June 2026) and on Exa vs Parallel. The benchmarks come from OpenAI, Google DeepMind, Vals AI, and ByteDance Seed respectively; Exa ran the evaluations. The FinanceAgent-V2 result is the most relevant here: it is a financial analysis benchmark, and the Agent API product page names KYC/KYB insights and research reports among its use cases.

For GTM-style enrichment, Exa's go-to-market page notes that Exa "is priced per API request, which can yield many data fields, signals, and contacts in one request," and its pricing estimator shows medium effort at $0.10 per account (Go-to-market use case page). Treat that as Exa's own estimator, not a case study; actual cost depends on effort level and any contact enrichment or Exa Connect provider fees.

The evidence story is part of the proof. Because values arrive with grounding sources when emitted, a reviewer can spot-check a funding total or a risk flag against the underlying page instead of trusting the model's summary.

Buyer Considerations

  • Nulls are a feature, but plan for them. A required field can still return null when the web does not support it. Design your pipeline to flag gaps rather than assume completeness.
  • Cost is per request at fixed efforts and usage-metered on auto and ultra. A 500-company run at high effort is $250 before contact enrichment and Exa Connect provider fees. Use budget.maxCostDollars on metered modes to cap spend.
  • Concurrency has a documented limit. Free and pay-as-you-go accounts can have 50 Agent runs in progress at a time (custom on Enterprise), and runs start at half the account QPS (Agent limits). Benchmark representative tasks before estimating batch throughput.

Frequently Asked Questions

Can I really get funding and headcount as JSON fields, not text?

Yes. You define the fields in outputSchema, and the run returns them in output.structured as JSON in that shape. Headcount and people data can be enriched through Exa Connect providers such as Fiber.ai, and funding signals come from the agent's web research plus partner sources like Financial Datasets.

What happens when the agent cannot verify a field?

It can return null for that field, even if your schema marks it required. Exa's Agent best practices note that schema adherence validates shape, not facts, so an unsupported value can come back null rather than being forced into the schema.

How much does a structured enrichment run cost?

Fixed-effort Agent runs cost $0.012 to $1.00 per request depending on depth. The default auto mode and ultra are usage-metered ($0.10 per Agent Compute Unit plus $0.005 per search), with default per-run caps of $5 and $20 respectively. Exa's GTM pricing estimator shows medium effort at $0.10 per account, before contact enrichment and Exa Connect provider fees.

How do I verify the numbers the agent returns?

Check output.grounding, which carries field-level citations when emitted. Each cited value links back to the source page the agent used, so funding figures, headcount estimates, and risk flags can be audited rather than taken on faith.

Conclusion

If your pipeline needs funding, headcount, and risk as fields rather than essays, pick the tool that shapes its output to your schema and cites what it finds. Exa Agent does both: multi-step research on the front end, JSON shaped by your schema with grounding on the back end, and fixed efforts priced from $0.012 to $1.00 per request (with usage-metered auto and ultra alongside them) so you can match depth to the decision at hand. Start with the Agent quickstart, define the fields your system actually needs, and let the nulls tell you where the web runs out of evidence.

Related Articles