Verified bot API

Identify the crawlers you must not block.

GeoQ verifies good crawlers — Googlebot, Bingbot and similar — against the operators' own published ranges, so you can confidently allow-list them. This is not behavioural bad-bot detection.

How it works

01

GeoQ returns is_verified_bot: true and a verified_bot_name (e.g. "googlebot") when an IP falls inside a search/AI operator's published crawler ranges. Evidence: authoritative.

02

Because a verified Googlebot is not fraud, this signal carries zero risk weight and never appears in risk.reasons. Use it to allow, not to penalise.

03

This is not bad-bot detection. It won't flag scrapers, credential-stuffers or headless automation pretending to be a browser — behavioural bad-bot detection is on the roadmap. For now, combine connection_type and the risk score to scrutinise suspicious automation.

What you get back

FieldMeaning
is_verified_bot Boolean — IP is a verified good crawler from a published operator range.
verified_bot_name The crawler's name (e.g. "googlebot", "bingbot") when verified, else null.
evidence.verified_bot How directly we observe it — authoritative for published ranges.
network.asn / as_org Confirms the operating organisation behind the crawler.

In your code

const r = await geoq.check(req.ip);

// allow-list verified good crawlers — never serve them a challenge
if (r.signals.is_verified_bot) {
  console.log("verified crawler:", r.signals.verified_bot_name);
  return next();
}

FAQ

Frequently asked questions

Does this detect bad bots or scrapers?
No. is_verified_bot identifies good crawlers (Googlebot, Bing, …) from operators' published ranges — the ones you must not block. Behavioural bad-bot detection is on our roadmap, not shipped.
Why does a verified bot not raise the risk score?
Because a verified Googlebot is legitimate traffic, not fraud. The signal carries zero risk weight and never appears in risk.reasons.
How do you verify a crawler?
We match the IP against the operator's own published crawler ranges, so the evidence label is authoritative. Coverage spans IPv4 and IPv6.

Related signals

Start with the free tier. No card.

5,000 lookups a day, every signal, the same transparent risk score. Upgrade only when you outgrow it.