메인 콘텐츠로 건너뛰기

쿼리 작성하기

쿼리 제한 사항! 사용 중인 액세스 레벨에 따라 쿼리에 제한이 적용됩니다.  종량제 고객의 경우 쿼리는 최대 512자, Enterprise 고객의 경우 최대 4,096자까지 작성할 수 있습니다. Enterprise 액세스를 사용 중이라면 담당 어카운트 매니저에게 문의해 주세요.  연산자 가용성 대부분의 연산자는 모든 개발자가 사용할 수 있지만, 일부 연산자는 Enterprise 액세스 승인을 받은 사용자에게만 제한되어 있습니다. 각 연산자가 어떤 액세스 레벨에서 사용 가능한지는 다음 레이블을 사용해 연산자 목록 테이블에 표시되어 있습니다:
  • Core operators: 모든 Project에서 사용 가능
  • Advanced operators: Enterprise 액세스가 있는 Project에서 사용 가능   

연산자 유형: 단독 사용 가능 및 접속사 필수

단독 연산자(standalone operators) 는 단독으로도 사용할 수 있고, (접속사가 필요한 연산자를 포함해) 다른 어떤 연산자와도 함께 사용할 수 있습니다. 예를 들어, 다음 쿼리는 단독 연산자인 #hashtag 연산자를 사용하기 때문에 동작합니다: #xapiv2 접속사 필수(conjunction-required) 연산자는 쿼리에서 단독으로 사용할 수 없으며, 쿼리에 최소 한 개의 단독 연산자가 포함된 경우에만 사용할 수 있습니다. 이러한 연산자를 단독으로 사용하면 범위가 지나치게 넓어져, 매우 많은 수의 포스트와 일치하게 되기 때문입니다. 예를 들어, 다음 쿼리들은 접속사 필수 연산자만 포함하고 있으므로 지원되지 않습니다: has:media has:links OR is:retweet 여기에 “X data”와 같은 단독 연산자를 추가하면, 쿼리가 올바르게 동작합니다.  “X data” has:mentions (has:media OR has:links)

불리언 연산자와 그룹화

단일 쿼리 안에 여러 연산자를 함께 사용하려면, 다음과 같은 도구를 사용할 수 있습니다:
AND 논리연산자들 사이에 공백만 두고 연달아 배치하면 불리언 “AND” 논리가 적용됩니다. 이는 두 조건이 모두 충족될 때만 포스트와 일치함을 의미합니다. 예를 들어, snow day #NoSchool 쿼리는 snow와 day라는 용어, 그리고 해시태그 #NoSchool을 모두 포함하는 포스트와 일치합니다.
OR 논리연산자들 사이에 OR을 두고 연달아 배치하면 OR 논리가 적용됩니다. 이는 두 조건 중 하나만 충족되어도 포스트와 일치함을 의미합니다. 예를 들어, grumpy OR cat OR #meme 을 지정하면 grumpy 또는 cat이라는 용어, 또는 해시태그 #meme 중 적어도 하나를 포함하는 모든 포스트와 일치합니다.
NOT 논리, 부정키워드(또는 임의의 연산자) 앞에 대시(-)를 붙이면 이를 부정(NOT)할 수 있습니다. 예를 들어, cat #meme -grumpy 는 해시태그 #meme과 용어 cat을 포함하지만, grumpy라는 용어는 포함하지 않는 포스트와 일치합니다. 일반적인 쿼리 절의 예로는 -is:retweet 이 있으며, 이는 리트윗과는 일치하지 않으므로 원본 포스트, Quote Tweet, 답글에만 일치하게 됩니다. 모든 연산자는 부정할 수 있지만, 부정된 연산자만 단독으로 사용할 수는 없습니다.
그룹화연산자를 함께 묶기 위해 괄호를 사용할 수 있습니다. 예를 들어, (grumpy cat) OR (#meme has:images) 는 grumpy와 cat이라는 용어를 모두 포함하는 포스트이거나, 이미지가 있고 해시태그 #meme을 포함하는 포스트를 반환합니다. AND가 먼저 적용되고, 그다음에 OR가 적용된다는 점에 유의하십시오.
부정에 대한 참고 사항 연산자 -is:nullcast 는 항상 부정 형태로 사용해야 합니다. 부정된 연산자는 단독으로 사용할 수 없습니다. 괄호로 묶인 연산자 집합 전체를 한 번에 부정하지 마십시오. 대신 각 개별 연산자를 부정하십시오. 예를 들어, skiing -(snow OR day OR noschool) 을 사용하는 대신, skiing -snow -day -noschool 의 형태로 사용할 것을 권장합니다.  연산 순서 AND와 OR 기능을 함께 사용할 때, 쿼리가 어떻게 평가되는지는 다음 연산 순서에 따라 결정됩니다.
  1. AND 논리로 연결된 연산자가 먼저 결합되고
  2. 그다음에 OR 논리로 연결된 연산자가 적용됩니다
예를 들어:
  • apple OR iphone ipad 는 apple OR (iphone ipad) 로 평가됩니다.
  • ipad iphone OR android 는 (iphone ipad) OR android 로 평가됩니다.
모호성을 제거하고 쿼리가 의도한 대로 평가되도록 하려면, 필요할 때 괄호를 사용해 용어를 함께 그룹화하십시오.  예를 들어:
  • (apple OR iphone) ipad
  • iphone (ipad OR android)  
구두점, 발음 구별 기호, 대소문자 구분 강세나 발음 구별 기호가 포함된 문자로 키워드 또는 해시태그 쿼리를 지정하면, 해당 발음 구별 기호가 포함된 용어뿐 아니라 일반 문자로 된 용어가 포함된 포스트 텍스트와도 일치합니다. 예를 들어, 키워드 Diacrítica 또는 해시태그 #cumpleaños 를 사용하는 쿼리는 발음 구별 기호가 있는 Diacrítica 또는 #cumpleaños 는 물론, 물결표 í 또는 ñ 없이 Diacritica 또는 #cumpleanos 와도 일치합니다. 강세나 발음 구별 기호가 있는 문자는 일반 문자와 동일하게 취급되며, 단어 경계로 취급되지 않습니다. 예를 들어, 키워드 cumpleaños 를 사용하는 쿼리는 cumpleaños 라는 단어가 포함된 활동에만 일치하며, cumplea, cumplean, os 가 포함된 활동과는 일치하지 않습니다. 모든 연산자는 대소문자를 구분하지 않고 평가됩니다. 예를 들어, 쿼리 cat 은 cat, CAT, Cat 이 포함된 포스트와 모두 일치합니다. filtered stream의 매칭 동작은 포스트 개수(Post counts)와는 다르게 동작합니다. filtered stream 규칙을 구성할 때, 강세와 발음 구별 기호가 포함된 키워드와 해시태그는 동일하게 강세와 발음 구별 기호가 포함된 용어에만 일치하며, 일반 문자를 사용하는 용어와는 일치하지 않는다는 점을 알아두십시오.  예를 들어, filtered stream 규칙에 키워드 Diacrítica 또는 해시태그 #cumpleaños 가 포함된 경우, Diacrítica#cumpleaños 용어에만 일치하며, 물결표 í 또는 ñ가 없는 Diacritica 또는 #cumpleanos 와는 일치하지 않습니다. 구체성 및 효율성 쿼리를 작성하기 시작할 때는 몇 가지 사항을 염두에 두는 것이 중요합니다.
  • 단일 키워드나 #hashtag처럼 범위가 넓은 연산자를 쿼리에 단독으로 사용하는 것은 일반적으로 권장되지 않습니다. 매우 많은 포스트와 매칭될 가능성이 높기 때문입니다. 더 견고한 쿼리를 작성하면 더 구체적인 포스트 집합이 매칭되고, 포스트 개수의 정확도를 높여 더 가치 있는 인사이트를 찾는 데 도움이 됩니다. 
    • 예를 들어, 쿼리가 단순히 키워드 happy라면 하루에 200,000~300,000개의 포스트가 반환될 수 있습니다.
    • 더 많은 조건 연산자를 추가하면 결과 범위를 좁힐 수 있습니다. 예: (happy OR happiness) place_country:GB -birthday -is:retweet
  • 효율적인 쿼리를 작성하는 것은 쿼리 길이에 대한 문자 제한을 지키는 데도 도움이 됩니다. 문자 수에는 공백과 연산자를 포함한 전체 쿼리 문자열이 모두 포함됩니다.
    • 예를 들어, 다음 쿼리는 총 59자입니다: (happy OR happiness) place_country:GB -birthday -is:retweet
Quote Tweet 매칭 동작 Post 개수용 endpoint를 사용할 때, 연산자는 인용된 원본 Post의 콘텐츠에는 매칭되지 않고, Quote Tweet에 포함된 콘텐츠에는 매칭됩니다. 다만, filtered stream은 인용된 원본 Post의 콘텐츠와 Quote Tweet의 콘텐츠 둘 다에 매칭된다는 점에 유의하세요.   쿼리를 점진적으로 구축하기 쿼리를 자주, 그리고 일찍 테스트하기 처음부터 “올바른” 결과를 반환하는 쿼리를 만드는 경우는 드뭅니다. X에는 처음에는 명확하지 않을 수 있는 내용이 매우 많으며, 위에서 설명한 쿼리 문법이 여러분이 원하는 쿼리와 바로 맞지 않을 수 있습니다. 쿼리를 작성해 나갈 때, Search Post endpoint 중 하나를 사용해 주기적으로 테스트하여 쿼리에 매칭되는 포스트가 여러분의 사용 사례와 관련 있는지 확인하는 것이 중요합니다. 이 섹션에서는 다음 쿼리로 시작한 후, 테스트 중에 얻는 결과에 따라 이를 조정해 보겠습니다.  happy OR happiness 결과를 활용해 쿼리 범위 좁히기 Search Posts로 쿼리를 테스트할 때, 반환된 포스트에 여러분이 기대하고 원하는 데이터가 포함되어 있는지 살펴보아야 합니다. 넓은 쿼리와 더 큰 포스트 상위 집합으로 시작하면, 결과를 검토한 뒤 원치 않는 결과를 필터링하도록 쿼리를 좁혀 나갈 수 있습니다.   예시 쿼리를 테스트해 보니 다양한 언어의 포스트가 반환되는 것을 확인했습니다. 이 경우, 영어로 된 포스트만 받고 싶으므로 lang: 연산자를 추가해 보겠습니다. (happy OR happiness) lang:en 테스트 결과, 생일을 축하하는 포스트가 많이 포함되어 있었기 때문에 -birthday를 부정 키워드 연산자로 추가하겠습니다. 또한 원본 Post만 받기를 원하므로, 부정 연산자 -is:retweet도 추가했습니다. (happy OR happiness) lang:en -birthday -is:retweet 필요한 경우 포함 범위 조정하기 Search Posts를 통해 기대하는 데이터를 받지 못했고 실제로는 반환되어야 할 기존 포스트가 있다는 것을 알고 있다면, 원하는 데이터를 걸러내고 있을 수 있는 연산자를 제거하여 쿼리 범위를 넓혀야 할 수 있습니다.  우리 예시의 경우, 찾고자 하는 감정을 표현하는 다른 포스트가 개인 타임라인에 있었지만 테스트 결과에는 포함되지 않았음을 확인했습니다. 더 넓은 범위를 확보하기 위해 excited와 elated 키워드를 추가하겠습니다. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet 기간 중 인기 트렌드/급증에 맞춰 조정하기 X에서는 트렌드가 빠르게 생겼다가 사라집니다. 쿼리를 유지·관리하는 일은 지속적으로 수행해야 합니다. 쿼리를 오랫동안 사용할 계획이라면, 수신 중인 데이터를 주기적으로 확인하여 조정이 필요한지 살펴볼 것을 권장합니다. 우리 예시에서는 사람들에게 “happy holidays”를 기원하는 포스트가 유입되기 시작한 것을 확인했습니다. 이 포스트들을 결과에서 제외하고 싶기 때문에, 부정 키워드 -holidays를 추가하겠습니다. (happy OR happiness OR excited OR elated) lang:en -birthday -is:retweet -holidays  쿼리를 충분히 테스트하고 반복 개선을 마쳤다면, 이제 이 쿼리를 Post 개수용 endpoint에 함께 전송하여 전체 Post payload가 아니라 포스트 수량만을 수신하기 시작할 수 있습니다.

요청에 쿼리 추가하기

요청에 쿼리를 추가하려면 query 파라미터를 사용해야 합니다. 다른 모든 쿼리 파라미터와 마찬가지로, 작성한 쿼리는 반드시 HTTP로 인코딩해야 합니다. 아래는 cURL 명령을 사용했을 때의 예시입니다. 이 명령을 사용하려면 $BEARER_TOKEN을(를) 자신의 Bearer 토큰으로 바꾸어야 합니다:
      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"

쿼리 예시

자연재해 추적 다음 쿼리는 2017년에 휴스턴을 강타한 허리케인 Harvey에 대해 이야기하는 기상 기관과 관측소에서 게시한 원본 포스트에 매칭되었습니다. 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 아래는 HTTP 인코딩, query 매개변수, 그리고 최근 포스트 수 URI가 적용된 쿼리의 예시입니다: 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) 대화의 감성 검토 다음 규칙은 해시태그 #nowplaying 주변에서 전개되는 대화의 감성을 더 잘 이해하기 위해 사용할 수 있으며, 북미 지역에서 게시된 포스트로 범위를 제한합니다. 아래는 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 아래는 HTTP 인코딩, query 매개변수, 그리고 최근 포스트 수 URI가 적용된 쿼리의 예시입니다: 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%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 특정 게시물 주석과 관련된 포스트 찾기 이 규칙은 고양이가 아닌 반려동물 이미지를 포함하고, 게시물에서 식별된 언어가 일본어인 원본 게시물만 필터링하기 위해 만들어졌습니다. 이를 위해 Post annotation 기능을 활용하는 context: 연산자를 사용했습니다. 먼저 Post lookup 엔드포인트와 tweet.fields=context_annotations 필드 매개변수를 사용해, 쿼리에서 어떤 domain.entity ID를 사용해야 하는지 확인했습니다:
  • 고양이와 관련된 포스트는 domain 66 (Interests and Hobbies 카테고리)와 entity 852262932607926273 (Cats)을 반환합니다. 
  • 반려동물과 관련된 포스트는 domain 65 (Interests and Hobbies Vertical)와 entity 852262932607926273 (Pets)을 반환합니다. 
HTTP 인코딩을 적용하지 않은 쿼리는 다음과 같습니다: context:65.852262932607926273 -context:66.852262932607926273 -is:retweet has:images lang:ja 아래는 HTTP 인코딩, query 매개변수, 그리고 최근 포스트 수 URI가 적용된 쿼리의 예시입니다: https://api.x.com/2/tweets/counts/recent?query=context%3A65.852262932607926273%20-context%3A66.852262932607926273%20-is%3Aretweet%20has%3Aimages%20lang%3Aja

연산자

연산자type제공 범위설명
keyword단항Core게시물 본문에 포함된 키워드를 매칭합니다. 이는 토큰화 기반 매치로, 사용자의 키워드 문자열이 게시물 본문의 토큰화된 텍스트와 비교된다는 의미입니다. 토큰화는 단어를 문장 부호, 기호, 그리고 유니코드 기본 평면 구분 문자를 기준으로 분리합니다. 예를 들어 텍스트가 “I like coca-cola”인 게시물은 다음 토큰으로 분리됩니다: I, like, coca, cola. 그런 다음 이 토큰들을 쿼리에서 사용한 키워드 문자열과 비교합니다. 문장 부호(예: coca-cola), 기호, 또는 구분 문자를 포함하는 문자열을 매칭하려면 키워드를 큰따옴표로 감싸야 합니다. 예: pepsi OR cola OR "coca cola"
emoji단항Core게시물 본문에 포함된 이모지를 일치시킵니다. 키워드와 마찬가지로 이모지는 토큰화된 단위로 매치되며, 이는 사용한 이모지가 게시물 본문의 토큰화된 텍스트와 비교되어 일치 여부를 판단한다는 의미입니다. 이모지에 변형(variant)이 있는 경우 쿼리에 추가하려면 반드시 큰따옴표로 감싸야 합니다. 예: (😃 OR 😡) 😬
"exact phrase match"단항Core게시물 본문에서 정확한 구절을 검색합니다. 예시: ("X API" OR #v2) -"recent counts"
#단항Core해시태그가 포스트 내에서 인식된 엔티티인 경우, 해당 해시태그를 포함하는 모든 포스트와 일치합니다. 이 연산자는 토큰화 기반 일치가 아닌 정확한 일치를 수행하므로, 규칙 #thanku는 해시태그 #thanku가 정확히 포함된 포스트와만 일치하고, #thankunext 해시태그가 포함된 포스트와는 일치하지 않습니다. 예: #thankunext #fanart OR @arianagrande
@단항Core지정한 사용자 이름을 언급하는 모든 게시물과 일치하며, 해당 사용자 이름이(@ 문자를 포함한) 인식된 엔티티인 경우에만 적용됩니다. 예: (@XDevelopers OR @API) -@X
$단항Advanced지정된 ‘캐시태그’를 포함하는 모든 게시물과 일치합니다(토큰의 첫 글자가 ‘’문자일때).캐시태그연산자는본문자체에서캐시태그를직접추출하려고시도하는대신,X의‘symbols’엔터티추출기능에의존해캐시태그를일치시킨다는점에유의하세요.:’ 문자일 때). 캐시태그 연산자는 본문 자체에서 캐시태그를 직접 추출하려고 시도하는 대신, X의 ‘symbols’ 엔터티 추출 기능에 의존해 캐시태그를 일치시킨다는 점에 유의하세요. 예: `twtr OR @XDevelopers -$fb`
from:단항Core특정 사용자가 작성한 모든 게시물과 일치합니다. 값으로는 사용자 이름(@ 문자는 제외) 또는 사용자의 숫자형 user ID를 사용할 수 있습니다. 각 from: 연산자에는 하나의 사용자 이름/ID만 전달할 수 있습니다. 예시: from:XDevelopers OR from:API -from:X
to:단항Core특정 사용자에게 보내는 답글인 모든 게시물을 일치시킵니다. 값은 사용자 이름(‘@’ 문자는 제외)이나 해당 사용자의 숫자형 ID가 될 수 있습니다. to: 연산자마다 하나의 사용자 이름/ID만 전달할 수 있습니다. 예시: to:XDevelopers OR to:API -to:X
url:단항Core게시물의 올바르게 형식화된 모든 URL에 대해 토큰화된 방식으로 일치 여부를 검사합니다. 이 연산자는 url 또는 expanded_url 필드의 내용 모두에 대해 일치시킬 수 있습니다. 예를 들어 “You should check out X Developer Labs: https://t.co/c0A36SWil4” (단축 URL이 https://developer.x.com으로 리다이렉트됨)을 포함하는 게시물은 다음 두 규칙 모두와 일치합니다: from:XDevelopers url:"https://developer.x.com"from:XDevelopers url:"https://t.co". 구두점이나 특수 문자가 포함된 토큰이나 구는 큰따옴표로 감싸야 합니다.
retweets_of:단항Core지정한 사용자의 게시물을 리포스트한 포스트와 일치합니다. 값은 사용자 이름(@ 문자 제외) 또는 사용자의 숫자형 사용자 ID 중 하나일 수 있습니다. retweets_of: 연산자당 하나의 사용자 이름 또는 ID만 전달할 수 있습니다. 예: retweets_of:XDevelopers OR retweets_of:API
context:단항Core특정 도메인 id/엔터티 id 쌍이 있는 포스트를 매칭합니다. context: 연산자에는 하나의 도메인/엔터티만 지정할 수 있습니다. 예시: context:domain_id.entity_id. OR 연산자를 사용해 여러 도메인/엔터티를 결합할 수 있습니다: (context:47.113922 9372198469633 OR context:11.1088514520308342784)
entity:단항Core특정 엔터티 문자열 값을 가진 포스트를 검색합니다. entity: 연산자는 하나만 사용할 수 있습니다. 예: entity:"string declaration of entity/place". 이 기능은 최근 검색 엔드포인트에서만 사용할 수 있습니다.
conversation_id:단항Core같은 대화 ID를 가진 포스트를 매칭합니다. 대화 ID는 해당 대화를 시작한 게시물의 Post ID로 설정됩니다. 게시물에 답글이 달릴 때마다, 답글에 대한 답글까지 포함해 conversation_id가 해당 JSON 페이로드에 추가됩니다. 하나의 conversation_id: 연산자에는 하나의 대화 ID만 전달할 수 있습니다. 예시: conversation_id:1334987486343299072 (from:XDevelopers OR from:API)
list:단항Advanced지정된 리스트에 포함된 사용자가 작성한 포스트와 일치하는 결과를 반환합니다. 예를 들어 @XDevelopers와 @API가 리스트 123의 멤버이고, 쿼리에 list:123을 포함했다면, 응답에는 해당 계정들이 게시한 포스트만 포함됩니다. 리스트 ID는 List 조회 엔드포인트를 사용해서 확인할 수 있습니다. 예시: list:123
place:단항Advanced지정한 위치 또는 X place ID가 태그된 포스트를 매칭합니다. 여러 단어로 된 장소 이름(“New York City”, “Palo Alto”)은 따옴표로 묶어야 합니다. place: 연산자마다 하나의 장소만 지정할 수 있습니다. 참고: X place ID를 얻는 방법은 GET geo/search standard v1.1 엔드포인트를 참조하세요. 예: place:"new york city" OR place:seattle OR place:fd70c22040963ac7
place_country:단항Advanced태그된 장소/위치에 연관된 국가 코드가 지정된 ISO 알파-2 두 글자 코드와 일치하는 포스트를 매칭합니다. 유효한 ISO 코드 목록은 위키백과에서 확인할 수 있습니다. place_country: 연산자마다 하나의 ISO 코드만 지정할 수 있습니다. 예: place_country:US OR place_country:MX OR place_country:CA
point_radius:단항Advanced존재하는 경우 게시물의 place.geo.coordinates 객체와, X에서는 장소 지오 폴리곤과 매칭하며, 이때 장소 폴리곤은 지정된 영역 안에 완전히 포함되어 있어야 합니다. point_radius:[longitude latitude radius]. 지원되는 반지름 단위는 마일(mi)과 킬로미터(km)입니다. 반지름은 25mi 미만이어야 합니다. 경도는 ±180 범위입니다. 위도는 ±90 범위입니다. 모든 좌표는 십진수 도 단위를 사용합니다. 규칙 인수는 대괄호 안에 포함되며, 공백으로 구분됩니다. 예시: point_radius:[2.355128 48.861118 16km] OR point_radius:[-41.287336 174.761070 20mi]
bounding_box:단항AdvancedPost에 place.geo.coordinates 객체가 있을 경우 이를 기준으로 매칭하며, X에서는 장소 지오 폴리곤(place geo polygon)을 대상으로, 해당 장소 폴리곤이 정의된 영역 안에 완전히 포함되는 경우에 매칭합니다. bounding_box:[west_long south_lat east_long north_lat]. 바운딩 박스의 너비와 높이는 25mi 미만이어야 합니다. 경도(Longitude)는 ±180 범위여야 합니다. 위도(Latitude)는 ±90 범위여야 합니다. 모든 좌표는 십진 도(degree) 단위입니다. 규칙 인수는 대괄호로 둘러싸여 있으며, 공백으로 구분됩니다. 예시: bounding_box:[-105.301758 39.964069 -105.178505 40.09455]
is:retweetAND 연산자 필수기본지정된 규칙의 나머지 조건과도 일치하는 Retweet을 매칭합니다. 이 연산자는 진짜 Retweet(예: Retweet 버튼을 사용해 생성된 Retweet)만을 대상으로 합니다. Quote Tweet은 이 연산자로 매칭되지 않습니다. 예시: data @XDevelopers -is:retweet
is:replyAND 연산자 필수기본규칙과 일치하는 명시적인 답글만 전달합니다. 또한 부정 형태로 사용하면, 쿼리와 일치하는 답글을 전달 대상에서 제외할 수 있습니다. 참고: 이 연산자는 filtered stream 엔드포인트에서도 사용할 수 있습니다. filtered stream과 함께 사용할 때, 이 연산자는 원본 게시물에 대한 답글, 인용 포스트에 대한 답글, 리트윗에 대한 답글과 일치합니다. 예시: from:XDevelopers is:reply
is:quoteAND 연산자 필수기본댓글이 포함된 포스트로도 알려진 모든 Quote Tweet을 반환합니다. 예: "sentiment analysis" is:quote
is:verifiedAND 연산자 필수기본작성자가 X에서 인증된 포스트만 반환합니다. 예: #nowplaying is:verified
-is :nullcastAND 연산자 필수고급ads.x.com에서 프로모션 목적으로만 생성되고 "source":"Twitter for Advertisers (legacy)" 또는 "source":"Twitter for Advertisers" 값을 가진 포스트를 제외합니다. 이 연산자는 반드시 부정형으로 사용해야 합니다. 널캐스트된 포스트에 대한 자세한 내용은 포스트 이용 가능 여부 페이지를 참조하세요. 예시: "mobile games" -is:nullcast
has:hashtagsAND 연산자 필수기본하나 이상의 해시태그를 포함하는 포스트와 일치합니다. 예: from:XDevelopers -has:hashtags
has:cashtagsAND 연산자 필수고급앞에 ‘’문자가붙은캐시태그기호(:’ 문자가 붙은 캐시태그 기호(예: `tag)를 포함하는 포스트와 일치합니다. 예시: #stonks has:cashtags`
has:linksAND 연산자 필수기본이 연산자는 게시물 본문에 링크와 미디어가 포함된 포스트를 검색합니다. 예: from:XDevelopers announcement has:links
has:mentionsAND 연산자 필수기본다른 X 사용자를 언급한 포스트와 일치합니다. 예: #nowplaying has:mentions
has:mediaAND 연산자 필수기본X에서 사진, GIF, 동영상과 같은 미디어가 포함된 것으로 판단한 포스트와 일치합니다. Periscope에서 생성된 미디어나 다른 미디어 호스팅 사이트로 연결되는 링크가 포함된 포스트와는 일치하지 않습니다. 예시: (kittens OR puppies) has:media
has:imagesAND 연산자 필수기본이미지로 인식된 URL을 포함하는 포스트와 일치합니다. 예: #meme has:images
has:videosAND 연산자 필수기본X에 직접 업로드된 네이티브 X 동영상이 포함된 포스트와 일치합니다. Periscope로 생성된 동영상이나 다른 동영상 호스팅 사이트 링크가 포함된 포스트에는 일치하지 않습니다. 예: #icebucketchallenge has:videos
has:geoAND 연산자 필수고급X 사용자가 제공한, 포스트 전용 위치 정보(geolocation) 데이터를 가진 포스트와 일치합니다. 이는 X place 형태의 위치(해당 표시 이름, geo 폴리곤 및 기타 필드를 포함)일 수도 있고, 드문 경우에는 위도/경도 좌표(geo lat-long)일 수도 있습니다. 참고: place(포스트 geo)를 기준으로 매칭하는 연산자는 원본 포스트에서의 일치 항목만 포함합니다. 리트윗에는 place 데이터가 포함되지 않습니다. 예시: recommend #paris has:geo -bakery
lang:AND 연산자 필수기본X에서 특정 언어로 분류한 포스트와 일치합니다(포스트가 분류된 경우에만 해당). 각 포스트는 현재 하나의 언어로만 분류되므로, 여러 언어를 AND 연산으로 함께 사용하면 결과가 나오지 않는다는 점에 유의해야 합니다. lang: 연산자마다 하나의 BCP 47 언어 식별자만 전달할 수 있습니다. 참고: 언어 분류를 할 수 없으면 제공되는 결과는 ‘und’(미정의, undefined)입니다. 예: recommend #paris lang:en
암하라어: am독일어: de말라얄람어: ml슬로바크어: sk
아랍어: ar그리스어: el몰디브어: dv슬로베니아어: sl
아르메니아어: hy구자라트어: gu마라티어: mr소라니 쿠르드어: ckb
바스크어: eu아이티 크리올어: ht네팔어: ne스페인어: es
벵골어: bn히브리어: iw노르웨이어: no스웨덴어: sv
보스니아어: bs힌디어: hi오리야어: or타갈로그어: tl
불가리아어: bg힌디어(로마자): hi-Latn펀자브어: pa타밀어: ta
버마어: my헝가리어: hu파슈토어: ps텔루구어: te
크로아티아어: hr아이슬란드어: is페르시아어: fa태국어: th
카탈루냐어: ca인도네시아어: in폴란드어: pl티베트어: bo
체코어: cs이탈리아어: it포르투갈어: pt번체 중국어: zh-TW
덴마크어: da일본어: ja루마니아어: ro터키어: tr
네덜란드어: nl칸나다어: kn러시아어: ru우크라이나어: uk
영어: en크메르어: km세르비아어: sr우르두어: ur
에스토니아어: et한국어: ko간체 중국어: zh-CN위구르어: ug
핀란드어: fi라오어: lo신디어: sd베트남어: vi
프랑스어: fr라트비아어: lv싱할라어: si웨일스어: cy
조지아어: ka리투아니아어: lt