Twitter search API with X's operators: free in a browser, pay per post via MCP or API
By Steven Van ·
Search is free in a browser; scripts and agents pay 1 credit ($0.001) per post returned through the MCP server or API, limited to 60 requests a minute per key.
Unif API now lets anyone search public X posts with X's own search operators. In a browser the Unif API search page is free, with no login or account, and rate-limited per visitor. Scripts and agents use the paid route, announced on 7 October 2026 and updated on 17 October.
Two ways to search
- Browser: the X search page at unifapi.com/tools/x-search takes the query in the URL, for example ?q=from:nasa filter:media. It has filters for account, date, likes, media and replies, and prints the query string they build.
- Agents: add the UnifAPI MCP server at https://mcp.unifapi.com and sign in with OAuth, with no key to paste. The agent finds the operation with list_operations, reads its parameters with get_operation, and runs it with call_api on /x/tweets/search/recent.
- Scripts: send a GET request to https://api.unifapi.com/x/tweets/search/recent with a Bearer key. Keys come from a Workspace after a balance top-up.
Supported operators
The query goes to X's search as written, so the operators X documents for its own search box work. The post lists from:, to:, since:, until:, min_faves:, min_retweets:, filter:media, filter:links, -filter:replies, -filter:retweets, lang:, hashtags, @mentions, OR and quoted phrases. They can be combined in one query.
Results are ordered newest first ("Latest", not "Top"). Without dates the search returns the newest posts. Adding since: and until: reaches back to 2006. Field names follow X API v2, such as public_metrics.like_count and author.username.
Paging, pricing and limits
Paid calls cost 1 credit ($0.001) per post returned, with a minimum of 1 credit per call, so a 20-post page costs 2 cents. The author data that comes with each post is not billed separately. max_results sets the page size from 1 to 100. To continue, send the response's next_cursor back as pagination_token. Because the cursor continues after X's own page, a small max_results skips the rest of that page, so the post advises leaving it unset or at 100 when reading a full result set.
There is no subscription. A Workspace balance is topped up and calls draw it down. The first top-up (minimum $10) adds a one-time 2,000-credit bonus. If the balance cannot cover a full page, the response returns as many posts as it can and sets truncated_due_to_balance. With nothing left, the call returns a 402 insufficient_credits error. Each API key gets 60 requests a minute by default, shown in RateLimit-* and X-RateLimit-* headers.
Old free endpoints
Since 17 October 2026, the old free endpoints under /tools/x/ answer scripts and agents with HTTP 402. The body names the MCP server and the paid operation that replaces each lookup. The viewer pages stay free in a browser.
