CYRON

Privacy-focused Image Search API  ·  v2.0  ·  https://cyron.vercel.app

Operational 11 Providers CORS Enabled No Tracking

All Endpoints

GET /

Returns complete API documentation, available endpoints, and quick start examples.

GET /examples

Returns comprehensive example queries organized by category with GET and POST formats.

GET /health

Check API health status and configuration including cache, CORS, safe search, proxy mode.

GET /stats

View cache performance statistics — hit rate, size, efficiency — and provider information.

POST /search

Search for images using JSON request body. Supports all filters, pagination, and proxy mode. See Search tab for interactive demo.

query required string — Search query
safe_search boolean Enable safe search filtering (default: true)
size string any | large | medium | small (default: any)
time_range string any | day | week | month | year (default: any)
page integer Page number (default: 1)
per_page integer Images per page, 1–100 (default: all)
proxy_mode boolean Use proxy URLs for images (default: false)
GET /search/<query>

Browser-accessible URL-based search. All POST parameters available as query params. Additionally supports stream parameter.

size any | large | medium | small
time_range any | day | week | month | year
page Page number (default: 1)
per_page 1–100 (default: all available)
safe_search true | false (default: true)
proxy_mode true | false (default: false)
stream true | false (default: false)

Example Queries

Fetches /examples endpoint and renders all categories

GET /health

GET /stats

Error Reference

400 — Bad Request
{
  "success": false,
  "error": "per_page must be between 1 and 100",
  "provided": 150
}

Invalid parameters — per_page out of range, invalid size/time_range value, or missing required query.

404 — Not Found
{
  "success": false,
  "error": "No images found for this query.",
  "suggestion": "Try different keywords, remove filters, or check a different page.",
  "query": "your-query",
  "filters": { ... }
}

No images matched the query. Try broader terms or remove size/time filters.

503 — Service Unavailable
{
  "success": false,
  "error": "Could not fetch results. All search providers are currently unavailable.",
  "suggestion": "Please try again in a few moments.",
  "providers_attempted": 11
}

All 11 SearX providers failed. Automatic failover exhausted. Retry after a few minutes.

Pagination Errors

Common causes and fixes:

per_page < 1 or > 100
→ per_page must be between 1 and 100
page is not a positive integer
→ Use page=1, 2, 3 ... only
page exceeds available pages
→ Check pagination.has_next in response