> ## 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.

# Baselayer

> Verify US businesses and retrieve KYB data: officers, registrations, risk scores.

[Baselayer](https://baselayer.com) is a Know Your Business (KYB) platform that
verifies US entities against authoritative registration and risk data. It
resolves a business by name and address and returns the full profile: officers,
state registrations, entity structure, and verification status.

Attach `baselayer` 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
Baselayer alongside Exa web search.

## Use it for

* KYB onboarding and vendor/customer verification.
* Due diligence on officers, registrations, and entity structure.
* Screening businesses for risk and watchlist hits.

## Provider ID

Use this value in `dataSources`:

```text theme={null}
baselayer
```

## Pricing

Baselayer bills per order, and the rate depends on the operation and its
parameters:

| Operation | Price |
| - | - |
| Business search | `$1.00 / search` |
| Business lookup / officers / registrations / officer reverse lookup | Free (reads of a prior search) |
| Lien search | `$2.00 / state searched` |
| Litigation search | `$1.00 / category (litigation, bankruptcy)` |
| Watchlist screen | `$0.10 – $0.25 / list requested` |
| Industry classification | `$0.35 / call` |
| Website analysis | `$0.35 / call` |
| Web presence | `$0.15 – $0.35 / selected analysis` |
| International business search | `$4.00 / search` |

Parameter choices change the price: a lien search across two states costs
\$4.00, a watchlist screen of all six supported lists costs \$1.35, and a web
presence call is the sum of the analyses you select (or of Baselayer's
default set — NAICS prediction and website analysis — when you select none).

## Example

Verify a business and retrieve its officer and registration details.

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

exa = Exa()
run = exa.agent.runs.create(
    query="Verify the business 'Stripe, Inc.' in San Francisco, CA and return its officers and registration status.",
    data_sources=[{"provider": "baselayer"}],
    output_schema={
        "type": "object",
        "required": ["business"],
        "properties": {
            "business": {
                "type": "object",
                "required": ["name", "verified", "incorporationState", "officers"],
                "properties": {
                    "name": {"type": "string"},
                    "verified": {"type": "boolean"},
                    "incorporationState": {"type": "string"},
                    "officers": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": ["name", "title"],
                            "properties": {
                                "name": {"type": "string"},
                                "title": {"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: "Verify the business 'Stripe, Inc.' in San Francisco, CA and return its officers and registration status.",
  dataSources: [{ provider: "baselayer" }],
  outputSchema: {
    type: "object",
    required: ["business"],
    properties: {
      business: {
        type: "object",
        required: ["name", "verified", "incorporationState", "officers"],
        properties: {
          name: { type: "string" },
          verified: { type: "boolean" },
          incorporationState: { type: "string" },
          officers: {
            type: "array",
            items: {
              type: "object",
              required: ["name", "title"],
              properties: {
                name: { type: "string" },
                title: { 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": "Verify the business Stripe, Inc. in San Francisco, CA and return its officers and registration status.",
    "dataSources": [{ "provider": "baselayer" }],
    "outputSchema": {
      "type": "object",
      "required": ["business"],
      "properties": {
        "business": {
          "type": "object",
          "required": ["name", "verified", "incorporationState", "officers"],
          "properties": {
            "name": { "type": "string" },
            "verified": { "type": "boolean" },
            "incorporationState": { "type": "string" },
            "officers": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["name", "title"],
                "properties": {
                  "name": { "type": "string" },
                  "title": { "type": "string" }
                }
              }
            }
          }
        }
      }
    }
  }'
```

## Pairs well with

* [Fiber.ai](https://exa.ai/docs/agent/connect/fiber.md): enrich a verified business with firmographics, headcount, and contacts.
* [Financial Datasets](https://exa.ai/docs/agent/connect/financialdatasets.md): add recent news coverage for public entities.
* [Similarweb](https://exa.ai/docs/agent/connect/similarweb.md): benchmark a verified company's web traffic and competitors.

## 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.
