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

# Operadores de Filtered Stream

> Referencia completa de operadores de Filtered Stream de X API v2, que cubre operadores de palabras clave, has:, is: y el operador de embedding semántico (embedding:) exclusivo de Enterprise para reglas de stream.

Esta página proporciona una lista completa de los operadores disponibles al [crear reglas](/x-api/posts/filtered-stream/integrate/build-a-rule) para Filtered Stream.

## Descripción general

Los operadores se utilizan para coincidir con atributos específicos de las publicaciones. Hay dos tipos:

* **Operadores independientes** — Pueden usarse solos o junto con cualquier otro operador
* **Operadores que requieren conjunción** — Deben usarse con al menos un operador independiente

La mayoría de los operadores están disponibles tanto en Pay-per-use como en Enterprise. Algunos operadores avanzados (como el de embedding semántico) requieren Enterprise con acceso a un nivel adicional.

***

## Operadores de palabras clave y frases

| Operador                | Tipo          | Resumen                                                                                 | Ejemplo                               |
| :---------------------- | :------------ | :-------------------------------------------------------------------------------------- | :------------------------------------ |
| `keyword`               | Independiente | Coincide con una palabra clave en el cuerpo de la publicación (coincidencia tokenizada) | `pepsi OR cola OR "coca cola"`        |
| `emoji`                 | Independiente | Coincide con un emoji en el cuerpo de la publicación                                    | `(😃 OR 😡) 😬`                       |
| `"exact phrase"`        | Independiente | Coincide con la frase exacta en el cuerpo de la publicación                             | `("X API" OR #v2) -"filtered stream"` |
| `"keyword1 keyword2"~N` | Independiente | Coincidencia por proximidad — palabras clave dentro de N tokens entre sí (máximo N=6)   | `"social media"~5`                    |

***

## Operadores de entidades

| Operador | Tipo          | Resumen                                                                   | Ejemplo                      |
| :------- | :------------ | :------------------------------------------------------------------------ | :--------------------------- |
| `#`      | Independiente | Coincide con publicaciones que contienen un hashtag (coincidencia exacta) | `#thankunext #fanart`        |
| `@`      | Independiente | Coincide con publicaciones que mencionan un nombre de usuario             | `(@XDevelopers OR @api) -@x` |
| `$`      | Independiente | Coincide con publicaciones que contienen un cashtag                       | `$twtr OR @XDevelopers -$fb` |

***

## Operadores de usuario

| Operador             | Tipo          | Resumen                                                                       | Ejemplo                         |
| :------------------- | :------------ | :---------------------------------------------------------------------------- | :------------------------------ |
| `from:`              | Independiente | Coincide con publicaciones de un usuario específico                           | `from:XDevelopers OR from:api`  |
| `to:`                | Independiente | Coincide con publicaciones que responden a un usuario específico              | `to:XDevelopers OR to:api`      |
| `retweets_of:`       | Independiente | Coincide con Retweets de un usuario específico                                | `retweets_of:XDevelopers`       |
| `from_affiliate_of:` | Independiente | Coincide con publicaciones de afiliados de un usuario específico              | `from_affiliate_of:XDevelopers` |
| `to_affiliate_of:`   | Independiente | Coincide con publicaciones que responden a afiliados de un usuario específico | `to_affiliate_of:XDevelopers`   |

***

## Operadores de URL

| Operador           | Tipo          | Resumen                                                                                 | Ejemplo                         |
| :----------------- | :------------ | :-------------------------------------------------------------------------------------- | :------------------------------ |
| `url:`             | Independiente | Coincidencia tokenizada en la URL (coincide con los campos `url` o `expanded_url`)      | `url:"https://developer.x.com"` |
| `url_title:`       | —             | Coincidencia de palabra clave en los metadatos del título HTML de la URL expandida      | `url_title:snow`                |
| `url_description:` | —             | Coincidencia de palabra clave en los metadatos de la descripción de la página expandida | `url_description:weather`       |
| `url_contains:`    | —             | Coincidencia literal con el contenido de la URL                                         | `url_contains:photos`           |

***

## Operadores de contexto y entidades

| Operador           | Tipo          | Resumen                                                                 | Ejemplo                                          |
| :----------------- | :------------ | :---------------------------------------------------------------------- | :----------------------------------------------- |
| `context:`         | Independiente | Coincide con publicaciones con un par específico de dominio/entidad     | `context:10.799022225751871488` o `context:47.*` |
| `entity:`          | Independiente | Coincide con publicaciones con un valor de cadena de entidad específico | `entity:"Michael Jordan"`                        |
| `conversation_id:` | Independiente | Coincide con publicaciones en un hilo de conversación                   | `conversation_id:1334987486343299072`            |

***

## Operadores de perfil de usuario

| Operador        | Tipo          | Resumen                                                                    | Ejemplo                                        |
| :-------------- | :------------ | :------------------------------------------------------------------------- | :--------------------------------------------- |
| `bio:`          | Independiente | Coincide con una palabra clave en la biografía del autor de la publicación | `bio:developer OR bio:"data engineer"`         |
| `bio_name:`     | Independiente | Coincide con una palabra clave en el nombre del autor de la publicación    | `bio_name:phd OR bio_name:md`                  |
| `bio_location:` | Independiente | Coincide con una palabra clave en la ubicación del autor de la publicación | `bio_location:"big apple" OR bio_location:nyc` |

***

## Operadores de ubicación

| Operador         | Tipo          | Resumen                                                             | Ejemplo                                                     |
| :--------------- | :------------ | :------------------------------------------------------------------ | :---------------------------------------------------------- |
| `place:`         | Independiente | Coincide con publicaciones etiquetadas con una ubicación            | `place:"new york city" OR place:seattle`                    |
| `place_country:` | Independiente | Coincide con publicaciones que tienen un código de país             | `place_country:US OR place_country:MX`                      |
| `point_radius:`  | Independiente | Coincide con publicaciones dentro de un radio alrededor de un punto | `point_radius:[2.355128 48.861118 16km]`                    |
| `bounding_box:`  | Independiente | Coincide con publicaciones dentro de un cuadro delimitador          | `bounding_box:[-105.301758 39.964069 -105.178505 40.09455]` |

***

## Operadores de tipo de publicación

| Operador       | Tipo                | Resumen                                              | Ejemplo                         |
| :------------- | :------------------ | :--------------------------------------------------- | :------------------------------ |
| `is:retweet`   | Requiere conjunción | Coincide con Retweets                                | `data @XDevelopers -is:retweet` |
| `is:reply`     | Requiere conjunción | Coincide con respuestas                              | `from:XDevelopers is:reply`     |
| `is:quote`     | Requiere conjunción | Coincide con Quote Tweets                            | `"sentiment analysis" is:quote` |
| `is:verified`  | Requiere conjunción | Coincide con publicaciones de autores verificados    | `#nowplaying is:verified`       |
| `-is:nullcast` | Requiere conjunción | Excluye publicaciones promocionales (debe ir negado) | `"mobile games" -is:nullcast`   |

***

## Operadores de tipo de contenido

| Operador         | Tipo                | Resumen                                                            | Ejemplo                              |
| :--------------- | :------------------ | :----------------------------------------------------------------- | :----------------------------------- |
| `has:hashtags`   | Requiere conjunción | Coincide con publicaciones que contienen hashtags                  | `from:XDevelopers -has:hashtags`     |
| `has:cashtags`   | Requiere conjunción | Coincide con publicaciones que contienen cashtags                  | `#stonks has:cashtags`               |
| `has:links`      | Requiere conjunción | Coincide con publicaciones que contienen enlaces                   | `from:XDevelopers has:links`         |
| `has:mentions`   | Requiere conjunción | Coincide con publicaciones que contienen menciones                 | `#nowplaying has:mentions`           |
| `has:media`      | Requiere conjunción | Coincide con publicaciones que contienen medios (foto, GIF, video) | `(kittens OR puppies) has:media`     |
| `has:images`     | Requiere conjunción | Coincide con publicaciones que contienen imágenes                  | `#meme has:images`                   |
| `has:video_link` | Requiere conjunción | Coincide con publicaciones con videos nativos de X                 | `#icebucketchallenge has:video_link` |
| `has:geo`        | Requiere conjunción | Coincide con publicaciones que contienen datos de geolocalización  | `recommend #paris has:geo`           |

***

## Operadores de muestreo e idioma

| Operador  | Tipo                | Resumen                                                         | Ejemplo                          |
| :-------- | :------------------ | :-------------------------------------------------------------- | :------------------------------- |
| `sample:` | Requiere conjunción | Devuelve una muestra aleatoria por porcentaje (1-100)           | `#nowplaying @spotify sample:15` |
| `lang:`   | Requiere conjunción | Coincide con publicaciones clasificadas en un idioma específico | `recommend #paris lang:en`       |

***

## Operadores de métricas de usuario

| Operador           | Tipo | Resumen                                                                                       | Ejemplo                       |
| :----------------- | :--- | :-------------------------------------------------------------------------------------------- | :---------------------------- |
| `min_followers:`   | —    | Coincide con publicaciones de usuarios con al menos el número especificado de seguidores      | `min_followers:1000`          |
| `followers_count:` | —    | Coincide con publicaciones de usuarios cuyo número de seguidores esté en el rango indicado    | `followers_count:1000..10000` |
| `tweets_count:`    | —    | Coincide con publicaciones de usuarios cuyo número de publicaciones esté en el rango indicado | `tweets_count:1000..10000`    |
| `following_count:` | —    | Coincide con publicaciones de usuarios cuyo número de seguidos esté en el rango indicado      | `following_count:1000..10000` |
| `listed_count:`    | —    | Coincide con publicaciones de usuarios incluidos en el número especificado de Listas          | `listed_count:10..100`        |

***

## Operadores de referencia de publicación

| Operador                | Tipo | Resumen                                                                        | Ejemplo                                    |
| :---------------------- | :--- | :----------------------------------------------------------------------------- | :----------------------------------------- |
| `in_reply_to_tweet_id:` | —    | Coincide con respuestas a una publicación específica                           | `in_reply_to_tweet_id:1539382664746020864` |
| `retweets_of_tweet_id:` | —    | Coincide con Retweets de una publicación específica                            | `retweets_of_tweet_id:1539382664746020864` |
| `source:`               | —    | Coincide con publicaciones provenientes de una aplicación de origen específica | `source:"X for iPhone"`                    |

***

## Operadores lógicos

| Operador      | Resumen                               | Ejemplo                      |
| :------------ | :------------------------------------ | :--------------------------- |
| `OR`          | OR lógico entre expresiones           | `cat OR dog`                 |
| Espacio (AND) | AND lógico entre expresiones          | `cat dog` (ambos requeridos) |
| `()`          | Agrupación para expresiones complejas | `(cat OR dog) -is:retweet`   |
| `-`           | Negación/exclusión                    | `cat -grumpy`                |

***

## Operadores de embedding

<Note>
  **Solo Enterprise — Se requiere el nivel Embedding**

  Los operadores `embedding:` y `embedding_threshold:` solo están disponibles en cuentas Enterprise aprovisionadas con acceso al nivel Embedding para Filtered Stream. En niveles no compatibles, la creación de reglas se rechazará con un error de "operador no disponible". Comunícate con tu representante de cuenta para habilitarlo.
</Note>

Estos operadores utilizan un modelo de embedding neuronal para coincidir con publicaciones por *similitud semántica* con una consulta, en lugar de requerir coincidencias exactas de palabras clave.

| Operador                   | Tipo                | Resumen                                                                                                                       | Ejemplo                                                          |
| :------------------------- | :------------------ | :---------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------- |
| `embedding:"query"`        | Independiente       | Coincide con publicaciones semánticamente similares a la consulta. Las consultas con varias palabras deben ir entre comillas. | `embedding:"climate change policy"`                              |
| `embedding_threshold:X.XX` | Requiere conjunción | Similitud coseno mínima para una coincidencia (0.0–1.0). El valor predeterminado es `0.3`. Usa valores entre 0.3 y 0.6.       | `embedding:"cryptocurrency regulation" embedding_threshold:0.45` |

### Requisitos y notas clave

* `embedding_threshold:` **no puede** ser el único operador en una regla. Combínalo con `embedding:` (u otro operador independiente).
* **No niegues** `embedding:` (por ejemplo, `-embedding:"..."` no es compatible).
* Las consultas en lenguaje natural más largas y descriptivas producen mejores resultados que las palabras clave cortas.
* El procesamiento de las consultas de embedding es asíncrono — las reglas recién creadas pueden tardar unos segundos antes de comenzar a coincidir.
* Cuando una publicación coincide mediante una regla de embedding, las entradas `matching_rules` del payload entregado contendrán `embedding_similarity` y `embedding_threshold` (consulta [Asociar publicaciones a reglas](/x-api/posts/filtered-stream/integrate/matching-returned-tweets)).

**Reglas de ejemplo:**

* `embedding:"electric vehicle announcements" lang:en -is:retweet has:links`
* `embedding:"natural disaster relief" embedding_threshold:0.45 has:media`
* `embedding:"renewable energy" embedding_threshold:0.4 OR embedding:"solar power investment"`

***

## Idiomas admitidos

El operador `lang:` admite estos códigos de idioma BCP 47:

| Idioma     | Código | Idioma    | Código | Idioma             | Código  |
| :--------- | :----- | :-------- | :----- | :----------------- | :------ |
| Amárico    | `am`   | Griego    | `el`   | Portugués          | `pt`    |
| Árabe      | `ar`   | Guyaratí  | `gu`   | Rumano             | `ro`    |
| Armenio    | `hy`   | Hebreo    | `iw`   | Ruso               | `ru`    |
| Euskera    | `eu`   | Hindi     | `hi`   | Serbio             | `sr`    |
| Bengalí    | `bn`   | Húngaro   | `hu`   | Chino simplificado | `zh-CN` |
| Búlgaro    | `bg`   | Indonesio | `in`   | Eslovaco           | `sk`    |
| Catalán    | `ca`   | Italiano  | `it`   | Esloveno           | `sl`    |
| Croata     | `hr`   | Japonés   | `ja`   | Español            | `es`    |
| Checo      | `cs`   | Canarés   | `kn`   | Sueco              | `sv`    |
| Danés      | `da`   | Coreano   | `ko`   | Tamil              | `ta`    |
| Neerlandés | `nl`   | Letón     | `lv`   | Telugu             | `te`    |
| Inglés     | `en`   | Lituano   | `lt`   | Tailandés          | `th`    |
| Estonio    | `et`   | Malayalam | `ml`   | Chino tradicional  | `zh-TW` |
| Finés      | `fi`   | Maratí    | `mr`   | Turco              | `tr`    |
| Francés    | `fr`   | Noruego   | `no`   | Ucraniano          | `uk`    |
| Alemán     | `de`   | Persa     | `fa`   | Urdu               | `ur`    |
| Georgiano  | `ka`   | Polaco    | `pl`   | Vietnamita         | `vi`    |

***

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Crear una regla" icon="filter" href="/x-api/posts/filtered-stream/integrate/build-a-rule">
    Aprende la sintaxis de las reglas y sus mejores prácticas
  </Card>

  <Card title="Introducción a Filtered Stream" icon="bolt" href="/x-api/posts/filtered-stream/introduction">
    Comienza con Filtered Stream
  </Card>

  <Card title="Gestionar desconexiones" icon="plug" href="/x-api/fundamentals/handling-disconnections">
    Maneja desconexiones de streaming
  </Card>
</CardGroup>
