Agentscan
Agentscan API
Classificeer een verzoek als mens, bekende bot, AI-agent of kwaadaardige automatisering.
Een verzoek classificeren
Parameters
- ipstringVerplicht
Client-IP zoals je edge het ziet.
- user_agentstring
User-Agent-header van het verzoek.
- ja4string
JA4-TLS-fingerprint van de client.
- headersobject
Verzoekheaders, voor de consistentiecheck.
- headless_flagsobject
Automatiseringssignalen uit de browser, zoals webdriver.
- request_idstring
Je eigen id voor het verzoek, bewaard bij het oordeel.
Antwoordvelden
- classstring
human, known_bot, ai_agent of malicious_automation.
- confidencenumber
Betrouwbaarheid van 0 tot 1.
- actionstring
Aanbevolen actie: allow, flag of block.
- signalsobject
Het bewijs achter het oordeel, per signaal.
curl -X POST https://ipscanner.io/v1/agentscan/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"ip": "203.0.113.7",
"user_agent": "Mozilla/5.0 (X11; Linux x86_64) HeadlessChrome/126.0.0.0",
"ja4": "t13d1516h2_8daaf6152771_02713d6af862",
"headers": {
"accept-language": "en-US"
}
}'{
"class": "malicious_automation",
"confidence": 0.91,
"action": "block",
"signals": {
"network_origin": "datacenter",
"anonymized": false,
"headless": true,
"header_consistency": "mismatch",
"allowlist_verified": false,
"ja4": "t13d1516h2_8daaf6152771_02713d6af862"
}
}Logregels classificeren
Parameters
- linesobject[]Verplicht
Tot 25.000 geparste logregels, elk met een regelnummer en ip.
Antwoordvelden
- submittedinteger
Ontvangen items.
- processedinteger
Geclassificeerde regels.
- failedinteger
Regels die niet geclassificeerd konden worden.
- truncatedboolean
true als de run vóór het einde stopte.
- byClassobject
Aantal resultaten per klasse.
- resultsarray
Eén oordeel of fout per regel.
curl -X POST https://ipscanner.io/v1/agentscan/batch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"line": 1,
"ip": "66.249.66.1",
"user_agent": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
},
{
"line": 2,
"ip": "203.0.113.7",
"user_agent": "python-requests/2.32.3"
}
]
}'{
"submitted": 2,
"processed": 2,
"failed": 0,
"truncated": false,
"reason": "",
"byClass": {
"known_bot": 1,
"malicious_automation": 1
},
"results": [
{
"line": 1,
"ip": "66.249.66.1",
"class": "known_bot",
"confidence": 0.99,
"action": "allow"
},
{
"line": 2,
"ip": "203.0.113.7",
"class": "malicious_automation",
"confidence": 0.84,
"action": "block"
}
],
"asOf": "2026-10-06T14:05:00Z"
}Een crawler verifiëren
Parameters
- ipstringVerplicht
IP waar het crawlerverzoek vandaan kwam.
- botstring
Crawler-slug om tegen te verifiëren, zoals googlebot.
- user_agentstring
User-Agent om te verifiëren in plaats van een bot-slug.
Antwoordvelden
- outcomestring
verified, spoofed of unverifiable.
- methodstring
Hoe de crawler wordt geverifieerd, zoals ip-list+reverse-dns.
- crawlerstring
Weergavenaam van de crawler.
- summarystring
Resultaat van de check in één zin.
- checksarray
Elke uitgevoerde check, met zijn status.
- hostnamestring
Reverse-DNS-naam van het IP.
- checkedAtstring
Wanneer de check draaide.
curl -X POST https://ipscanner.io/v1/agentscan/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip":"66.249.66.1","bot":"googlebot"}'{
"ip": "66.249.66.1",
"slug": "googlebot",
"crawler": "Googlebot",
"outcome": "verified",
"method": "ip-list+reverse-dns",
"summary": "Address is in Google's published Googlebot ranges and reverse DNS confirms it.",
"checks": [
{
"name": "published_range",
"status": "pass",
"detail": "66.249.66.0/27"
},
{
"name": "reverse_dns",
"status": "pass",
"detail": "crawl-66-249-66-1.googlebot.com"
}
],
"networkOrigin": "hosting",
"anonymized": false,
"asn": "AS15169",
"asnName": "GOOGLE",
"country": "US",
"hostname": "crawl-66-249-66-1.googlebot.com",
"docs": "https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot",
"checkedAt": "2026-10-06T14:05:00Z"
}De allowlist tonen
Antwoordvelden
- agents[].identstring
Id van de crawler of agent.
- agents[].typestring
search, ai_crawler of partner.
- agents[].verificationMethodstring
Hoe een verzoek aan dit item wordt gekoppeld.
- agents[].customerIdinteger | null
Je account-id bij items die je zelf toevoegde; null bij globale.
curl https://ipscanner.io/v1/agentscan/allowlist \
-H "Authorization: Bearer YOUR_API_KEY"{
"agents": [
{
"id": 1,
"ident": "googlebot",
"type": "search",
"verificationMethod": "reverse_dns:googlebot.com,google.com",
"customerId": null,
"createdAt": "2026-03-01T00:00:00Z"
},
{
"id": 42,
"ident": "partnerbot",
"type": "partner",
"verificationMethod": "ua_match",
"customerId": 17,
"createdAt": "2026-09-12T08:30:00Z"
}
]
}Je eigen verbinding classificeren
Parameters
- ipstring
Overschrijf het IP. Standaard dat van de aanroeper.
- user_agentstring
User-Agent-header van het verzoek.
- headersobject
Verzoekheaders, voor de consistentiecheck.
- ja4string
JA4-TLS-fingerprint van de client.
Antwoordvelden
- ipstring
Gecontroleerd IP-adres.
- ja4Sourcestring
Waar de fingerprint vandaan kwam: edge, client of unavailable.
- classstring
human, known_bot, ai_agent of malicious_automation.
- confidencenumber
Betrouwbaarheid van 0 tot 1.
- actionstring
Aanbevolen actie: allow, flag of block.
- signalsobject
Het bewijs achter het oordeel, per signaal.
- meteredboolean
Altijd false: een check op jezelf kost geen credits.
curl -X POST https://ipscanner.io/v1/agentscan/self \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'{
"ip": "203.0.113.42",
"userAgent": "curl/8.7.1",
"ja4": "t13d4907h2_0d8feac7bc37_7395dae3b2f3",
"ja4Source": "edge",
"class": "ai_agent",
"confidence": 0.62,
"action": "flag",
"signals": {
"network_origin": "residential_clean",
"headless": false,
"ai_ident": false
},
"metered": false,
"asOf": "2026-10-06T14:05:00Z"
}