Skip to main content
Search X (Twitter) with full advanced-search syntax (operators like from:, since:, until:, min_faves: work inline in the query) and get structured tweets with text, author, engagement, and cursor pagination. Limit is a per-page maximum; native pages contain approximately 20 tweets unless requireSinglePage selects a bulk lane. This page is the seller-facing summary of one catalog API, twitter.search. The transport rules that apply to every API a seller serves - signed requests, the response envelope, timeouts, and body limits - are on the operator endpoint contract.

The price you compete with

AnyAPI publishes this API from $0.60 per 1,000 requests. That is the price a buyer sees today, so it is the price your endpoint has to come in under to win traffic.

The request your endpoint receives

The response your endpoint must return

Extra fields are kept, missing declared fields fail.

Fields that must never come back empty

  • authorName
  • authorUsername
  • createdUtc
  • id
  • items
  • text
  • url
The repository marks these fields as ones every source must be able to fill. An empty value is only correct when the entity itself genuinely has nothing there.

Not found, and how it differs from empty

When the entity does not exist, answer 2xx with the not-found shape:
An empty list is not a not-found: when the entity exists and has nothing to return, answer 2xx with found: true and an empty items array. This output schema declares no reason field, so found: false is the whole not-found answer.

Example request

The compatibility checks fire the schema’s example at your endpoint. After that, your answers are graded against what the currently serving source returned for the same real customer inputs.

Behavior

  • Latest is the default ranking, so a request that omits queryType asks for the newest matching posts.
  • There are no separate filter inputs: an author, date range, engagement floor or language is written inside the query string with X advanced-search operators such as from:, since:, until:, min_faves: and lang:en.
  • A query that matches nothing returns found true with an empty items array; found false never means no matches.
  • limit is a per-page maximum of 1 to 50, never a total, and nextCursor is null only when there is no further page.
  • Every item carries id, url and text.

Next