Skip to main content

Base URL

Authentication

Pass your API key in the X-API-Key header on every request:
Billing is per query. There are no seats and no minimums.

The response shape

/v1/search and /v1/similar return the same envelope — a ranked list of results, each carrying the full rights answer:
  • query_id ties every file fetch back to the query that produced it. Keep it.
  • score is the reranker’s relevance score, higher is better, not a calibrated probability. Similar-image searches use retrieval similarity; skipped reranking can return null. It is also null on the rare response that also carries "degraded": "reranker unavailable; lane-order results" — results are still valid, just ordered by retrieval rank instead of rerank.
  • file and thumb are tracked URLs: a GET answers 302 to a signed download link valid for one hour. Follow redirects.

Filters

Filters constrain retrieval before ranking. Omitted commercial, AI-generation, width and NSFW fields retain their API defaults; see Search defaults. Pass null where supported to remove a default. See Searching the index for every filter with examples. Describe mood, style, composition and intended use in the natural-language query. These are semantic requests, not guaranteed hard filters. You can also supply a reference image using image_base64 or a public HTTPS image_url, with optional text to refine the search. See image search examples for supported formats, limits, and request payloads.