Detect URL
Consumes creditsPOST /api/v1/detect-urlFetches an image server-side (with SSRF protections), then runs the same detection pipeline as /detect.
Try in PlaygroundRequired Parameters
url(string) Public image URL.
Optional Parameters
country(string) Optional geofencing hint (CCA2/CCA3/full country name).threshold(number) Confidence threshold between 0.01 and 0.99. Default: 0.2.
Request body is JSON only. Private IPs and internal targets are blocked by URL security checks.
Status Codes
200Detection completed.
400Validation error or blocked URL target.
401Invalid, missing, or revoked API key.
402Quota exceeded.
429Rate limit exceeded.
500Internal or upstream service error.
Node.js / Express
const response = await fetch('https://www.animaldetect.com/api/v1/detect-url', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.ANIMAL_DETECT_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com/camera-trap.jpg',
country: 'USA',
threshold: 0.2,
}),
})
const data = await response.json()Example Response
JSON
{
"id": "70dc39be-e013-4ea5-bbc5-a3832f7fc310",
"expires_at": "2026-03-12T09:44:20.954Z",
"annotations": [],
"info": {
"processing_time_ms": 884,
"model_version": "v1.0",
"country_processed": "USA",
"threshold_applied": 0.2,
"source_url": "https://example.com/camera-trap.jpg"
}
}