Saltar al contenido principal

Creación de una query

¡Limitaciones de la query! Tus queries estarán limitadas según el nivel de acceso que utilices. Si tienes acceso Pro, tu query puede tener hasta 512 caracteres. Si tienes acceso Enterprise, comunícate con tu gerente de cuenta. Disponibilidad de operadores Si bien la mayoría de los operadores están disponibles para cualquier desarrollador, hay varios reservados para quienes han sido aprobados para el acceso Enterprise. Indicamos a qué nivel de acceso está disponible cada operador en la tabla de la lista de operadores usando las siguientes etiquetas:
  • Operadores básicos: Disponibles al usar cualquier Project.
  • Operadores avanzados: Disponibles al usar un Project con acceso Enterprise   

Tipos de operadores: independientes y que requieren conjunción

Los operadores independientes se pueden usar solos o junto con cualquier otro operador (incluidos aquellos que requieren conjunción). Por ejemplo, la siguiente query funcionará porque usa el operador #hashtag, que es independiente: #xapiv2 Los operadores que requieren conjunción no se pueden usar por sí solos en una query; solo se pueden usar cuando la query incluye al menos un operador independiente. Esto se debe a que usar estos operadores por sí solos sería demasiado general y coincidiría con un volumen extremadamente alto de Posts. Por ejemplo, las siguientes queries no son compatibles, ya que contienen únicamente operadores que requieren conjunción: has:media has:links OR is:retweet Si añadimos un operador independiente, como la frase “X data”, entonces la query funcionará correctamente. “X data” has:mentions (has:media OR has:links)

Operadores booleanos y agrupación

Si desea encadenar múltiples operadores en una sola query, tiene las siguientes herramientas a su disposición:
Lógica ANDLos operadores sucesivos con un espacio entre ellos darán como resultado lógica booleana “AND”, lo que significa que los Posts coincidirán solo si se cumplen ambas condiciones. Por ejemplo, snow day #NoSchool coincidirá con Posts que contengan los términos snow y day y el hashtag #NoSchool.
Lógica ORLos operadores sucesivos con OR entre ellos darán como resultado lógica OR, lo que significa que los Posts coincidirán si se cumple cualquiera de las condiciones. Por ejemplo, especificar grumpy OR cat OR #meme coincidirá con cualquier Post que contenga al menos los términos grumpy o cat, o el hashtag #meme.
Lógica NOT, negaciónAnteponer un guion (-) a una palabra clave (o a cualquier operador) la niega (NOT). Por ejemplo, cat #meme -grumpy coincidirá con Posts que contengan el hashtag #meme y el término cat, pero solo si no contienen el término grumpy. Una cláusula de query común es -is:retweet, que no coincidirá con Retweets y, por lo tanto, coincidirá solo con Posts originales, Quote Tweets y respuestas. Todos los operadores se pueden negar, pero los operadores negados no se pueden usar solos.
AgrupaciónPuede usar paréntesis para agrupar operadores. Por ejemplo, (grumpy cat) OR (#meme has:images) devolverá Posts que contengan los términos grumpy y cat, o Posts con imágenes que contengan el hashtag #meme. Tenga en cuenta que los AND se aplican primero y luego los OR.
Una nota sobre las negaciones El operador -is:nullcast siempre debe estar negado. Los operadores negados no se pueden usar solos. No niegue un conjunto de operadores agrupados entre paréntesis. En su lugar, niegue cada operador individual. Por ejemplo, en lugar de usar skiing -(snow OR day OR noschool), le sugerimos usar skiing -snow -day -noschool.  Orden de operaciones Al combinar la funcionalidad AND y OR, el siguiente orden de operaciones dictará cómo se evalúa su query.
  1. Primero se combinan los operadores conectados por lógica AND
  2. Luego, se aplican los operadores conectados con lógica OR
Por ejemplo:
  • apple OR iphone ipad se evaluará como apple OR (iphone ipad)
  • ipad iphone OR android se evaluará como (iphone ipad) OR android
Para eliminar la incertidumbre y asegurarse de que su query se evalúe como se pretende, agrupe los términos con paréntesis cuando corresponda.  Por ejemplo:
  • (apple OR iphone) ipad
  • iphone (ipad OR android)  
Puntuación, diacríticos y distinción entre mayúsculas y minúsculas Si especifica una query de palabra clave o hashtag con acentos o diacríticos, coincidirá con texto de Post que contenga tanto el término con acentos y diacríticos como esos términos con caracteres normales. Por ejemplo, las queries con la palabra clave Diacrítica o el hashtag #cumpleaños coincidirán con Diacrítica o #cumpleaños, así como con Diacritica o #cumpleanos sin la tilde í o eñe. Los caracteres con acentos o diacríticos se tratan igual que los caracteres normales y no se tratan como límites de palabra. Por ejemplo, una query con la palabra clave cumpleaños solo coincidiría con actividades que contengan la palabra cumpleaños y no coincidiría con actividades que contengan cumplea, cumplean u os. Todos los operadores se evalúan sin distinguir mayúsculas de minúsculas. Por ejemplo, la query cat coincidirá con Posts con todos los siguientes: cat, CAT, Cat. El comportamiento de coincidencia del stream filtrado funciona de manera diferente al de los recuentos de Posts. Al crear una regla de stream filtrado, tenga en cuenta que las palabras clave y los hashtags que incluyen acentos y diacríticos solo coincidirán con términos que también incluyan el acento y el diacrítico, y no coincidirán con términos que usen caracteres normales en su lugar.  Por ejemplo, las reglas de stream filtrado que incluyen la palabra clave Diacrítica o el hashtag #cumpleaños solo coincidirán con los términos Diacrítica y #cumpleaños, y no coincidirán con Diacritica o #cumpleanos sin la tilde í o eñe Especificidad y eficiencia Cuando comience a crear su query, es importante tener en cuenta algunas cosas.
  • Usar operadores amplios e independientes en tu query, como una sola palabra clave o #hashtag, generalmente no es recomendable, ya que probablemente coincidirá con un volumen masivo de Posts. Crear una query más sólida dará como resultado un conjunto más específico de Posts coincidentes y, con suerte, aumentará la precisión de tus recuentos de Post para ayudarte a encontrar información más valiosa.
    • Por ejemplo, si tu query fuera solo la palabra clave happy, probablemente obtendrás entre 200,000 y 300,000 Posts por día.
    • Agregar más operadores condicionales reduce tus resultados; por ejemplo, (happy OR happiness) place_country:GB -birthday -is:retweet
  • Escribir queries eficientes también ayuda a mantenerse dentro de la restricción de longitud de caracteres de la query. El recuento de caracteres incluye toda la cadena de la query, incluidos los espacios y operadores.
    • Por ejemplo, la siguiente query tiene 59 caracteres: (happy OR happiness) place_country:GB -birthday -is:retweet
Comportamiento de coincidencia de Quote Tweet Al usar los endpoints de recuentos de Post, los operadores no coincidirán con el contenido del Post original que fue citado, pero sí con el contenido incluido en el Quote Tweet. Sin embargo, ten en cuenta que filtered stream coincidirá tanto con el contenido del Post original que fue citado como con el contenido del Quote Tweet.   Construcción iterativa de una query Prueba tu query temprano y con frecuencia Lograr que una query devuelva los resultados “correctos” a la primera es raro. Hay tanto en X que puede o no ser obvio al principio, y la sintaxis de la query descrita arriba puede ser difícil de ajustar a tu query deseada. A medida que construyes una query, es importante probarla periódicamente usando uno de los endpoints de Search Post para asegurarte de que los Posts que coinciden con tu query sean relevantes para tu caso de uso. Para esta sección, vamos a comenzar con la siguiente query y ajustarla según los resultados que recibamos durante nuestra prueba:  happy OR happiness Usa los resultados para acotar la query Mientras pruebas la query con Search Posts, debes revisar los Posts devueltos para ver si incluyen los data que esperas y deseas recibir. Comenzar con una query amplia y un superconjunto de coincidencias de Post te permite revisar el resultado y acotar la query para filtrar resultados no deseados.   Cuando probamos la query de ejemplo, notamos que estábamos recibiendo Posts en una variedad de idiomas. En esta situación, solo queremos recibir Posts que estén en inglés, así que vamos a agregar el operador lang: (happy OR happiness) lang:en La prueba entregó varios Posts que deseaban un feliz cumpleaños, así que vamos a agregar -birthday como operador de palabra clave negada. También queremos recibir solo Posts originales, por lo que hemos agregado el operador negado -is:retweet: (happy OR happiness) lang:en -birthday -is:retweet Ajustar para inclusión cuando sea necesario Si notas que no estás recibiendo data a través de Search Posts que esperas y sabes que existen Posts que deberían devolverse, puede que necesites ampliar tu query eliminando operadores que podrían estar filtrando los data deseados.  En nuestro ejemplo, notamos que había otros Posts en nuestra cronología personal que expresaban la emoción que buscamos y no estaban incluidos en los resultados de la prueba. Para asegurar una mayor cobertura, vamos a agregar las palabras clave excited y elated. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet Ajustar por tendencias/repuntes populares durante el período Las tendencias van y vienen rápidamente en X. Mantener tu query debe ser un proceso activo. Si planeas usar una query por un tiempo, te sugerimos revisar periódicamente los data que estás recibiendo para ver si necesitas hacer ajustes. En nuestro ejemplo, notamos que empezamos a recibir algunos Posts que deseaban a la gente “happy holidays”. Como no queremos que estos Posts se incluyan en nuestros resultados, vamos a agregar la palabra clave negada -holidays. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays  Una vez que hayas probado e iterado correctamente tu query, puedes comenzar a enviarla con los endpoints de recuentos de Post para empezar a recibir solo el volumen de Posts en lugar de las cargas útiles completas de Post.

Añadir una query a su solicitud

Para añadir su query a su solicitud, debe usar el parámetro query. Como con cualquier parámetro de query, asegúrese de codificar por HTTP la query que desarrolló. A continuación, se muestra un ejemplo de cómo podría verse usando un comando cURL. Si desea usar este comando, asegúrese de reemplazar $BEARER_TOKEN con su propio Bearer Token:
      curl https://api.x.com/2/tweets/counts/recent?query=cat%20has%3Amedia%20-grumpy&tweet.fields=created_at&max_results=100 -H "Authorization: Bearer $BEARER_TOKEN"

Ejemplos de consultas

Seguimiento de un desastre natural La siguiente consulta coincidió con Posts originales de agencias meteorológicas e instrumentos de medición que hablaban del huracán Harvey, que azotó Houston en 2017. Así se vería la consulta sin la codificación HTTP: has:geo (from:NWSNHC OR from:NHC_Atlantic OR from:NWSHouston OR from:NWSSanAntonio OR from:USGS_TexasRain OR from:USGS_TexasFlood OR from:JeffLindner1) -is:retweet Y así se vería la consulta con la codificación HTTP, el parámetro query y el URI de recuentos de Posts recientes: https://api.x.com/2/tweets/counts/recent?query=-is%3Aretweet%20has%3Ageo%20(from%3ANWSNHC%20OR%20from%3ANHC\_Atlantic%20OR%20from%3ANWSHouston%20OR%20from%3ANWSSanAntonio%20OR%20from%3AUSGS\_TexasRain%20OR%20from%3AUSGS_TexasFlood%20OR%20from%3AJeffLindner1) Análisis del sentimiento de una conversación La siguiente regla podría usarse para comprender mejor el sentimiento de la conversación en torno al hashtag #nowplaying, pero limitada a Posts publicados únicamente en Norteamérica. Así se verían las dos consultas diferentes, una para positivo y otra para negativo, sin la codificación HTTP: #nowplaying (happy OR exciting OR excited OR favorite OR fav OR amazing OR lovely OR incredible) (place_country:US OR place_country:MX OR place_country:CA) -horrible -worst -sucks -bad -disappointing #nowplaying (horrible OR worst OR sucks OR bad OR disappointing) (place_country:US OR place_country:MX OR place_country:CA) -happy -exciting -excited -favorite -fav -amazing -lovely -incredible Y así se vería la consulta con la codificación HTTP, el parámetro query y el URI de recuentos de Posts recientes: https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(happy%20OR%20exciting%20OR%20excited%20OR%20favorite%20OR%20fav%20OR%20amazing%20OR%20lovely%20OR%20incredible)%20(place\_country%3AUS%20OR%20place\_country%3AMX%20OR%20place_country%3ACA)%20-horrible%20-worst%20-sucks%20-bad%20-disappointing https://api.x.com/2/tweets/counts/recent?query=%23nowplaying%20(horrible%20OR%20worst%20OR%20sucks%20OR%20bad%20OR%20disappointing)%20(place\_country%3AUS%20OR%20place\_country%3AMX%20OR%20place_country%3ACA)%20-happy%20-exciting%20-excited%20-favorite%20-fav%20-amazing%20-lovely%20-incredible Buscar Posts relacionados con una anotación específica de un Post Esta regla se creó para filtrar Posts originales que incluyeran una imagen de una mascota que no fuera un gato, donde el idioma identificado en el Post es japonés. Para ello, usamos el operador context: para aprovechar la funcionalidad de Post annotation. Primero usamos el endpoint de Post lookup y el parámetro de fields tweet.fields=context_annotations para identificar qué IDs de domain.entity necesitamos usar en nuestra consulta:
  • Los Posts relacionados con gatos devuelven el domain 66 (categoría Interests and Hobbies) con la entidad 852262932607926273 (Cats).
  • Los Posts relacionados con mascotas devuelven el domain 65 (Interests and Hobbies Vertical) con la entidad 852262932607926273 (Pets).
Así se vería la consulta sin la codificación HTTP: context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja Y así se vería la consulta con la codificación HTTP, el parámetro query y el URI de recuentos de Posts recientes: https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja

Operadores

OperadorTipoDisponibilidadDescripción
keywordIndependienteCoreBusca una palabra clave dentro del cuerpo de un Post. Esta es una coincidencia tokenizada, lo que significa que tu cadena de palabra clave se comparará con el texto tokenizado del cuerpo del Post. La tokenización divide las palabras basándose en puntuación, símbolos y caracteres separadores del plano básico Unicode. Por ejemplo, un Post con el texto “I like coca-cola” se dividiría en los siguientes tokens: I, like, coca, cola. Estos tokens se compararían entonces con la cadena de palabra clave utilizada en tu query. Para buscar cadenas que contengan puntuación (por ejemplo coca-cola), símbolos o caracteres separadores, debes envolver tu palabra clave entre comillas dobles. Ejemplo: pepsi OR cola OR "coca cola"
emojiIndependienteCoreBusca un emoji dentro del cuerpo de un Post. Similar a una palabra clave, los emojis son una coincidencia tokenizada, lo que significa que tu emoji se comparará con el texto tokenizado del cuerpo del Post. Ten en cuenta que si un emoji tiene una variante, debes envolverlo entre comillas dobles para agregarlo a un query. Ejemplo: (😃 OR 😡) 😬
"exact phrase match"IndependienteCoreBusca la frase exacta dentro del cuerpo de un Post. Ejemplo: ("X API" OR #v2) -"recent counts"
#IndependienteCoreBusca cualquier Post que contenga un hashtag reconocido, si el hashtag es una entidad reconocida en un Post. Este operador realiza una coincidencia exacta, NO una coincidencia tokenizada, lo que significa que la regla #thanku coincidirá con posts que tengan exactamente el hashtag #thanku, pero no con aquellos que tengan el hashtag #thankunext. Ejemplo: #thankunext #fanart OR @arianagrande
@IndependienteCoreBusca cualquier Post que mencione el nombre de usuario dado, si el nombre de usuario es una entidad reconocida (incluyendo el carácter @). Ejemplo: (@XDevelopers OR @API) -@X
$IndependienteAdvancedBusca cualquier Post que contenga el ‘cashtag’ especificado (donde el carácter inicial del token es el carácter ‘'). Ten en cuenta que el operador cashtag se basa en la extracción de entidades 'symbols' de X para encontrar cashtags, en lugar de intentar extraer el cashtag del cuerpo mismo. Ejemplo: `twtr OR @XDevelopers -$fb`
from:IndependienteCoreBusca cualquier Post de un usuario específico. El valor puede ser el nombre de usuario (excluyendo el carácter @) o el ID numérico del usuario. Solo puedes pasar un único nombre de usuario/ID por operador from:. Ejemplo: from:XDevelopers OR from:API -from:X
to:IndependienteCoreBusca cualquier Post que sea una respuesta a un usuario particular. El valor puede ser el nombre de usuario (excluyendo el carácter @) o el ID numérico del usuario. Solo puedes pasar un único nombre de usuario/ID por operador to:. Ejemplo: to:XDevelopers OR to:API -to:X
url:IndependienteCoreRealiza una búsqueda tokenizada en cualquier URL con formato válido de un Post. Este operador puede buscar en el contenido de los campos url o expanded_url. Por ejemplo, un Post que contenga “You should check out X Developer Labs: https://t.co/c0A36SWil4” (con la URL corta redirigiendo a https://developer.x.com) coincidirá con ambas reglas siguientes: from:XDevelopers url:"https://developer.x.com" y from:XDevelopers url:"https://t.co". Los tokens y frases que contengan puntuación o caracteres especiales deben estar entre comillas dobles.
retweets_of:IndependienteCoreBusca Posts que son Retweets del usuario especificado. El valor puede ser el nombre de usuario (excluyendo el carácter @) o el ID numérico del usuario. Solo puedes pasar un único nombre de usuario/ID por operador retweets_of:. Ejemplo: retweets_of:XDevelopers OR retweets_of:API
context:IndependienteCoreBusca Posts con un par específico de domain id/entity id. Solo puedes pasar un único dominio/entidad por operador context:. Ejemplo: context:domain_id.entity_id. Puedes combinar múltiples dominios/entidades usando el operador OR: (context:47.113922 9372198469633 OR context:11.1088514520308342784)
entity:IndependienteCoreBusca Posts con un valor de cadena de entidad específico. Solo puedes pasar un único operador entity:. Ejemplo: entity:"string declaration of entity/place". Ten en cuenta que esto solo está disponible con búsqueda reciente.
conversation_id:IndependienteCoreBusca Posts que comparten un conversation_id común. Un conversation_id se establece al ID de Post de un Post que inició una conversación. Cuando se publican respuestas a un Post, incluso respuestas a respuestas, el conversation_id se agrega a su payload JSON. Solo puedes pasar un único conversation ID por operador conversation_id:. Ejemplo: conversation_id:1334987486343299072 (from:XDevelopers OR from:API)
list:IndependienteAdvancedBusca Posts publicados por usuarios que son miembros de un List especificado. Por ejemplo, si @XDevelopers y @API fueran miembros del List 123, y incluyeras list:123 en tu query, tu respuesta solo contendrá Posts que hayan sido publicados por esas cuentas. Puedes encontrar IDs de List usando el endpoint de búsqueda de List. Ejemplo: list:123
place:IndependienteAdvancedBusca Posts etiquetados con la ubicación especificada o ID de lugar de X. Los nombres de lugares de múltiples palabras (“New York City”, “Palo Alto”) deben estar encerrados entre comillas. Solo puedes pasar un único lugar por operador place:. Nota: Consulta el endpoint GET geo/search Standard v1.1 para obtener IDs de lugar de X. Ejemplo: place:"new york city" OR place:seattle OR place:fd70c22040963ac7
place_country:IndependienteAdvancedBusca Posts donde el código de país asociado con un lugar/ubicación etiquetado coincide con el código de carácter alfa-2 ISO dado. Puedes encontrar una lista de códigos ISO válidos en Wikipedia. Solo puedes pasar un único código ISO por operador place_country:. Ejemplo: place_country:US OR place_country:MX OR place_country:CA
point_radius:IndependienteAdvancedBusca en el objeto place.geo.coordinates del Post cuando está presente, y en X, en un polígono geo de lugar, donde el polígono del lugar está completamente contenido dentro de la región definida. point_radius:[longitude latitude radius]. Las unidades de radio soportadas son millas (mi) y kilómetros (km). El radio debe ser menor a 25mi. La longitud está en el rango de ±180. La latitud está en el rango de ±90. Todas las coordenadas están en grados decimales. Los argumentos de la regla están contenidos dentro de corchetes, delimitados por espacios. Ejemplo: point_radius:[2.355128 48.861118 16km] OR point_radius:[-41.287336 174.761070 20mi]
bounding_box:IndependienteAdvancedBusca en el objeto place.geo.coordinates del Post cuando está presente, y en X, en un polígono geo de lugar, donde el polígono del lugar está completamente contenido dentro de la región definida. bounding_box:[west_long south_lat east_long north_lat]. El ancho y alto de la caja delimitadora debe ser menor a 25mi. La longitud está en el rango de ±180. La latitud está en el rango de ±90. Todas las coordenadas están en grados decimales. Los argumentos de la regla están contenidos dentro de corchetes, delimitados por espacios. Ejemplo: bounding_box:[-105.301758 39.964069 -105.178505 40.09455]
is:retweetConjunción requeridaCoreBusca Retweets que coincidan con el resto de la regla especificada. Este operador busca solo Retweets verdaderos (por ejemplo, aquellos generados usando el botón Retweet). Los Quote Tweets no serán encontrados por este operador. Ejemplo: data @XDevelopers -is:retweet
is:replyConjunción requeridaCoreEntrega solo respuestas explícitas que coincidan con una regla. También puede ser negado para excluir respuestas que coincidan con un query de la entrega. Nota: Este operador también está disponible con el endpoint de stream filtrado. Cuando se usa con stream filtrado, este operador busca respuestas a un Post original, respuestas en Posts citados y respuestas en Retweets. Ejemplo: from:XDevelopers is:reply
is:quoteConjunción requeridaCoreDevuelve todos los Quote Tweets, también conocidos como Posts con comentarios. Ejemplo: "sentiment analysis" is:quote
is:verifiedConjunción requeridaCoreEntrega solo Posts cuyos autores están verificados por X. Ejemplo: #nowplaying is:verified
-is :nullcastConjunción requeridaAdvancedElimina Posts creados únicamente para promoción en ads.x.com que tienen un "source":"Twitter for Advertisers (legacy)" o "source":"Twitter for Advertisers". Este operador debe negarse. Para más información sobre Posts Nullcasted, consulta nuestra página sobre disponibilidad de Posts. Ejemplo: "mobile games" -is:nullcast
has:hashtagsConjunción requeridaCoreEncuentra Posts que contienen al menos un hashtag. Ejemplo: from:XDevelopers -has:hashtags
has:cashtagsConjunción requeridaAdvancedEncuentra Posts que contienen un símbolo cashtag (con un carácter ‘' inicial. Por ejemplo, `tag). Ejemplo: #stonks has:cashtags`
has:linksConjunción requeridaCoreEste operador encuentra Posts que contienen enlaces y medios en el cuerpo del Post. Ejemplo: from:XDevelopers announcement has:links
has:mentionsConjunción requeridaCoreEncuentra Posts que mencionan a otro usuario de X. Ejemplo: #nowplaying has:mentions
has:mediaConjunción requeridaCoreEncuentra Posts que contienen un objeto multimedia, como una foto, GIF o video, según lo determinado por X. Esto no incluirá medios creados con Periscope, o Posts con enlaces a otros sitios de alojamiento de medios. Ejemplo: (kittens OR puppies) has:media
has:imagesConjunción requeridaCoreEncuentra Posts que contienen una URL reconocida hacia una imagen. Ejemplo: #meme has:images
has:videosConjunción requeridaCoreEncuentra Posts que contienen videos nativos de X, subidos directamente a X. Esto no incluirá videos creados con Periscope, o Posts con enlaces a otros sitios de alojamiento de videos. Ejemplo: #icebucketchallenge has:videos
has:geoConjunción requeridaAdvancedEncuentra Posts que tienen datos de geolocalización específicos del Post proporcionados por el usuario de X. Esto puede ser una ubicación en forma de un lugar de X, con el nombre de visualización correspondiente, polígono geográfico y otros campos, o en casos excepcionales, una coordenada geográfica lat-long. Nota: Los operadores que buscan por lugar (geo del Post) solo incluirán resultados de posts originales. Los Retweets no contienen datos de lugar. Ejemplo: recommend #paris has:geo -bakery
lang:Conjunción requeridaCoreEncuentra Posts que han sido clasificados por X como de un idioma particular (si, y solo si, el Post ha sido clasificado). Es importante tener en cuenta que cada Post actualmente solo se clasifica como de un idioma, por lo que usar AND con múltiples idiomas no arrojará resultados. Solo puedes pasar un único identificador de idioma BCP 47 por operador lang:. Nota: si no se puede realizar una clasificación de idioma, el resultado proporcionado es ‘und’ (para indefinido). Ejemplo: recommend #paris lang:en
Amárico: amAlemán: deMalabar: mlEslovaco: sk
Árabe: arGriego: elMaldivo: dvEsloveno: sl
Armenio: hyGuyaratí: guMaratí: mrKurdo soraní: ckb
Vasco: euCriollo haitiano: htNepalí: neEspañol: es
Bengalí: bnHebreo: iwNoruego: noSueco: sv
Bosnio: bsHindi: hiOdia: orTagalo: tl
Búlgaro: bgHindi romanizado: hi-LatnPanyabí: paTamil: ta
Birmano: myHúngaro: huPastún: psTelugu: te
Croata: hrIslandés: isPersa: faTailandés: th
Catalán: caIndonesio: inPolaco: plTibetano: bo
Checo: csItaliano: itPortugués: ptChino tradicional: zh-TW
Danés: daJaponés: jaRumano: roTurco: tr
Neerlandés: nlCanarés: knRuso: ruUcraniano: uk
Inglés: enJemer: kmSerbio: srUrdu: ur
Estonio: etCoreano: koChino simplificado: zh-CNUigur: ug
Finés: fiLao: loSindhi: sdVietnamita: vi
Francés: frLetón: lvCingalés: siGalés: cy
Georgiano: kaLituano: lt
I