Verify whether an IP + User-Agent truly belong to Googlebot, Bingbot, OpenAI SearchBot and other major crawlers.
Google, Bing, OpenAI, Yandex, DuckDuckGo, Qwant & Seznam.
Vendor IPv4 / IPv6 ranges pulled & cached every 12 h.
Pinpoints whether a request is a legit crawler or a flood / scraper.
POST https://api.yeb.to/v1/bot/detect/detect
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IPv4 / IPv6 to verify (defaults to caller IP) |
ua | string | opt | User-Agent header (defaults to caller UA) |
curl -X POST https://api.yeb.to/v1/bot/detect/detect \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"66.249.66.1","ua":"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"}'
{
"result": { "vendor": "google", "ip_match": true }
}
{
"error": "Unknown action 'foo'",
"code": 422
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/google
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/google \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"66.249.66.1","ua":"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"}'
{
"result": { "vendor": "google", "ip_match": true }
}
{
"result": { "vendor": "google", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/bing
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/bing \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"157.55.39.250","ua":"Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"}'
{
"result": { "vendor": "bing", "ip_match": true }
}
{
"result": { "vendor": "bing", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/openai
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/openai \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"20.15.240.186","ua":"Mozilla/5.0 (compatible; ChatGPT-User/1.0; +https://openai.com/bot)"}'
{
"result": { "vendor": "openai", "ip_match": true }
}
{
"result": { "vendor": "openai", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/yandex
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/yandex \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"5.45.207.1","ua":"Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"}'
{
"result": { "vendor": "yandex", "ip_match": true }
}
{
"result": { "vendor": "yandex", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/duck
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/duck \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"20.191.45.1","ua":"DuckDuckBot/1.0; (+http://duckduckgo.com/duckduckbot.html)"}'
{
"result": { "vendor": "duck", "ip_match": true }
}
{
"result": { "vendor": "duck", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/qwant
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/qwant \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"51.158.38.1","ua":"Mozilla/5.0 (compatible; QwantBot/2.1; +https://help.qwant.com/bot)"}'
{
"result": { "vendor": "qwant", "ip_match": true }
}
{
"result": { "vendor": "qwant", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |
POST https://api.yeb.to/v1/bot/detect/seznam
Parameter | Type | Required | Description |
---|---|---|---|
api_key | string | yes | Your API key |
ip | string | yes | IP to verify |
ua | string | opt | User-Agent header |
curl -X POST https://api.yeb.to/v1/bot/detect/seznam \
-H "Content-Type: application/json" \
-d '{"api_key":"YOUR_KEY","ip":"77.75.76.3","ua":"Mozilla/5.0 (compatible; SeznamBot/4.0; +https://napoveda.seznam.cz/cz/search/bot/)"}'
{
"result": { "vendor": "seznam", "ip_match": true }
}
{
"result": { "vendor": "seznam", "ip_match": false }
}
Code | Description |
---|---|
200 Success | Request processed OK. |
400 Bad Request | Input validation failed. |
401 Unauthorized | Missing / wrong API key. |
403 Forbidden | Key inactive or not allowed. |
429 Rate Limit | Too many requests. |
500 Server Error | Unexpected failure. |