SEO API

SEO Domain pages API

Get AnyAPI SEO pages of a domain with their backlink profile (rank, backlinks, referring domains) and on-page data (title, headings, word count, status, technologies) as normalized JSON.

$0.08/1k results, pay per request, no subscription.

What the API returnedpages[0]
{
"url": "https://notion.so/templates",
"domain": "notion.so",
"mainDomain": "notion.so",
"tld": "so",
"ip": "104.18.9.126",
"statusCode": 200,
"server": "cloudflare",
"mediaType": "text/html",
... 42 more fields
}
Uptime
100.00%
30d · 6 calls
Requests
6
30d
Response
4.3s
median · 30d

Pricing

SEO Domain pages API pricing

You pay
$0.80
$0.08/1k results, only for what you use. No monthly plan.
One request costs at most $0.0768 (960 results).
The $0.10 starting balance covers at least 1 requests.

Call it

Get SEO domain pages in one request

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/seo.domain_pages",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={
        "target": ""
    },
)
print(res.json())
Open in
Get a free key
Sample response

This sample shows 53 of 55 fields. See every field

{
  "found": true,
  "data": {
    "totalCount": 88213,
    "pages": [
      {
        "url": "https://notion.so/templates",
        "domain": "notion.so",
        "mainDomain": "notion.so",
        "tld": "so",
        "ip": "104.18.9.126",
        "statusCode": 200,
        "server": "cloudflare",
        "mediaType": "text/html",
        "contentEncoding": "br",
        "size": 214088,
        "encodedSize": 61200,
        "firstVisitedUtc": 1451606400,
        "previousVisitedUtc": 1756166400,
        "fetchedUtc": 1758844800,
        "title": "Notion Template Gallery",
        "canonical": "https://notion.so/templates",
        "language": "en",
        "charset": "utf-8",
        "internalLinks": 212,
        "externalLinks": 8,
        "imagesCount": 44,
        "wordsCount": 2104,
        "pageSpamScore": 1,
        "h1": [
          "Templates for every team"
        ],
        "h2": [
          "Product",
          "Engineering",
          "Marketing",
          "Design"
        ],
        "h3": [
          "Roadmap planner",
          "Sprint board"
        ],
        "platformTypes": [
          "software",
          "productivity"
        ],
        "socialTags": {
          "og:title": "Notion Template Gallery",
          "og:image": "https://notion.so/og.png"
        },
        "technologies": {
          "cdn": [
            "Cloudflare"
          ],
          "analytics": [
            "Segment"
          ]
        },
        "rank": 812,
        "backlinks": 41204,
        "spamScore": 2,
        "brokenBacklinks": 61,
        "brokenPages": 12,
        "referringDomains": 3210,
        "referringDomainsNofollow": 812,
        "referringMainDomains": 2988,
        "referringMainDomainsNofollow": 611,
        "referringIps": 2601,
        "referringSubnets": 1904,
        "referringPages": 9812,
        "referringPagesNofollow": 2104,
        "firstSeenUtc": 1451606400,
        "linksByTld": {
          "com": 2100,
          "io": 412
        },
        "linksByType": {
          "anchor": 40100
        },
        "linksByAttribute": {
          "nofollow": 8100
        },
        "linksByPlatformType": {
          "blogs": 31000
        },
        "linksBySemanticLocation": {
          "article": 38000
        },
        "linksByCountry": {
          "us": 29000
        }
      },
      {
        "url": "https://notion.so/product/ai",
        "domain": "notion.so",
        "mainDomain": "notion.so",
        "tld": "so",
        "ip": "104.18.9.126",
        "statusCode": 200,
        "server": "cloudflare",
        "title": "Notion AI",
        "canonical": "https://notion.so/product/ai",
        "language": "en",
        "internalLinks": 168,
        "externalLinks": 4,
        "imagesCount": 21,
        "wordsCount": 1420,
        "pageSpamScore": 1,
        "h1": [
          "Notion AI"
        ],
        "h2": [
          "Write faster",
          "Find answers instantly"
        ],
        "rank": 744,
        "backlinks": 18044,
        "referringDomains": 1902,
        "referringMainDomains": 1740,
        "referringPages": 4108,
        "firstSeenUtc": 1690848000
      },
      {
        "url": "https://notion.so/pricing",
        "domain": "notion.so",
        "mainDomain": "notion.so",
        "tld": "so",
        "statusCode": 200,
        "title": "Notion Pricing",
        "canonical": "https://notion.so/pricing",
        "language": "en",
        "internalLinks": 96,
        "externalLinks": 2,
        "wordsCount": 812,
        "h1": [
          "Pricing"
        ],
        "rank": 701,
        "backlinks": 9812,
        "referringDomains": 1104,
        "referringMainDomains": 988,
        "referringPages": 2601,
        "firstSeenUtc": 1420070400
      }
    ]
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-11-08 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • targetstring

    notion.so

    Domain or subdomain to list pages for, without a protocol or leading www.

  • includeSubdomainsboolean

    true

    Count links pointing at the target's subdomains as well as the target itself.

  • limitinteger

    10

    Maximum number of pages to return. You are billed per returned result, so a lower limit costs less.

  • statusenum

    live

    Count backlinks that are live now, ones that have been lost, or both.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each pagedata.pages[]

Pages of the domain with their backlink and on-page data. Populated whenever the provider has data for the entity.

  • backlinksinteger

    41204

    Backlinks counted. Populated whenever the provider has data for the entity.

  • brokenBacklinksinteger

    61

    Backlinks pointing at pages that no longer resolve.

  • brokenPagesinteger

    12

    Linked pages with an error status.

  • canonicalstring

    https://notion.so/templates

    Canonical URL declared by the page.

  • charsetstring

    utf-8

    Character set of the page.

  • contentEncodingstring

    br

    Content encoding of the response.

  • domainstring

    notion.so

    Host of the page. Populated whenever the provider has data for the entity.

  • encodedSizeinteger

    61200

    Encoded page size in bytes.

  • externalLinksinteger

    8

    Outbound links on the page.

  • fetchedUtcnumber

    1758844800

    When the page was last crawled. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • firstSeenUtcnumber

    1451606400

    When the first of these backlinks was seen. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • firstVisitedUtcnumber

    1451606400

    When the page was first crawled. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • h1string[]

    H1 headings on the page.

  • h2string[]

    H2 headings on the page.

  • h3string[]

    H3 headings on the page.

  • imagesCountinteger

    44

    Images on the page.

  • internalLinksinteger

    212

    Internal links on the page.

  • ipstring

    104.18.9.126

    IP address the page was fetched from.

  • languagestring

    en

    Language code of the page.

  • linksByAttributeobject

    Count of these backlinks, by rel attribute (nofollow, sponsored, ugc, noopener, and so on).

  • linksByCountryobject

    Count of these backlinks, by country code of the linking domain. An empty key means the country is unknown.

  • linksByPlatformTypeobject

    Count of these backlinks, by type of linking site (blogs, news, ecommerce, and so on).

  • linksBySemanticLocationobject

    Count of these backlinks, by the page section holding the link (article, footer, nav, and so on). An empty key means no section was detected.

  • linksByTldobject

    Count of these backlinks, by top-level domain of the linking page.

  • linksByTypeobject

    Count of these backlinks, by link type (anchor, image, redirect, canonical, alternate).

  • lostUtcnumber

    When the last of these backlinks was lost, if they were. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • mainDomainstring

    notion.so

    Registrable domain of the page.

  • mediaTypestring

    text/html

    Media type of the page.

  • pageSpamScoreinteger

    1

    Spam score of the page on a 0-100 scale.

  • platformTypesstring[]

    Site types detected, such as blogs, news, or ecommerce.

  • previousVisitedUtcnumber

    1756166400

    When the page was crawled before the last time. UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • rankinteger

    812

    Authority rank on a 0-1000 scale. Populated whenever the provider has data for the entity.

  • referringDomainsinteger

    3210

    Distinct linking domains.

  • referringDomainsNofollowinteger

    812

    Linking domains whose every link is nofollow.

  • referringIpsinteger

    2601

    Distinct IP addresses of linking pages.

  • referringMainDomainsinteger

    2988

    Distinct linking registrable domains.

  • referringMainDomainsNofollowinteger

    611

    Linking registrable domains whose every link is nofollow.

  • referringPagesinteger

    9812

    Distinct linking pages.

  • referringPagesNofollowinteger

    2104

    Linking pages whose links are all nofollow.

  • referringSubnetsinteger

    1904

    Distinct subnets of linking pages.

  • serverstring

    cloudflare

    Web server or CDN serving the page.

  • sizeinteger

    214088

    Page size in bytes.

  • socialTagsobject

    Open Graph and Twitter card tags, by tag name.

  • spamScoreinteger

    2

    Average spam score of those backlinks on a 0-100 scale.

  • statusCodeinteger

    200

    HTTP status of the page on the last crawl.

  • technologiesobject

    Technologies detected on the page, by category.

  • titlestring

    Notion Template Gallery

    Page title.

  • tldstring

    so

    Top-level domain of the page.

  • urlstring

    https://notion.so/templates

    Page URL. Populated whenever the provider has data for the entity.

  • wordsCountinteger

    2104

    Words on the page.

datadata
  • totalCountinteger

    88213

    Total pages, before the limit. Populated whenever the provider has data for the entity.

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the SEO Domain pages API

The AnyAPI SEO Domain pages API returns SEO domain pages data as normalized JSON from one POST call to /v1/run/seo.domain_pages. Get AnyAPI SEO pages of a domain with their backlink profile (rank, backlinks, referring domains) and on-page data (title, headings, word count, status, technologies) as normalized JSON. AnyAPI returns one normalized schema whichever source serves it. It costs $0.08 per 1,000 results, and never more than $0.0768 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of SEO domain pages calls through AnyAPI succeeded, with a median response time of 4.3 seconds across 6 measured calls.

It costs $0.08 per 1,000 results, and never more than $0.0768 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Get AnyAPI SEO pages of a domain with their backlink profile (rank, backlinks, referring domains) and on-page data (title, headings, word count, status, technologies) as normalized JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of SEO domain pages calls through AnyAPI succeeded, with a median response time of 4.3 seconds across 6 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers at least 1 SEO Domain pages calls at up to $0.0768 each.

Send a POST request to https://api.getanyapi.com/v1/run/seo.domain_pages with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.