X API Search 포스트 엔드포인트 비교
최근 검색 비교
| Description | Standard v1.1 | X API v2 |
|---|---|---|
| Host domain | https://api.x.com | https://api.x.com |
| Endpoint path | /1.1/search/tweets.json | /2/tweets/search/recent |
| Authentication | OAuth 1.0a User Context OAuth 2.0 App-Only | OAuth 1.0a User Context OAuth 2.0 Authorization Code with PKCE OAuth 2.0 App-Only |
| Timestamp format | YYYYMMDD | YYYY-MM-DDTHH:mm:ssZ ISO 8601 / RFC 3339 |
| 반환되는 게시물이 이보다 과거가 아닌 최대 기간 | 7일 | 7일 |
| 지원되는 HTTP 메서드 | GET | GET |
| 기본 요청 요청 한도 | OAuth 1.0a User Context 사용 시 15분당 180회 요청 OAuth 2.0 App-Only 사용 시 15분당 450회 요청 | 셀프 서비스(Self-serve): OAuth 2.0 App-Only 사용 시 15분당 60회 요청 OAuth 1.0a User Context 사용 시 15분당 60회 요청 OAuth 2.0 Authorization Code with PKCE 사용 시 15분당 60회 요청 |
| 완전히 풀린 URL 제공 | ✔ | |
| 응답당 최대 게시물 수(기본값) | 100 (15) | 100 (10) |
| Post JSON format | Standard v1.1 format | X API v2 format (요청 매개변수인 fields 및 expansions에 의해 결정되며, v1.1 형식과는 하위 호환되지 않음) Standard v1.1 형식에서 X API v2 형식으로 마이그레이션하는 방법을 자세히 알아보려면 데이터 형식 마이그레이션 가이드를 방문하세요. |
| payload에서 반환할 fields를 선택하는 기능 지원 | ✔ | |
| annotations를 요청 및 수신하는 기능 지원 | ✔ | |
| Post 객체 내에서 특정 metrics를 요청하는 기능 지원 | ✔ | |
| conversation_id 연산자 및 필드 지원 | ✔ | |
| 게시물 수정 이력 제공 | ✔ | ✔ |
| Post 데이터 배열에 대한 JSON key 이름 | statuses | data |
| 페이지네이션에 대한 JSON key 이름 | search_metadata.next_results | meta.next_token |
| 시간 범위로 아카이브 탐색 지원 | ✔ | ✔ |
| 시간 기반 요청의 시간 해상도 | 일(day) | 초(second) |
| Timezone | UTC | UTC |
| 시간 기반 탐색을 위한 요청 매개변수 | until | start_time end_time |
| Post ID 기반 탐색을 위한 요청 매개변수 | since_id max_id | since_id until_id |
| 페이지네이션을 위한 요청 매개변수 | URL 인코딩된 쿼리 제공 | next_token |
| Project와 연결된 developer App의 credentials 사용 필요 | ✔ |
전체 아카이브 검색 비교
| 설명 | Enterprise | X API v2 |
|---|---|---|
| 호스트 도메인 | https://gnip-api.x.com | https://api.x.com |
| 엔드포인트 경로 | /search/fullarchive/accounts/:account_name/:label | /2/tweets/search/all |
| 인증 | Basic auth | OAuth 2.0 App-Only |
| 타임스탬프 형식 | YYYYMMDDHHMM | YYYY-MM-DDTHH:mm:ssZ ISO 8601 / RFC 3339 |
| 반환되는 게시물의 최대 과거 시점 | 2006년 3월 이후 전체 아카이브 | 2006년 3월 이후 전체 아카이브 |
| 지원되는 HTTP 메서드 | GET POST | GET |
| 기본 요청 한도 | 분당 요청 한도는 계약서에 명시된 대로 파트너별로 달라집니다. Basic auth 사용 시 초당 20건의 요청 | OAuth 2.0 App-Only 사용 시 15분당 300건의 요청 OAuth 2.0 App-Only 사용 시 초당 1건의 요청 |
| 완전히 언와인드된 URL 제공 | ✔ | ✔ |
| 응답당 포스트 수 | 최대: 500 기본값: 100 | 최대: 500 기본값: 10 |
| 게시물 JSON 형식 | Native Enriched 또는 Activity Streams 형식 | X API v2 형식 (fields 및 expansions 요청 매개변수에 의해 결정) |
| 페이로드에 어떤 fields가 반환될지 선택 지원 | ✔ | |
| annotations 요청 및 수신 지원 | ✔ | |
| 게시물 객체 내 특정 metrics 요청 지원 | ✔ | |
| conversation_id 연산자 및 필드 지원 | ✔ | |
| 게시물 편집 이력 제공 | ✔ | ✔ |
| 게시물 데이터 배열의 JSON 키 이름 | results | data |
| 페이지네이션의 JSON 키 이름 | next | meta.next_token |
| 시간 기반 요청의 시간 해상도 | 초 | 초 |
| 타임존 | UTC | UTC |
| 게시물 ID를 통한 아카이브 탐색 지원 | ✔ | |
| 시간 기반 탐색용 요청 매개변수 | fromDate toDate | start_time end_time |
| 게시물 ID 기반 탐색용 요청 매개변수 | since_id until_id | |
| 페이지네이션용 요청 매개변수 | next_token | next_token |
| Academic Research 액세스 권한이 있는 Project에 연결된 developer App의 자격 증명 사용 필요 | ✔ |
- enterprise 연산자에는 하위 등급이 없습니다.
- Self-serve: 모든 Project에서 사용 가능
- Enterprise: Enterprise용 Project에서 사용 가능
| 검색 연산자 | Standard | Enterprise | v2 |
|---|---|---|---|
| keyword | 지원됨 q:keyword | 지원됨 | 지원됨 |
| emoji | 지원됨 q:😄 | 지원됨 | 지원됨 |
| ”exact phrase” | 지원됨 | 지원됨 | 지원됨 |
| # | 지원됨 | 지원됨 | 지원됨 |
| $ | 지원됨 | 지원됨 | 지원됨 |
| @ | 지원됨 | 지원됨 | 지원됨 |
| from: | 지원됨 | 지원됨 | 지원됨 |
| to: | 지원됨 | 지원됨 | 지원됨 |
| url: | 지원됨 | 지원됨 | 지원됨 |
| retweets_of: | 지원됨 | 지원됨 | |
| context: | 지원됨 | ||
| entity: | 셀프 서비스 - 최근 검색에서만 사용 가능 | ||
| conversation_id: | 지원됨 | ||
| place: | 지원됨 | 지원됨 | |
| place_country: | 지원됨 | 지원됨 | |
| point_radius: | geocode 매개변수 | 지원됨 | 지원됨 |
| bounding_box: | 지원됨 | 지원됨 | |
| is:retweet | filter:retweets | 지원됨 | 지원됨 |
| is:reply | 지원됨 | 지원됨 | |
| is:quote | 지원됨 | 지원됨 | |
| is:verified | 지원됨 | 지원됨 | |
| -is:nullcast | 지원됨 | 지원됨 | |
| has:hashtags | 지원됨 | 지원됨 | |
| has:cashtags | 지원됨 | 지원됨 | |
| has:links | filter:links | 지원됨 | 지원됨 |
| has:mentions | 지원됨 | 지원됨 | |
| has:media | filter:media | 지원됨 | 지원됨 |
| has:images | filter:images, filter:twimg | 지원됨 | 지원됨 |
| has:videos | filter:videos filter:native_video | 지원됨 | 지원됨 |
| has:geo | 지원됨 | 지원됨 | |
| lang: | lang - 연산자 또는 매개변수로 사용할 수 있음 | 지원됨 | 지원됨 |
| has:profile_geo | 지원됨 | ||
| profile_country | 지원됨 | ||
| profile_locality | 지원됨 | ||
| profile_region | 지원됨 | ||
| proximity | 지원됨 | ||
| :( | 지원됨 | ||
| :) | 지원됨 | ||
| ? | 지원됨 | ||
| filter:periscope | 지원됨 | ||
| list: | 지원됨 | 지원됨 | |
| filter:replies | 지원됨 | ||
| filter:pro_video | 지원됨 | ||
| filter:social | 지원됨 | ||
| filter:trusted | 지원됨 | ||
| filter:follows | 지원됨 | ||
| filter:has_engagement | 지원됨 | ||
| include:antisocial | 지원됨 | ||
| include:offensive_user | 지원됨 | ||
| include:antisocial_offensive_user | 지원됨 | ||
| include:sensitive_content | 지원됨 | ||
| source: | 지원됨 | ||
| min_replies: | 지원됨 | ||
| min_retweets: | 지원됨 | ||
| min_faves: | 지원됨 | ||
| card_name: | 지원됨 | ||
| card_domain: | 지원됨 |