SEO API for domain, backlink and keyword data
The SeoData API gives your dashboards, client portals and data warehouse the same data you see in the app. It is a plain REST API with JSON responses, one API key per workspace and a clear monthly row quota on the Agency and Enterprise plans.
Built for data teams and agencies with their own tools
Use the API when the data has to live somewhere else: a BI dashboard, an internal reporting pipeline, a client portal or a spreadsheet that refreshes every morning.
- Pull keyword positions into your BI tool next to revenue data
- Feed new and lost backlinks into a ticketing system
- Show domain visibility inside your own client portal
- Export audit issues to the tracker your developers already use
Endpoints
Every endpoint takes a GET request and returns JSON. Lists are paginated with limit and offset parameters.
| Endpoint | What it returns |
|---|---|
| GET /v1/domain/overview | Visibility, estimated organic traffic, keywords in top 10, domain strength and top pages for a domain |
| GET /v1/backlinks | Individual backlinks with source URL, target URL, anchor, link type and first and last seen dates |
| GET /v1/referring-domains | Referring domains with strength, link count and new or lost status |
| GET /v1/keywords | Keyword metrics for a list of terms in a market: volume, difficulty, intent and SERP features |
| GET /v1/keyword-gap | Keywords where competitors rank and your domain does not, or ranks lower |
| GET /v1/audit/issues | Issues from the latest site audit of a project, with severity and affected URLs |
| GET /v1/positions | Daily positions of tracked keywords in a project, by market and device |
The same filters you use in the app work in the API: market, device, date range, new or lost, and minimum strength.
Authentication with an API key
Create an API key in Settings, then API. Send it in the Authorization header of every request. Keys belong to the workspace, can be rotated at any time and can be limited to read-only access for specific projects.
GET /v1/domain/overview?domain=example.com&market=us HTTP/1.1
Host: api.seodata.ai
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Response format
Every response has the same envelope: the request parameters, the data rows and the quota state. The block below shows the field types of the domain overview response.
{
"request": {
"endpoint": "domain/overview",
"domain": "example.com",
"market": "string"
},
"data": {
"domain": "example.com",
"visibility": "number",
"organic_traffic_estimate": "integer",
"keywords_top_10": "integer",
"domain_strength": "integer",
"top_pages": [
{
"url": "string",
"traffic_estimate": "integer",
"top_keyword": "string"
}
]
},
"meta": {
"rows_returned": "integer",
"rows_used_this_period": "integer",
"rows_quota": "integer",
"period_ends_at": "string"
}
}
Errors use standard HTTP status codes with a JSON body that names the problem, such as an invalid domain, a missing key or an exhausted quota.
Row quotas per plan
API usage is counted in rows. Each record returned, such as one backlink, one keyword or one tracked position, counts as one row. The quota renews with each billing period, and the meta block of every response shows what is left.
| Plan | API rows per month |
|---|---|
| Starter | API not included |
| Pro | API not included |
| Agency | 100 000 |
| Enterprise | 1 000 000 |
When the quota runs out, requests return a quota error until the next period. Upgrading the plan raises the quota right away. Compare plans on SeoData pricing.
The same data as the app
The API reads from the same sources as the app: licensed data partners and our own crawler that respects robots.txt. Tracked positions update daily, link and domain metrics refresh continuously. The full method is on data and methodology. Audit endpoints return results from your site audit projects, and position endpoints from daily position tracking.
API questions
Do API calls use my app lookups?
No. API rows and app lookups are separate limits.
Can I call the API from a browser?
Keep the key on your server. Keys sent from a browser can be copied by anyone who opens the page.
Is there a rate limit?
Yes, a per-second limit protects the service. The response headers show the current state, and short bursts are handled without errors.
Which plans include the API?
Agency and Enterprise. See SEO software for agencies for the full Agency plan.
Put SeoData data where your team works
Create your account on Agency or Enterprise, generate an API key and make your first request in minutes.