Skip to content
SeoData

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.

A developer's desk by a window with a laptop showing a dark terminal and a monitor with a soft line chart, cables and a notebook

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.

  1. Pull keyword positions into your BI tool next to revenue data
  2. Feed new and lost backlinks into a ticketing system
  3. Show domain visibility inside your own client portal
  4. 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.

EndpointWhat it returns
GET /v1/domain/overviewVisibility, estimated organic traffic, keywords in top 10, domain strength and top pages for a domain
GET /v1/backlinksIndividual backlinks with source URL, target URL, anchor, link type and first and last seen dates
GET /v1/referring-domainsReferring domains with strength, link count and new or lost status
GET /v1/keywordsKeyword metrics for a list of terms in a market: volume, difficulty, intent and SERP features
GET /v1/keyword-gapKeywords where competitors rank and your domain does not, or ranks lower
GET /v1/audit/issuesIssues from the latest site audit of a project, with severity and affected URLs
GET /v1/positionsDaily 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.

PlanAPI rows per month
StarterAPI not included
ProAPI not included
Agency100 000
Enterprise1 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.