{"openapi":"3.1.0","info":{"title":"top1m public API","version":"1.0.0","description":"Anonymous public read API. Snapshot metadata accompanies ranking datasets."},"paths":{"/api/v1/rankings":{"get":{"summary":"Search current or dated domain rankings.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/rankings/export":{"get":{"summary":"Stream the current domain ranking as CSV or JSON.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/hosts":{"get":{"summary":"Browse current hostname rankings.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/hosts/export":{"get":{"summary":"Export current hostname rankings.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/ips":{"get":{"summary":"Browse independent IPv4 or IPv6 rankings.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/ips/export":{"get":{"summary":"Export IPv4 or IPv6 rankings.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/domains/{name}":{"get":{"summary":"Get a current domain profile and rank.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/domains/{name}/history":{"get":{"summary":"Get published daily rank history.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/domains/bulk-lookup":{"post":{"summary":"Compare up to 1,000 domains without modifying the index.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/search":{"get":{"summary":"Search indexed domain names.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/technologies":{"get":{"summary":"Browse technologies ranked by observed domain count.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/tech/{slug}":{"get":{"summary":"Get a technology profile and observed domains.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/contacts":{"get":{"summary":"Search observed public email and phone signals.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/contacts/{value}/domains":{"get":{"summary":"Find ranked domains associated with a contact signal.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/lists":{"get":{"summary":"List current public web-observable leaderboards.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/lists/{type}":{"get":{"summary":"Browse a current Top-1M supporting list.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/lists/{type}/export":{"get":{"summary":"Export up to 100,000 current list rows as CSV.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/whois/{name}":{"get":{"summary":"Return the latest available cached WHOIS profile.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/links/{name}":{"get":{"summary":"Return current inbound and outbound crawl links.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/pdns/{name}":{"get":{"summary":"Return observed DNS records for a domain.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/pdns/ip/{ip}":{"get":{"summary":"Find domains observed on an IP address.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/ips/{address}":{"get":{"summary":"Get an IP profile and hosted-domain observations.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/expired":{"get":{"summary":"Browse domains dropped from the ranking.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/expired/export":{"get":{"summary":"Export dropped domains.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/expiring":{"get":{"summary":"Browse registration lifecycle observations.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/expiring/export":{"get":{"summary":"Export registration lifecycle observations.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/v1/exports":{"get":{"summary":"List immutable daily archive files and checksums.","responses":{"200":{"description":"Successful response"},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}}}}