CrawlCheck Telemetry API
The Telemetry API from CrawlCheck — 1 operation(s) for telemetry.
The Telemetry API from CrawlCheck — 1 operation(s) for telemetry.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/crawlcheck-io:crawlcheck-io-telemetry-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Crawlcheck Io Telemetry API
version: '1'
contact:
name: CrawlCheck
url: https://crawlcheck.io/policy
email: hello@crawlcheck.io
license:
name: Terms
url: https://crawlcheck.io/policy
x-core-contract:
promise: 'These operations are the core contract. They stay at /api/v1 and keep answering for at least 180 days after any /api/v2 is announced; their stable fields change only in a new major version, and their provisional fields only after 30 days'' notice, per /docs/api/compatibility. Verifying what they return needs none of these calls: crawlcheck-verify.mjs checks a document on your machine against the published keys (/.well-known/http-message-signatures-directory) and the rotation record, read once with --online or saved for --keys. Everything else documented here is useful but secondary, and may change with the notice its fields'' tags promise.'
operations:
- method: GET
path: /api/v1/resolve
operationId: resolveDomainV1
- method: POST
path: /api/v1/resolve
operationId: resolveBatchV1
- method: POST
path: /api/v1/preflight
operationId: preflightV1
- method: GET
path: /api/v1/decisions/{sha256}
operationId: decisionCheckV1
- method: GET
path: /api/v1/revocations
operationId: revocations
- method: GET
path: /api/v1/visitor
operationId: visitorResolveV1
- method: POST
path: /api/v1/visitor
operationId: visitorResolveBatchV1
- method: GET
path: /api/v1/mcp/scan
operationId: mcpScanUrl
- method: POST
path: /api/v1/mcp/lock/check
operationId: mcpLockCheck
list: https://crawlcheck.io/api/v1/core
description: 'Operations tagged Telemetry across 2 of this provider''s published API definitions: crawlcheck-io-openapi.json, crawlcheck-io-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://crawlcheck.io
tags:
- name: Telemetry
paths:
/api/telemetry:
get:
operationId: telemetry
summary: Verified-crawler telemetry observed at this origin
responses:
'200':
description: JSON
content:
application/json:
schema:
type: object
examples:
worked:
summary: Captured from production on 2026-09-30 (MDT).
value:
ok: true
spoof_note: A failed verification on /api/, /r/ or /tools/ is somebody checking a report we produced, not a crawler impersonating an operator on a page. Those are counted in spoofed_hits_tooling and should be excluded before quoting a forgery rate. Hi…
bots_seen: 33
total_hits: 52054
claimed_hits: 53770
verified_hits: 20587
spoofed_hits: 1692
spoofed_hits_tooling: 40
spoofed_hits_content: 774
spoofed_hits_unattributed: 878
unverifiable_hits: 31491
by_bot:
- bot: Amazonbot
hits: 14454
claimed_hits: 14454
verified: 0
spoofed: 0
unverifiable: 14454
spoofed_tooling: 0
spoofed_content: 0
spoofed_unattributed: 0
verification: this operator publishes no IP range feed — identity is unverifiable
hosts:
crawlcheck.io: 14446
www.crawlcheck.io: 8
prefers: apex
confident: false
- bot: SemrushBot
hits: 5059
claimed_hits: 5059
verified: 0
spoofed: 0
unverifiable: 5059
spoofed_tooling: 0
spoofed_content: 0
spoofed_unattributed: 0
verification: this operator publishes no IP range feed — identity is unverifiable
hosts:
crawlcheck.io: 5059
prefers: apex
confident: false
- bot: Googlebot
hits: 4639
claimed_hits: 4734
verified: 4639
spoofed: 83
unverifiable: 12
spoofed_tooling: 0
spoofed_content: 66
spoofed_unattributed: 17
verification: source IP checked against the operator's published ranges
hosts:
crawlcheck.io: 4639
prefers: apex
confident: true
- bot: PerplexityBot
hits: 4071
claimed_hits: 4259
verified: 4071
spoofed: 188
unverifiable: 0
spoofed_tooling: 3
spoofed_content: 71
spoofed_unattributed: 114
verification: source IP checked against the operator's published ranges
hosts:
crawlcheck.io: 4071
prefers: apex
confident: true
recent:
- at: '2026-10-01T00:17:02.995Z'
bot: Googlebot
host: crawlcheck.io
path: /glossary/alt-text
verified: true
country: US
network: 66.249.74.0/24
- at: '2026-10-01T00:16:58.968Z'
bot: Googlebot
host: crawlcheck.io
path: /glossary/minhash
verified: true
country: US
network: 66.249.74.0/24
- at: '2026-10-01T00:15:19.802Z'
bot: Google-CWS
host: crawlcheck.io
path: /extension/privacy
verified: true
country: US
network: 66.102.6.0/24
- at: '2026-10-01T00:14:58.815Z'
bot: Googlebot
host: crawlcheck.io
path: /glossary/area/content-architecture-and-seo
verified: true
country: US
network: 66.249.74.0/24
method: First-party observation of requests to this endpoint. The Host header is recorded on every hit — the field the default access-log format discards, which is why apex-vs-www crawler behaviour has no published answer.
caveat: A census of ONE property, not a sample of the web. It reports what crawlers did here. `confident` is false below 20 hits, where a host split is noise rather than a preference. `total_hits` counts only hits whose source IP falls inside the …
x-codeSamples:
- lang: Shell
label: curl
source: "curl -s \\\n 'https://crawlcheck.io/api/telemetry'"
security: []
x-auth: public; no credential read
tags:
- Telemetry
servers:
- url: https://crawlcheck.io
components:
securitySchemes:
licenceKey:
type: apiKey
in: header
name: x-crawlcheck-key
description: 'Your licence key: cc_ followed by 32 hex characters. Sent on every keyed call.'
bearer:
type: http
scheme: bearer
description: The same licence key as a Bearer token. Accepted on /api/v1/* and /api/usage.
externalDocs:
url: https://crawlcheck.io/docs/api
description: Human-readable reference
x-refined-from:
- crawlcheck-io-openapi.json
- crawlcheck-io-openapi.yml