SightRadardocs

Free API for agents

Detect and compare faces with no API key. Free to test under fair use; for regular use, sign up and use an API key.

Last updated

The two free tools on sightradar.com/tools are also a public HTTP API. AI agents, scripts and quick tests can call them without a key.

Free to test under a fair-use policy. For regular or production use, sign up and use an API key: there is no free-tier cap on a key, and usage is billed per photo on prepaid credits (pricing).

EndpointBody (multipart/form-data)Result
POST https://sightradar.com/api/free/detectfilefaces found, quality-gated count, a box per face
POST https://sightradar.com/api/free/comparesource, targetsimilarity 0 to 1, match, threshold

Images must be JPG, PNG or WebP, up to 10 MB each. They are processed in memory and never stored.

Detect

curl -X POST https://sightradar.com/api/free/detect -F "file=@photo.jpg"
{
  "data": {
    "detected_face_count": 1,
    "gated_face_count": 1,
    "faces": [
      { "det_score": 0.86, "min_px": 305.8, "quality_passed": true,
        "bbox": { "left": 0.29, "top": 0.19, "width": 0.38, "height": 0.53 } }
    ]
  },
  "usage": "Free to test under a fair-use policy. ..."
}

Compare

curl -X POST https://sightradar.com/api/free/compare -F "source=@a.jpg" -F "target=@b.jpg"
{
  "data": { "face_found": true, "similarity": 0.66, "match": true, "threshold": 0.42,
            "source_bbox": null, "target_bbox": null },
  "usage": "Free to test under a fair-use policy. ..."
}

When a photo holds several faces, the largest, most confident one is compared. Choose your own threshold for real decisions: see Choosing a similarity threshold.

When you reach the fair-use limit

The free API answers 429 with a pointer to an API key:

{
  "error": "You have reached the free fair-use limit. Sign up at https://sightradar.com and use an API key to keep going; there is no free-tier cap on a key.",
  "code": "free_limit_reached",
  "signup_url": "https://sightradar.com/login?next=%2Fdashboard%2Fkeys",
  "paid_endpoint": "https://api.sightradar.com/v1/detect",
  "how_to_continue": "Sign up at https://sightradar.com, create an API key, then call POST https://api.sightradar.com/v1/detect with the header \"Authorization: Bearer <your-api-key>\" and the same multipart \"file\" field. Same result."
}

To keep going, create an API key and call the paid endpoints. Detect takes the same file upload:

curl -X POST https://api.sightradar.com/v1/detect \
  -H "Authorization: Bearer $SR_API_KEY" \
  -F "file=@photo.jpg"

Paid compare takes image URLs (sourceUrl, targetUrl) or precomputed embeddings. See Compare two faces and Detect faces. Pricing is per photo processed: pricing.

Errors

StatuscodeMeaning
400, 411, 415bad_requestMissing field, no Content-Length, not multipart, or not a JPG/PNG/WebP
413too_largeImage over 10 MB
422unreadableThe image could not be decoded
429rate_limitedMore than a few requests a minute; wait Retry-After seconds
429free_limit_reachedFree fair-use limit reached; sign up and use an API key
429free_capacity_reachedThe free API is at capacity right now; use an API key
503busy / unavailableTry again shortly, or use an API key

Each endpoint also answers GET with a short JSON description of itself, so an agent that finds the URL can learn how to call it.

On this page