> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sorsa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Operadores de búsqueda

Los operadores de X son palabras clave y símbolos que filtran publicaciones por autor, fecha, interacción, tipo de contenido, idioma, ubicación y otros atributos. La mayoría funcionan en `query` de [Búsqueda de publicaciones](https://docs.sorsa.io/es/api-reference/b%C3%BAsqueda/buscar-publicaciones) y en x.com. Los marcados como exclusivos de la interfaz dependen de una sesión iniciada (tus cuentas seguidas, ubicación o red) y no funcionan mediante la API.

> **Nota:** consulta recetas listas para copiar, ejemplos de Python y JavaScript con paginación y una comparación con los operadores de la API oficial de X v2 en la [guía completa de operadores](https://api.sorsa.io/blog/twitter-search-operators) del blog.

## Sintaxis básica

* Los espacios entre términos equivalen a **AND implícito**.
* `OR` debe escribirse **en mayúsculas**.
* Un guion inicial (`-`) **excluye** un término, frase u operador.
* Utiliza **paréntesis** para agrupar expresiones.
* Encierra las frases exactas entre **comillas dobles**.

Puedes combinar aproximadamente 22–23 operadores por consulta. AND tiene prioridad sobre OR: `cat OR black dog` equivale a `cat OR (black dog)`. Utiliza paréntesis para evitar ambigüedades.

## Constructor visual gratuito

[Sorsa Search Builder](https://api.sorsa.io/playground/search-builder) permite crear consultas sin escribir los operadores a mano. Es gratuito, no requiere iniciar sesión y ofrece filtros visuales y una vista previa de la consulta antes de incorporarla al código.

***

## 1. Palabras clave y lógica booleana

| Operador             | Descripción                                                                             | Ejemplo                              |
| :------------------- | :-------------------------------------------------------------------------------------- | :----------------------------------- |
| `keyword keyword`    | Publicaciones con ambos términos (AND implícito).                                       | `nasa esa`                           |
| `keyword OR keyword` | Publicaciones con cualquiera de los términos. `OR` debe escribirse en mayúsculas.       | `bitcoin OR ethereum`                |
| `"exact phrase"`     | Frase exacta; también evita la corrección automática.                                   | `"state of the art"`                 |
| `-keyword`           | Excluye el término, la frase o el operador.                                             | `crypto -scam`                       |
| `( )`                | Agrupa términos para expresiones booleanas complejas.                                   | `(AI OR "machine learning") lang:en` |
| `"word * word"`      | Comodín dentro de una frase entre comillas: `*` sustituye una palabra.                  | `"this is the * time"`               |
| `+word`              | Fuerza la coincidencia exacta y evita la corrección automática y la reducción a raíces. | `+radiooooo`                         |
| `#hashtag`           | Coincide con un hashtag concreto.                                                       | `#tgif`                              |
| `$cashtag`           | Coincide con un símbolo bursátil o de criptomoneda.                                     | `$TSLA`                              |

Los plurales coinciden con sus singulares y viceversa. Los operadores buscan en el texto, el nombre público del autor, su nombre de usuario y las URL expandidas de la publicación.

***

## 2. Filtros de usuarios y cuentas

| Operador               | Descripción                                                                        | Ejemplo                       |
| :--------------------- | :--------------------------------------------------------------------------------- | :---------------------------- |
| `from:username`        | Publicaciones de una cuenta concreta, sin @.                                       | `from:elonmusk`               |
| `to:username`          | Respuestas dirigidas a una cuenta concreta.                                        | `to:openai`                   |
| `@username`            | Publicaciones que mencionan una cuenta en cualquier parte del texto.               | `@sorsa_app`                  |
| `list:ID`              | Publicaciones de miembros de una lista pública de X. Usa el ID numérico de su URL. | `list:715919216927322112`     |
| `filter:verified`      | Solo cuentas con verificación antigua: marca azul anterior a 2023.                 | `AI filter:verified`          |
| `filter:blue_verified` | Solo suscriptores de X Premium (Blue de pago).                                     | `crypto filter:blue_verified` |
| `filter:follows`       | Solo cuentas que sigues. Disponible únicamente en la web; no admite negación.      | `filter:follows`              |
| `filter:social`        | Tu red ampliada por el algoritmo. Funciona en Top, no en Latest.                   | `filter:social`               |

***

## 3. Filtros de interacción

| Operador                | Descripción                                                                           | Ejemplo                               |
| :---------------------- | :------------------------------------------------------------------------------------ | :------------------------------------ |
| `min_faves:N`           | Número mínimo de Me gusta.                                                            | `AI min_faves:100`                    |
| `min_retweets:N`        | Número mínimo de retuits.                                                             | `crypto min_retweets:50`              |
| `min_replies:N`         | Número mínimo de respuestas.                                                          | `"product launch" min_replies:20`     |
| `-min_faves:N`          | Máximo de Me gusta mediante la forma negada.                                          | `bitcoin -min_faves:1000`             |
| `-min_retweets:N`       | Máximo de retuits.                                                                    | `news -min_retweets:500`              |
| `-min_replies:N`        | Máximo de respuestas.                                                                 | `tech -min_replies:100`               |
| `filter:has_engagement` | Al menos una interacción. Se puede negar para buscar publicaciones sin interacciones. | `from:username filter:has_engagement` |

Los recuentos son aproximados para valores elevados, a partir de 1.000.

***

## 4. Multimedia y tipo de contenido

### Filtros multimedia

| Operador                 | Descripción                                                                                    |
| :----------------------- | :--------------------------------------------------------------------------------------------- |
| `filter:media`           | Todos los tipos multimedia: imágenes, vídeos y GIF.                                            |
| `filter:images`          | Todas las imágenes, incluidos enlaces de terceros.                                             |
| `filter:twimg`           | Solo imágenes nativas de X: enlaces `pic.twitter.com`.                                         |
| `filter:videos`          | Todos los vídeos: nativos de X, YouTube insertado y otros.                                     |
| `filter:native_video`    | Solo vídeos de X: cargas nativas y contenido antiguo de Vine y Periscope.                      |
| `filter:consumer_video`  | Solo vídeo nativo de usuarios; excluye pro/Amplify.                                            |
| `filter:pro_video`       | Solo vídeo profesional de X (Amplify).                                                         |
| `filter:spaces`          | Contenido de audio de X Spaces.                                                                |
| `filter:links`           | Cualquier URL, incluidas las multimedia. Añade `-filter:media` para limitarte a otros enlaces. |
| `card_name:animated_gif` | Coincide específicamente con GIF.                                                              |

### Tipos de publicación

| Operador                 | Descripción                                                              |
| :----------------------- | :----------------------------------------------------------------------- |
| `filter:replies`         | Solo respuestas a otra publicación.                                      |
| `-filter:replies`        | Excluye respuestas y muestra publicaciones originales de nivel superior. |
| `filter:nativeretweets`  | Solo retuits nativos, creados con el botón de retuitear.                 |
| `include:nativeretweets` | Incluye retuits nativos, excluidos de forma predeterminada.              |
| `filter:retweets`        | Retuits antiguos con RT y publicaciones con cita.                        |
| `-filter:retweets`       | Excluye los retuits por completo.                                        |
| `filter:quote`           | Solo publicaciones con cita.                                             |
| `quoted_tweet_id:ID`     | Citas de una publicación por su ID.                                      |
| `quoted_user_id:ID`      | Citas de un usuario por su ID.                                           |
| `conversation_id:ID`     | Todas las publicaciones de un hilo: respuestas directas y anidadas.      |

### Filtros de contenido especial

| Operador                          | Descripción                                                           |
| :-------------------------------- | :-------------------------------------------------------------------- |
| `card_name:poll2choice_text_only` | Encuestas de texto con 2 opciones.                                    |
| `card_name:poll3choice_text_only` | Encuestas de texto con 3 opciones.                                    |
| `card_name:poll4choice_text_only` | Encuestas de texto con 4 opciones.                                    |
| `card_name:poll2choice_image`     | Encuestas con imagen y 2 opciones.                                    |
| `filter:news`                     | Enlaces a dominios de noticias reconocidos.                           |
| `filter:safe`                     | Excluye contenido NSFW o potencialmente sensible; no es una garantía. |
| `filter:hashtags`                 | Solo publicaciones con al menos un hashtag.                           |
| `filter:mentions`                 | Solo publicaciones con alguna mención con @.                          |

***

## 5. Fechas, horas e IDs Snowflake

| Operador                        | Formato                         | Descripción                                                 |
| :------------------------------ | :------------------------------ | :---------------------------------------------------------- |
| `since:YYYY-MM-DD`              | `since:2026-01-01`              | Publicaciones desde esta fecha, incluida.                   |
| `until:YYYY-MM-DD`              | `until:2026-03-01`              | Publicaciones anteriores a esta fecha, excluida.            |
| `since:YYYY-MM-DD_HH:MM:SS_UTC` | `since:2026-03-05_12:00:00_UTC` | Marca temporal precisa con zona horaria.                    |
| `since_time:UNIX`               | `since_time:1142974200`         | Posteriores a una marca temporal Unix en segundos.          |
| `until_time:UNIX`               | `until_time:1142974215`         | Anteriores a una marca temporal Unix.                       |
| `within_time:Xd`                | `within_time:2d`                | De los últimos X días. También admite `h`, `m` y `s`.       |
| `since_id:ID`                   | `since_id:1234567890`           | Posteriores a un ID Snowflake, excluido.                    |
| `max_id:ID`                     | `max_id:1234567890`             | Con un ID Snowflake igual o anterior al indicado, incluido. |

**Conversión de IDs Snowflake.** Cada ID de publicación codifica su fecha de creación:

```text theme={null}
millisecond_epoch = (tweet_id >> 22) + 1288834974657
```

Consulta [Datos históricos](https://docs.sorsa.io/es/historical-data) para recuperar conjuntos del pasado.

***

## 6. Filtros geográficos

| Operador                  | Descripción                                               | Ejemplo                             |
| :------------------------ | :-------------------------------------------------------- | :---------------------------------- |
| `near:"city"`             | Geolocalizadas cerca de un lugar indicado. Admite frases. | `near:"San Francisco"`              |
| `near:me`                 | Cerca de tu ubicación actual; solo en la interfaz de X.   | `near:me`                           |
| `within:Xkm`              | Radio para `near:`. Acepta `km` o `mi`.                   | `earthquake near:Tokyo within:50km` |
| `geocode:lat,long,radius` | Ubicación precisa mediante coordenadas.                   | `geocode:37.77,-122.41,5km`         |
| `place:ID`                | Busca por el ID de un objeto Place de X.                  | `place:96683cc9126741d1`            |

Se estima que solo el 1–2 % de las publicaciones incluye geolocalización precisa. Si no hay coordenadas, la API recurre a la geocodificación inversa de la ubicación del perfil del usuario.

***

## 7. Idioma y origen

### Idioma

Admite códigos ISO 639-1 como `lang:en`, `lang:es`, `lang:fr`, `lang:de`, `lang:ja` y `lang:ru`, además de estos códigos propios de X:

| Código     | Significado                                            |
| :--------- | :----------------------------------------------------- |
| `lang:und` | Idioma indefinido: solo emojis o contenido multimedia. |
| `lang:qme` | Solo enlaces multimedia, desde 2022.                   |
| `lang:qst` | Texto muy breve.                                       |
| `lang:qht` | Solo hashtags.                                         |
| `lang:qam` | Solo menciones.                                        |
| `lang:qct` | Solo símbolos bursátiles o de criptomonedas.           |
| `lang:zxx` | Solo multimedia o Twitter Card, sin texto.             |

### Origen: aplicación de publicación

| Operador             | Descripción                                                                                 | Ejemplo                     |
| :------------------- | :------------------------------------------------------------------------------------------ | :-------------------------- |
| `source:client_name` | Filtra por la aplicación utilizada para publicar. Sustituye los espacios por guiones bajos. | `source:Twitter_for_iPhone` |

Valores habituales: `Twitter_for_iPhone`, `Twitter_for_Android`, `Twitter_Web_App`, `TweetDeck` y `twitter_ads`.

***

## 8. Operadores de tarjetas y URL

| Operador                        | Descripción                                                                                                  |
| :------------------------------ | :----------------------------------------------------------------------------------------------------------- |
| `card_domain:domain`            | Coincide con el dominio de una Twitter Card. Suele equivaler a `url:`.                                       |
| `card_url:domain`               | Similar a `card_domain:`, pero puede devolver resultados diferentes.                                         |
| `card_name:audio`               | Player Cards de Spotify, SoundCloud y otros.                                                                 |
| `card_name:player`              | Cualquier Player Card.                                                                                       |
| `card_name:summary`             | Tarjetas de resumen con imagen pequeña.                                                                      |
| `card_name:summary_large_image` | Tarjetas de resumen con imagen grande.                                                                       |
| `card_name:promo_website`       | Tarjetas de sitios web promocionados.                                                                        |
| `card_name:promo_image_convo`   | Anuncios de conversación con imágenes.                                                                       |
| `card_name:promo_video_convo`   | Anuncios de conversación con vídeo.                                                                          |
| `url:domain`                    | Coincide con URL de dominios y subdominios. Sustituye guiones por guiones bajos, como en `url:t_mobile.com`. |

`card_name:` normalmente solo coincide con publicaciones de los últimos 7–8 días.

***

## Cómo construir consultas

Un orden práctico:

1. **Agrupa las palabras clave:** `(bitcoin OR ethereum OR $BTC)`.
2. **Añade restricciones de contenido:** `lang:en`, `filter:images`, `-filter:replies`.
3. **Establece mínimos de interacción:** `min_faves:50`, `min_retweets:10`.
4. **Excluye ruido:** `-from:spambot`, `-scam`, `-filter:retweets`.
5. **Limita las fechas:** `since:2026-01-01 until:2026-03-01`.

Consulta ejemplos completos con paginación, gestión de límites y 14 recetas de consultas en la [guía del blog](https://api.sorsa.io/blog/twitter-search-operators).

***

## Limitaciones conocidas

* **Máximo de operadores:** aproximadamente 22–23 por consulta.
* **Cobertura geográfica limitada:** solo el 1–2 % incluye ubicación precisa.
* **`card_name:` se limita** a los últimos 7–8 días.
* **Las cuentas privadas y suspendidas** quedan excluidas de los resultados.
* **La detección del idioma es imperfecta** en textos breves, código o publicaciones con muchos emojis.
* **No se indexan todas las publicaciones.** Pueden excluirse las señaladas por infringir las normas de la plataforma.
* **La corrección automática puede ser silenciosa.** Utiliza `+word` o `"word"` para forzar coincidencias exactas.
* **La coincidencia de URL** funciona con dominios y subdominios, pero no es fiable con rutas largas.

***

## Fuente

Esta referencia se basa en el repositorio mantenido [twitter-advanced-search](https://github.com/igorbrigadir/twitter-advanced-search) de Igor Brigadir, una fuente de referencia sobre el comportamiento de búsqueda de X no documentado oficialmente.

***

## Próximos pasos

* [Búsqueda de publicaciones](https://docs.sorsa.io/es/search-tweets): guía del endpoint `/search-tweets`.
* [Seguimiento de menciones](https://docs.sorsa.io/es/search-mentions): estrategias para rastrear menciones de cuentas.
* [Paginación](https://docs.sorsa.io/es/pagination): cómo recorrer grandes conjuntos de resultados.
* [Search Builder](https://api.sorsa.io/playground/search-builder): constructor visual gratuito.
* [Guía completa del blog](https://api.sorsa.io/blog/twitter-search-operators): recetas, código y comparación con X API v2.
