{
  "openapi": "3.0.1",
  "info": {
    "title": "Bulk Domain Authority & Referring Domains - Open Data",
    "description": "Open Authority 0-100 and referring domains for any list of domains, plus referrer lists, link gap, similar sites and rank history to 2018. From the Common Crawl web graph (133M domains), Majestic and Chrome UX Report. No blocked runs; works as an MCP tool for AI agents.",
    "version": "0.0",
    "x-build-id": "Q0ZZG8ldN9Bd8UF7v"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlplant~commoncrawl-domain-metrics/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlplant-commoncrawl-domain-metrics",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawlplant~commoncrawl-domain-metrics/runs": {
      "post": {
        "operationId": "runs-sync-crawlplant-commoncrawl-domain-metrics",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawlplant~commoncrawl-domain-metrics/run-sync": {
      "post": {
        "operationId": "run-sync-crawlplant-commoncrawl-domain-metrics",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "profiles",
              "history",
              "referrers",
              "linkGap",
              "similar",
              "outlinks",
              "changes"
            ],
            "type": "string",
            "description": "profiles = one row per domain with every metric (Open Authority score, Common Crawl ranks, referring-domain count, Majestic links, Chrome traffic bucket); history = one row per domain per Common Crawl graph release (back to 2018), plus Tranco daily ranks when Tranco is a source; referrers = the domains that link to each of your domains, strongest first, one row per linking domain. linkGap = domains that link to your competitors (in \"domains\") but not to your site (\"yourDomain\"), most competitors first. similar = sites like each domain (the same websites link to them); outlinks = the domains each domain links to; changes = referring domains gained and lost since the previous monthly graph.",
            "default": "profiles"
          },
          "domains": {
            "title": "Domains",
            "type": "array",
            "description": "Domains, URLs or e-mail addresses, one per line. Each is reduced to its registrable domain: https://www.bbc.co.uk/news -> bbc.co.uk, info@scrapy.org -> scrapy.org. Duplicates are merged. In linkGap mode: your competitors (up to 20).",
            "items": {
              "type": "string"
            },
            "default": [
              "apify.com",
              "github.com",
              "wikipedia.org"
            ]
          },
          "yourDomain": {
            "title": "Your domain (link gap)",
            "type": "string",
            "description": "linkGap mode: your site. Its referring domains are left out, so you get the sites that link to your competitors and not to you."
          },
          "excludeHubs": {
            "title": "Leave out hubs (link gap)",
            "type": "boolean",
            "description": "linkGap mode: leave out infrastructure (CDNs, hosts of user content, link shorteners) and sites that link to more than 30,000 domains, such as the biggest platforms. They link to everyone, so they are rarely outreach prospects.",
            "default": true
          },
          "sources": {
            "title": "Data sources",
            "type": "array",
            "description": "commoncrawl = link-graph ranks of 133M domains and the Open Authority score; majestic = Majestic Million rank and referring subnets / IPs (top 1M); crux = Chrome UX Report traffic bucket (top 1M sites by real Chrome visits); tranco = Tranco research ranking (top 1M) and its daily history in history mode.",
            "items": {
              "type": "string",
              "enum": [
                "commoncrawl",
                "majestic",
                "crux",
                "tranco"
              ],
              "enumTitles": [
                "Common Crawl web graph",
                "Majestic Million",
                "Chrome UX Report",
                "Tranco"
              ]
            },
            "default": [
              "commoncrawl",
              "majestic",
              "crux"
            ]
          },
          "graphScanDepth": {
            "title": "Common Crawl search depth (top N domains)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "How many of the best-ranked domains of the Common Crawl ranks file to search when it is read directly: in history mode, for an older graphRelease, or if our link index can't be reached (profiles normally get an exact rank for every domain from it). 10,000,000 (default) covers every domain with an Open Authority of 26 or more; domains below it get openAuthorityMax instead of a score. 0 = the whole graph (133M domains, 2.5 GB, a few minutes).",
            "default": 10000000
          },
          "graphRelease": {
            "title": "Common Crawl graph release",
            "type": "string",
            "description": "A web graph release id, e.g. cc-main-2026-jun-jul-aug (list: https://index.commoncrawl.org/graphinfo.json). Empty = the newest. In history mode, the history starts here and goes back."
          },
          "minAuthority": {
            "title": "Minimum Open Authority",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Profiles: return only domains scoring at least this (0-100); 1 drops domains without a score, so you don't pay for them. Link modes (referrers, linkGap, similar, outlinks, changes): return only the listed domains scoring at least this. 0 = everything.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "input",
              "authority"
            ],
            "type": "string",
            "description": "Profiles mode: input = your order; authority = highest Open Authority first (domains without a score last).",
            "default": "input"
          },
          "historyReleases": {
            "title": "History: graph releases",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "History mode: how many Common Crawl graph releases to read, newest first (a new release covers the last three monthly crawls). 6 is about half a year of recent releases; the archive goes back to early 2018 (about 50 releases).",
            "default": 6
          },
          "maxReferrersPerDomain": {
            "title": "Rows per domain (link modes)",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "How many rows per domain in referrers, similar, outlinks and changes (changes: gained and lost each), strongest first. A well-known site can have millions of referring domains; most small sites have a handful. linkGap mode: how many of each competitor's strongest referring domains to compare (up to 100,000).",
            "default": 100
          },
          "maxItems": {
            "title": "Max rows",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum rows to return (and pay for).",
            "default": 10000
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}