{
  "openapi": "3.1.0",
  "info": {
    "title": "Linkheft API API",
    "version": "1.0.0",
    "summary": "Bulk domain authority API: for up to 50 domains per call, a 0-100 authority score, the Common Crawl web-graph harmonic and PageRank ranks, host count, previous rank and trend (rising/stable/falling), Majestic Million rank, referring subnets and IPs, and found true/false. Open data (Common Crawl + Majestic Million), 10,296,726 domains. REST + MCP server.",
    "description": "Send up to 50 domains, URLs or emails and get each one's 0-100 authority score, its rank among 133,241,980 domains in the Common Crawl web graph, its trend since the last release, and its Majestic Million rank and referring subnets. For SEO tools, link builders, lead scoring and AI agents. 1,000 free lookups a day, no key; plans from $19/month.\n\nFree tier: Up to 50 domains, URLs or emails per call; 10 calls a minute per IP on the free tier. Free tier: 1,000 domain lookups a day per IP, no key. Paid keys from $19/month (see Get an API key). Each domain in a call counts as one lookup (duplicates in the same call count once). Failed calls are not counted. Data: Common Crawl web graph cc-main-2026-jul-aug-sep (133,241,980 domains, top 10 million kept) + Majestic Million 2026-09-23; refreshed when a new web graph ships (about every 3-4 months). Authority is a transparent log-scale of the open web-graph rank, not Moz DA or Ahrefs DR; use it to compare and sort sites. No key needed. Remote MCP server: https://linkheft-api.cybermax-tools.workers.dev/mcp\n\nPricing: free tier 1000 domain lookups/day per IP, no key. Paid API keys: Prospector $19/month = 100,000 domain lookups/month; Agency $49/month = 500,000 domain lookups/month; Platform $99/month = 2,000,000 domain lookups/month; Pay as you go $5 = 25,000 domain lookups (one-time pack); Prospector yearly $190/year = 100,000 domain lookups/month; Agency yearly $490/year = 500,000 domain lookups/month; Platform yearly $990/year = 2,000,000 domain lookups/month. Get a key: https://linkheft-api.cybermax-tools.workers.dev/docs#pricing",
    "contact": {
      "name": "CyberMax",
      "url": "https://cybermax-tools-cybermax.static.hf.space/"
    },
    "license": {
      "name": "Proprietary (free tier + paid API keys)",
      "identifier": "LicenseRef-CyberMax"
    },
    "x-pricing": {
      "api": "Linkheft API",
      "currency": "USD",
      "free": {
        "price": 0,
        "callsPerDayPerIp": 1000,
        "perMinutePerIp": 10,
        "key": "none needed"
      },
      "plans": [
        {
          "id": "prospector",
          "name": "Prospector",
          "price": 19,
          "billing": "per month",
          "calls": 100000,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/prospector?s=openapi"
        },
        {
          "id": "agency",
          "name": "Agency",
          "price": 49,
          "billing": "per month",
          "calls": 500000,
          "per": "calendar month (UTC)",
          "perMinute": 60,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/agency?s=openapi"
        },
        {
          "id": "platform",
          "name": "Platform",
          "price": 99,
          "billing": "per month",
          "calls": 2000000,
          "per": "calendar month (UTC)",
          "perMinute": 120,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/platform?s=openapi"
        },
        {
          "id": "payg",
          "name": "Pay as you go",
          "price": 5,
          "billing": "one-time",
          "calls": 25000,
          "per": "until used",
          "perMinute": 30,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/payg?s=openapi"
        },
        {
          "id": "prospector-yearly",
          "name": "Prospector yearly",
          "price": 190,
          "billing": "per year",
          "calls": 100000,
          "per": "calendar month (UTC)",
          "perMinute": 30,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/prospector-yearly?s=openapi"
        },
        {
          "id": "agency-yearly",
          "name": "Agency yearly",
          "price": 490,
          "billing": "per year",
          "calls": 500000,
          "per": "calendar month (UTC)",
          "perMinute": 60,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/agency-yearly?s=openapi"
        },
        {
          "id": "platform-yearly",
          "name": "Platform yearly",
          "price": 990,
          "billing": "per year",
          "calls": 2000000,
          "per": "calendar month (UTC)",
          "perMinute": 120,
          "buy": "https://linkheft-api.cybermax-tools.workers.dev/buy/platform-yearly?s=openapi"
        }
      ],
      "unit": "domain lookups",
      "howToUse": {
        "header": "x-api-key: YOUR_KEY",
        "alt": [
          "Authorization: Bearer YOUR_KEY",
          "?key=YOUR_KEY"
        ],
        "mcp": "send the key as Authorization: Bearer YOUR_KEY",
        "usage": "https://linkheft-api.cybermax-tools.workers.dev/key"
      },
      "manageKey": "https://linkheft-api.cybermax-tools.workers.dev/manage",
      "payments": "Stripe Checkout: card, Apple Pay, Google Pay, Link; sales tax/VAT handled by Stripe. Cancel any time at https://linkheft-api.cybermax-tools.workers.dev/manage."
    }
  },
  "servers": [
    {
      "url": "https://linkheft-api.cybermax-tools.workers.dev"
    }
  ],
  "paths": {
    "/api/rank": {
      "get": {
        "tags": [
          "Linkheft API"
        ],
        "summary": "Authority score, web rank, trend and Majestic links for up to 50 domains",
        "description": "For each domain (URLs and emails are reduced to their domain; subdomains fall back to the registrable domain): found, authorityScore (0-100), tier, webGraphRank, topPercent, trend and rankChangePct, commonCrawl { harmonicRank, pageRankRank, hosts, prevHarmonicRank, release, prevRelease }, majestic { globalRank, refSubnets, refIps, date }. The response also carries the data release and as-of date.",
        "operationId": "domainAuthorityGet",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "description": "One domain, URL or email, or up to 50 separated by commas, spaces or new lines (or POST {\"domains\": [...]}). Subdomains fall back to their registrable domain.",
            "schema": {
              "type": "string"
            },
            "example": "stripe.com,notion.so"
          },
          {
            "name": "sortBy",
            "in": "query",
            "required": false,
            "description": "input (default: the order you sent) or score (highest authority first)",
            "schema": {
              "type": "string",
              "enum": [
                "input",
                "score"
              ],
              "default": "input"
            }
          },
          {
            "name": "minScore",
            "in": "query",
            "required": false,
            "description": "Only return ranked domains with at least this authority score (0-100); unranked and invalid rows are kept",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "release": "cc-main-2026-jul-aug-sep",
                  "asOf": "2026-09-23",
                  "prevRelease": "cc-main-2026-mar-apr-may",
                  "totalDomains": 133241980,
                  "rows": 10296726,
                  "majesticDate": "2026-09-23",
                  "dataset": "https://huggingface.co/datasets/CyberMax-tools/open-domain-ranks",
                  "datasetRevision": "da697c9772146788a464d6829c6cbdddf6b8fca3",
                  "attribution": "Common Crawl Web Graph (commoncrawl.org); Majestic Million by Majestic-12 Ltd, CC BY 3.0 (majestic.com/reports/majestic-million).",
                  "count": 8,
                  "found": 7,
                  "notFound": 1,
                  "results": [
                    {
                      "input": "wikipedia.org",
                      "domain": "wikipedia.org",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 86,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 100",
                      "webGraphRank": 14,
                      "topPercent": 0.0000105,
                      "trend": "stable",
                      "rankChangePct": 6.7,
                      "commonCrawl": {
                        "harmonicRank": 14,
                        "pageRankRank": 35,
                        "hosts": 2050,
                        "prevHarmonicRank": 15,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 11,
                        "refSubnets": 229583,
                        "refIps": 711196,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 229583
                    },
                    {
                      "input": "stripe.com",
                      "domain": "stripe.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 78,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 100",
                      "webGraphRank": 64,
                      "topPercent": 0.000048,
                      "trend": "stable",
                      "rankChangePct": -1.6,
                      "commonCrawl": {
                        "harmonicRank": 64,
                        "pageRankRank": 66,
                        "hosts": 95,
                        "prevHarmonicRank": 63,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 140,
                        "refSubnets": 51463,
                        "refIps": 137486,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 51463
                    },
                    {
                      "input": "blog.hubspot.com",
                      "domain": "hubspot.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 70,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 277,
                      "topPercent": 0.000208,
                      "trend": "stable",
                      "rankChangePct": -19.5,
                      "commonCrawl": {
                        "harmonicRank": 277,
                        "pageRankRank": 189,
                        "hosts": 569,
                        "prevHarmonicRank": 223,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 189,
                        "refSubnets": 41084,
                        "refIps": 98021,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 41084
                    },
                    {
                      "input": "ahrefs.com",
                      "domain": "ahrefs.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 65,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 717,
                      "topPercent": 0.000538,
                      "trend": "stable",
                      "rankChangePct": -5.7,
                      "commonCrawl": {
                        "harmonicRank": 717,
                        "pageRankRank": 433,
                        "hosts": 37,
                        "prevHarmonicRank": 676,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 823,
                        "refSubnets": 17227,
                        "refIps": 42844,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 17227
                    },
                    {
                      "input": "notion.so",
                      "domain": "notion.so",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 64,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 810,
                      "topPercent": 0.000608,
                      "trend": "stable",
                      "rankChangePct": 4.6,
                      "commonCrawl": {
                        "harmonicRank": 810,
                        "pageRankRank": 1105,
                        "hosts": 37,
                        "prevHarmonicRank": 849,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 754,
                        "refSubnets": 18243,
                        "refIps": 43269,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 18243
                    },
                    {
                      "input": "moz.com",
                      "domain": "moz.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 64,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 802,
                      "topPercent": 0.000602,
                      "trend": "stable",
                      "rankChangePct": -4.2,
                      "commonCrawl": {
                        "harmonicRank": 802,
                        "pageRankRank": 1093,
                        "hosts": 33,
                        "prevHarmonicRank": 768,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 758,
                        "refSubnets": 18196,
                        "refIps": 41635,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 18196
                    },
                    {
                      "input": "cybermax-tools.workers.dev",
                      "domain": "workers.dev",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 61,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 10,000",
                      "webGraphRank": 1486,
                      "topPercent": 0.00112,
                      "trend": "rising",
                      "rankChangePct": 20.1,
                      "commonCrawl": {
                        "harmonicRank": 1486,
                        "pageRankRank": 1204,
                        "hosts": 15019,
                        "prevHarmonicRank": 1860,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 1659,
                        "refSubnets": 10888,
                        "refIps": 37428,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 10888
                    },
                    {
                      "input": "tiny-new-site-example-xyz.com",
                      "domain": "tiny-new-site-example-xyz.com",
                      "found": false,
                      "status": "unranked",
                      "authorityScore": null,
                      "tier": "unranked",
                      "note": "Not in the top 10,000,000 of 133,241,980 domains in the Common Crawl web graph, nor in the Majestic Million."
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (1000/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Linkheft API"
        ],
        "summary": "Authority score, web rank, trend and Majestic links for up to 50 domains",
        "description": "For each domain (URLs and emails are reduced to their domain; subdomains fall back to the registrable domain): found, authorityScore (0-100), tier, webGraphRank, topPercent, trend and rankChangePct, commonCrawl { harmonicRank, pageRankRank, hosts, prevHarmonicRank, release, prevRelease }, majestic { globalRank, refSubnets, refIps, date }. The response also carries the data release and as-of date.",
        "operationId": "domainAuthorityPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domains": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 50
                  },
                  "sortBy": {
                    "type": "string",
                    "enum": [
                      "input",
                      "score"
                    ]
                  },
                  "minScore": {
                    "type": "integer"
                  }
                },
                "required": [
                  "domains"
                ]
              },
              "example": {
                "domains": [
                  "stripe.com",
                  "notion.so",
                  "blog.hubspot.com"
                ],
                "sortBy": "score"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                },
                "example": {
                  "release": "cc-main-2026-jul-aug-sep",
                  "asOf": "2026-09-23",
                  "prevRelease": "cc-main-2026-mar-apr-may",
                  "totalDomains": 133241980,
                  "rows": 10296726,
                  "majesticDate": "2026-09-23",
                  "dataset": "https://huggingface.co/datasets/CyberMax-tools/open-domain-ranks",
                  "datasetRevision": "da697c9772146788a464d6829c6cbdddf6b8fca3",
                  "attribution": "Common Crawl Web Graph (commoncrawl.org); Majestic Million by Majestic-12 Ltd, CC BY 3.0 (majestic.com/reports/majestic-million).",
                  "count": 8,
                  "found": 7,
                  "notFound": 1,
                  "results": [
                    {
                      "input": "wikipedia.org",
                      "domain": "wikipedia.org",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 86,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 100",
                      "webGraphRank": 14,
                      "topPercent": 0.0000105,
                      "trend": "stable",
                      "rankChangePct": 6.7,
                      "commonCrawl": {
                        "harmonicRank": 14,
                        "pageRankRank": 35,
                        "hosts": 2050,
                        "prevHarmonicRank": 15,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 11,
                        "refSubnets": 229583,
                        "refIps": 711196,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 229583
                    },
                    {
                      "input": "stripe.com",
                      "domain": "stripe.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 78,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 100",
                      "webGraphRank": 64,
                      "topPercent": 0.000048,
                      "trend": "stable",
                      "rankChangePct": -1.6,
                      "commonCrawl": {
                        "harmonicRank": 64,
                        "pageRankRank": 66,
                        "hosts": 95,
                        "prevHarmonicRank": 63,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 140,
                        "refSubnets": 51463,
                        "refIps": 137486,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 51463
                    },
                    {
                      "input": "blog.hubspot.com",
                      "domain": "hubspot.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 70,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 277,
                      "topPercent": 0.000208,
                      "trend": "stable",
                      "rankChangePct": -19.5,
                      "commonCrawl": {
                        "harmonicRank": 277,
                        "pageRankRank": 189,
                        "hosts": 569,
                        "prevHarmonicRank": 223,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 189,
                        "refSubnets": 41084,
                        "refIps": 98021,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 41084
                    },
                    {
                      "input": "ahrefs.com",
                      "domain": "ahrefs.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 65,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 717,
                      "topPercent": 0.000538,
                      "trend": "stable",
                      "rankChangePct": -5.7,
                      "commonCrawl": {
                        "harmonicRank": 717,
                        "pageRankRank": 433,
                        "hosts": 37,
                        "prevHarmonicRank": 676,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 823,
                        "refSubnets": 17227,
                        "refIps": 42844,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 17227
                    },
                    {
                      "input": "notion.so",
                      "domain": "notion.so",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 64,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 810,
                      "topPercent": 0.000608,
                      "trend": "stable",
                      "rankChangePct": 4.6,
                      "commonCrawl": {
                        "harmonicRank": 810,
                        "pageRankRank": 1105,
                        "hosts": 37,
                        "prevHarmonicRank": 849,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 754,
                        "refSubnets": 18243,
                        "refIps": 43269,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 18243
                    },
                    {
                      "input": "moz.com",
                      "domain": "moz.com",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 64,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 1,000",
                      "webGraphRank": 802,
                      "topPercent": 0.000602,
                      "trend": "stable",
                      "rankChangePct": -4.2,
                      "commonCrawl": {
                        "harmonicRank": 802,
                        "pageRankRank": 1093,
                        "hosts": 33,
                        "prevHarmonicRank": 768,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 758,
                        "refSubnets": 18196,
                        "refIps": 41635,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 18196
                    },
                    {
                      "input": "cybermax-tools.workers.dev",
                      "domain": "workers.dev",
                      "found": true,
                      "status": "ok",
                      "authorityScore": 61,
                      "scoreBasis": "common-crawl-harmonic-rank",
                      "tier": "top 10,000",
                      "webGraphRank": 1486,
                      "topPercent": 0.00112,
                      "trend": "rising",
                      "rankChangePct": 20.1,
                      "commonCrawl": {
                        "harmonicRank": 1486,
                        "pageRankRank": 1204,
                        "hosts": 15019,
                        "prevHarmonicRank": 1860,
                        "release": "cc-main-2026-jul-aug-sep",
                        "prevRelease": "cc-main-2026-mar-apr-may",
                        "totalDomains": 133241980
                      },
                      "majestic": {
                        "globalRank": 1659,
                        "refSubnets": 10888,
                        "refIps": 37428,
                        "date": "2026-09-23"
                      },
                      "referringSubnets": 10888
                    },
                    {
                      "input": "tiny-new-site-example-xyz.com",
                      "domain": "tiny-new-site-example-xyz.com",
                      "found": false,
                      "status": "unranked",
                      "authorityScore": null,
                      "tier": "unranked",
                      "note": "Not in the top 10,000,000 of 133,241,980 domains in the Common Crawl web graph, nor in the Majestic Million."
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (1000/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/dataset": {
      "get": {
        "tags": [
          "Linkheft API"
        ],
        "summary": "Which data release the answers come from (not metered)",
        "description": "Common Crawl web-graph release and previous release, total domains, rows, Majestic Million date, the as-of date and the Hugging Face dataset revision.",
        "operationId": "datasetInfoGet",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (1000/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Linkheft API"
        ],
        "summary": "Which data release the answers come from (not metered)",
        "description": "Common Crawl web-graph release and previous release, total domains, rows, Majestic Million date, the as-of date and the Hugging Face dataset revision.",
        "operationId": "datasetInfoPost",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              },
              "example": {}
            }
          }
        },
        "responses": {
          "200": {
            "description": "Results (same field names as the bulk version's dataset records) plus the free-tier limits.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "description": "Invalid input",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Invalid or revoked API key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Free tier used up (1000/day per IP) or rate/plan limit reached; the body has an upgrade link.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Took too long; ask for fewer items",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "retryAfterSeconds": {
            "type": "integer"
          },
          "limits": {
            "type": "object"
          }
        },
        "required": [
          "error",
          "message"
        ]
      }
    },
    "securitySchemes": {
      "ApiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Optional. Paid plan key from https://linkheft-api.cybermax-tools.workers.dev/docs#pricing; leave out for the free tier."
      },
      "BearerKey": {
        "type": "http",
        "scheme": "bearer",
        "description": "Same key as a Bearer token."
      }
    }
  },
  "x-mcp-server": "https://linkheft-api.cybermax-tools.workers.dev/mcp",
  "externalDocs": {
    "description": "Get an API key (pricing)",
    "url": "https://linkheft-api.cybermax-tools.workers.dev/docs#pricing"
  },
  "security": [
    {},
    {
      "ApiKeyHeader": []
    },
    {
      "BearerKey": []
    }
  ]
}