Skip to main content
Every list endpoint follows the same conventions.

Pagination

Top-level page and page_size query params:
On most list endpoints — prompts, citations, ads, advertisers — page_size defaults to 25 and caps at 100; list_brands defaults to 50. A value above the cap is clamped, not rejected, so asking for 1,000 quietly gives you the maximum. The meta block tells you where you actually are:
page + page_size is the only pagination contract — limit, offset, skip, and per_page are not accepted.

Sorting

sort takes a comma-separated list of keys; prefix a key with - for descending. Unknown keys are ignored and the endpoint falls back to its documented default — a typo silently gives you the default order rather than an error, so check the key names.
Each endpoint whitelists its own keys; the reference page lists them. The common ones:

Filtering

Filters live under filter[…] bracket notation:
  • List filters end in _ids and are plural — repeat the key or pass a CSV:
  • Enum lists are plural too: ?filter[page_types][]=article
  • Single-value filters are scalar: ?filter[citation_domain]=example.com
  • Free-text search is always ?filter[query]=… (never ?search=)
  • Date ranges are ?filter[ran_at_start]=…&filter[ran_at_end]=…, ISO 8601 date or datetime
Filters AND together: filter[topic_ids] + filter[provider_ids] narrows to prompts that match both.

Filters worth knowing

Time windows

Metric endpoints return an aggregate_metrics block for the whole window plus time_based_metrics, one entry per bucket. diff on each row compares against the previous equal-length period — request 7 days and you’re comparing to the 7 days before that.
See Metrics & units for what the numbers mean.