Developers
Build with Baseline Labs
Everything the app does is an API call. Drive the studies, searches, audits, brand scans and schema generation from your own code over REST, or hand the whole platform to an AI agent over MCP. One key covers both.
Read the API reference Set up MCPKeys are free in your developer console. Reads cost nothing.
Two ways in, one account
REST and MCP are the same platform behind the same API key, the same credit balance and the same permissions as your browser session. Which one you want depends on whether you are writing the code or an agent is.
- One base URL,
https://baselinelabs.ai/api/ - One header,
X-API-Key: bl_your_key - Studies, searches, the eight audits, reports, mentions, backlinks and schema
- Plain JSON back. No envelope, no SDK to install
- 100 requests a day per key, 1,000 on Power, resetting at midnight UTC
- 58 tools across studies, audits, search, schema and tracked sites
- Claude.ai connects as a custom connector, with no key to paste
- Other clients send an
Authorization: Bearerheader - A coding agent can install our bot tracking on your site for you
-
https://baselinelabs.ai/mcp/
Which one do you need?
- I want to script the audits
- Use the REST API. Create a template once, then run Site Pulse, Schema Audit, AI Vision, Reputation, Fan-out or Active Competitors from cron, from CI, or from whatever already owns your reporting. Six audits share one request shape, so the code you write for the first is the code you reuse for the rest.
- I want Claude or another agent to use Baseline
- Set up the MCP server. Your assistant discovers the tools itself and calls them on your behalf, against your account and your credits. In Claude.ai that is a custom connector and a consent screen; everywhere else it is a URL and a bearer token.
- I want the plugin, not code
- Go to Integrations. The WordPress plugin, the Cloudflare Worker and a dependency-free module for everything else all install AI bot tracking and server-side schema injection without an API key or a line of your own code.
How to start
- Get a key. Create one in your developer console. Keys start with
bl_and are shown once. Claude.ai is the exception: approving the connector mints a key named after the app, and you can revoke it from the same screen. - Call an endpoint. Everything hangs off
https://baselinelabs.ai/api/with a singleX-API-Keyheader.POST /api/geo/schema/generatewith{"url": "https://example.com"}returns validated JSON-LD for any public page;GET /api/geo/search/saveslists the studies everything else attaches to. - Read the response shape. Responses are plain JSON with no wrapper: the object is the answer. Credit-spending calls are charged when the call is made rather than when the job finishes, and a rate-limited request comes back 429 carrying
X-RateLimit-Limit,X-RateLimit-RemainingandX-RateLimit-Reset, so backing off needs no guesswork.
What you can build
The same surface the app is built on, so anything you can see in a dashboard you can pull into your own product, notebook or agent.
Google, ChatGPT, Perplexity, Gemini, Google AI Mode, Claude and DeepSeek in one call, with every result stored under a query id you can fetch again.
Run a visibility report from a template and read back per-query rankings across every engine, or pull the whole time series a trend chart is built from.
Create a mention scan from a business profile and read the citations and sentiment back, record by record.
Validated JSON-LD for any public URL, yours or anyone else's, plus the rolling-schema domains and the markup we currently serve for each.
Referring domains and link graphs for a domain, cached per domain so the same rival costs nothing to look up twice.
Create and manage the workspaces everything else attaches to, and read a study's whole competitive picture in a single call.
Common questions
mcp-remote npx shim, because it does not speak HTTP MCP natively. ChatGPT, Cursor and any other client that takes a server URL and an Authorization header work directly. The MCP tab in your console generates the config with your own key already filled in.X-API-Key, MCP from Authorization: Bearer, and both resolve to the same account, the same credit balance and the same permissions your browser session has. Revoking a key in the console cuts off both at once.Start with a key
One key, two surfaces, and no plan to pick before you have tried it. The free tier is 100 requests a day.
Create an API key