Skip to content

Bingbot IP ranges

Indexes pages for Bing and the search products built on it. Microsoft publishes the address ranges Bingbot crawls from so sites can tell it from a scraper carrying its name. This is that file, synced daily by the same job that feeds the IP lookup, with the date of the copy and how to check a visitor against it.

Bingbot at a glance

OperatorMicrosoft
What it doesSearch indexing
Answered ascrawler: Bingbot · crawler_kind: search
Published filehttps://www.bing.com/toolbox/bingbot.json
Prefixes today28 IPv4, 0 IPv6
Copy synced2026-09-12
Reverse DNS domainssearch.msn.com

The ranges

Every prefix in Microsoft's file as of 2026-09-12, IPv4 first, each family in address order. An address inside any of them is Bingbot as far as its operator is concerned.

IPv4 · 28

13.66.139.0/24
13.66.144.0/24
13.67.10.16/28
13.69.66.240/28
13.71.172.224/28
20.15.133.160/27
20.36.108.32/28
20.43.120.16/28
20.74.197.0/28
20.79.107.240/28
20.125.163.80/28
40.77.139.0/25
40.77.167.0/24
40.77.177.0/24
40.77.178.0/23
40.77.188.0/22
40.77.202.0/24
40.79.131.208/28
40.79.186.176/28
51.105.67.0/28
52.167.144.0/24
52.231.148.0/28
65.55.210.0/24
139.217.52.0/28
157.55.39.0/24
191.233.204.224/28
199.30.24.0/23
207.46.13.0/24

IPv6 · 0

How to verify a visitor is Bingbot

Take the request's source address and check it against the prefixes above; the User-Agent header is a claim anyone can type and proves nothing on its own. Microsoft also supports reverse DNS: the PTR name of a genuine Bingbot address ends in search.msn.com, and resolving that name forward returns the same address. Either proof is enough; the ranges need no DNS query.

What the API answers for one of its addresses

A lookup of an address inside these ranges answers is_crawler true, names it in crawler and classes it in crawler_kind. A crawler carries no risk weight, and the datacenter weight is skipped for it: its operator is known and its infrastructure is the point.

curl https://spaw.co/api/v1/ip \
  -H "Authorization: Bearer $SPAW_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ip": "13.66.139.0"}'
"is_crawler": true,
"crawler": "Bingbot",
"crawler_kind": "search",
"risk_signals": [{ "signal": "datacenter", "weight": 0, "dataset": "datacenter-ranges" }]

A range proves the operator, not intent. Whether Bingbot is welcome on a site is a robots.txt decision; this page and the lookup only settle whether a request that says it is Bingbot really came from Microsoft.

Other crawlers

crawler-ranges 2026-09-12 · checked 2026-09-13

Wrong result, or is it about you? If this tool said something you think is wrong, tell us and a person reads it. If Spaw is holding data about you and you never signed up here — a customer may have had your address verified, or reported that a message to it bounced — erase it yourself, confirmed by mail to that address and with no account needed.

More free tools

All free tools

Need this at scale?

The Spaw API answers is_crawler, the crawler's name and its kind for any address, from these ranges and a forward-confirmed reverse DNS check — 10 free lookups a month, no card required.

Get your API key