# Search

> Operators, products and limits.

`GET /v1/tweets/search?q=...` runs X advanced search. `q` accepts the operators from the x.com search box.

## Operators that work [#operators-that-work]

| Operator                                                      | Example                             | Meaning                       |
| ------------------------------------------------------------- | ----------------------------------- | ----------------------------- |
| `from:`                                                       | `from:x`                            | tweets by an account          |
| `to:`                                                         | `to:x`                              | replies to an account         |
| `@`                                                           | `@x`                                | mentions                      |
| `since:` `until:`                                             | `since:2026-09-01 until:2026-09-17` | date range, UTC               |
| `min_faves:` `min_retweets:` `min_replies:`                   | `min_faves:100`                     | engagement floor              |
| `-filter:replies`                                             |                                     | no replies                    |
| `filter:links` `filter:media` `filter:images` `filter:videos` |                                     | only tweets with that content |
| `lang:`                                                       | `lang:de`                           | language                      |
| `"..."`                                                       | `"exact phrase"`                    | phrase                        |
| `OR` `-` `()`                                                 | `(cat OR dog) -filter:retweets`     | boolean                       |
| `url:`                                                        | `url:github.com`                    | link domain                   |

## Products [#products]

| `product`          | Returns                | Credits       |
| ------------------ | ---------------------- | ------------- |
| `Latest` (default) | tweets, newest first   | 1 per tweet   |
| `People`           | profiles               | 1 per profile |
| `Top`              | tweets by relevance    | 1 per tweet   |
| `Photos`, `Videos` | tweets with that media | 1 per tweet   |

`Top` is not served to every reading session at X. When it is not available the API answers `403 product_unavailable`
and charges nothing. `Latest` is always available.

## Limits [#limits]

* Up to 50 tweets per page. Use `cursor` for more.
* Search results are cached for 60 seconds. A repeated query within that window costs half.
* Deleted, protected and age-restricted tweets do not appear.
