이 엔드포인트가 도움이 되는 일
응답에는 일치하는 검색, 공개 컨텍스트, 결과가 더 있을 경우 페이지네이션 데이터가 포함됩니다.
적합한 사용 시점
객체의 정확한 ID를 모르고 먼저 관련 후보를 찾아야 할 때 "장소 ID별 트렌드"을 사용하세요.
먼저 결과와 일반적인 워크플로를 확인한 다음 매개변수와 작동하는 요청 예제로 넘어가세요.
응답에는 일치하는 검색, 공개 컨텍스트, 결과가 더 있을 경우 페이지네이션 데이터가 포함됩니다.
객체의 정확한 ID를 모르고 먼저 관련 후보를 찾아야 할 때 "장소 ID별 트렌드"을 사용하세요.
고객용 및 내부 화면에 X/Twitter 데이터 검색을 추가하세요.
검색어로 후보를 찾고 관련 객체를 저장해 나중에 보강하세요.
주제, 크리에이터, 경쟁 분석을 위한 결과 집합을 수집하세요.
두 버전 모두 같은 작업을 해결하며 같은 매개변수를 받습니다. 전환기로 응답 구조를 비교하고 클라이언트가 기대하는 버전을 선택하세요.
이 페이지에서 버전을 전환하면 같은 문서 URL에서 응답 구조를 비교할 수 있습니다.
인증, 필수 매개변수, 요청 형태는 V1과 V2에서 같습니다. 실제로는 엔드포인트 경로를 구성할 때와 응답을 읽을 때 버전을 선택합니다.
주요 차이는 응답 봉투입니다. 새 연동에는 V2를 사용하고, 기존 클라이언트 계약과의 호환성이 필요한 경우에만 V1을 유지하세요.
두 버전 모두 같은 API 키 헤더와 같은 쿼리 매개변수를 사용합니다. 이 문서는 먼저 공통 매개변수를 보여 준 다음 각 버전의 경로와 코드 스니펫을 보여 줍니다.
| 매개변수 | 필수 | 유형 | 예시 | 설명 |
|---|---|---|---|---|
place_id |
예 | str |
2487956 |
Twitter/X trends place identifier (WOEID). Example: 2487956. |
정확한 엔드포인트 경로, 예시 URL, 코드 스니펫을 복사할 때 버전을 선택하세요. 위의 매개변수 목록은 바뀌지 않습니다.
GET /api/v2/twitter.com/search/trending-by-place-idcurl --request GET \
--url "https://www.scrapestorm.net/api/v2/twitter.com/search/trending-by-place-id" \
--header "X-API-Key: 00000000-0000-4000-8000-000000000000" \
--get --data-urlencode 'place_id=2487956'
from urllib.parse import urljoin
import requests
BASE_URL = "https://www.scrapestorm.net"
ENDPOINT = "/api/v2/twitter.com/search/trending-by-place-id"
HEADERS = {"Accept": "application/json", "X-API-Key": "00000000-0000-4000-8000-000000000000"}
params = {
"place_id": "2487956",
}
with requests.Session() as session:
response = session.request(
method="GET",
url=urljoin(BASE_URL, ENDPOINT),
headers=HEADERS,
params=params,
timeout=30,
)
response.raise_for_status()
payload = response.json()
print(payload)
const BASE_URL = "https://www.scrapestorm.net";
const endpoint = "/api/v2/twitter.com/search/trending-by-place-id";
const params = new URLSearchParams({
place_id: "2487956",
});
const response = await fetch(`${BASE_URL}${endpoint}?${params.toString()}`, {
method: "GET",
headers: {
Accept: "application/json",
"X-API-Key": "00000000-0000-4000-8000-000000000000",
},
});
if (!response.ok) {
throw new Error(`Request failed: ${response.status} ${response.statusText}`);
}
const payload = await response.json();
console.log(payload);
import axios from "axios";
const client = axios.create({
baseURL: "https://www.scrapestorm.net",
timeout: 30000,
headers: {
Accept: "application/json",
"X-API-Key": "00000000-0000-4000-8000-000000000000",
},
});
const params = {
place_id: "2487956",
};
const { data: payload } = await client.request({
method: "GET",
url: endpoint,
params,
});
console.log(payload);
<?php
declare(strict_types=1);
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
$client = new Client([
'base_uri' => "https://www.scrapestorm.net",
'timeout' => 30.0,
'headers' => [
'Accept' => 'application/json',
'X-API-Key' => "00000000-0000-4000-8000-000000000000",
],
]);
$query = [
"place_id" => "2487956",
];
try {
$response = $client->request("GET", "/api/v2/twitter.com/search/trending-by-place-id", [
'query' => $query,
]);
$payload = json_decode(
(string) $response->getBody(),
true,
512,
JSON_THROW_ON_ERROR
);
var_dump($payload);
} catch (GuzzleException $e) {
throw $e;
}
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
"time"
)
func main() {
baseURL := "https://www.scrapestorm.net"
endpoint := "/api/v2/twitter.com/search/trending-by-place-id"
params := url.Values{}
params.Set("place_id", "2487956")
req, err := http.NewRequest(
"GET",
fmt.Sprintf("%s%s?%s", baseURL, endpoint, params.Encode()),
nil,
)
if err != nil {
panic(err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("X-API-Key", "00000000-0000-4000-8000-000000000000")
client := &http.Client{Timeout: 30 * time.Second}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var payload any
if err := json.NewDecoder(resp.Body).Decode(&payload); err != nil {
panic(err)
}
fmt.Printf("%+v\n", payload)
}
정확한 엔드포인트 경로, 예시 URL, 코드 스니펫을 복사할 때 버전을 선택하세요. 위의 매개변수 목록은 바뀌지 않습니다.
GET /api/v1/twitter.com/search/trending-by-place-idcurl --request GET \
--url "https://www.scrapestorm.net/api/v1/twitter.com/search/trending-by-place-id" \
--header "X-API-Key: 00000000-0000-4000-8000-000000000000" \
--get --data-urlencode 'place_id=2487956'
from urllib.parse import urljoin
import requests
BASE_URL = "https://www.scrapestorm.net"
ENDPOINT = "/api/v1/twitter.com/search/trending-by-place-id"
HEADERS = {"Accept": "application/json", "X-API-Key": "00000000-0000-4000-8000-000000000000"}
params = {
"place_id": "2487956",
}
with requests.Session() as session:
response = session.request(
method="GET",
url=urljoin(BASE_URL, ENDPOINT),
headers=HEADERS,
params=params,
timeout=30,
)
response.raise_for_status()
payload = response.json()
print(payload)
const BASE_URL = "https://www.scrapestorm.net";
const endpoint = "/api/v1/twitter.com/search/trending-by-place-id";
const params = new URLSearchParams({
place_id: "2487956",
});
const response = await fetch(`${BASE_URL}${endpoint}?${params.toString()}`, {
method: "GET",
headers: {
Accept: "application/json",
"X-API-Key": "00000000-0000-4000-8000-000000000000",
},
});
if (!response.ok) {
throw new Error(`Request failed: ${response.status} ${response.statusText}`);
}
const payload = await response.json();
console.log(payload);
import axios from "axios";
const client = axios.create({
baseURL: "https://www.scrapestorm.net",
timeout: 30000,
headers: {
Accept: "application/json",
"X-API-Key": "00000000-0000-4000-8000-000000000000",
},
});
const params = {
place_id: "2487956",
};
const { data: payload } = await client.request({
method: "GET",
url: endpoint,
params,
});
console.log(payload);
<?php
declare(strict_types=1);
use GuzzleHttp\Client;
use GuzzleHttp\Exception\GuzzleException;
$client = new Client([
'base_uri' => "https://www.scrapestorm.net",
'timeout' => 30.0,
'headers' => [
'Accept' => 'application/json',
'X-API-Key' => "00000000-0000-4000-8000-000000000000",
],
]);
$query = [
"place_id" => "2487956",
];
try {
$response = $client->request("GET", "/api/v1/twitter.com/search/trending-by-place-id", [
'query' => $query,
]);
$payload = json_decode(
(string) $response->getBody(),
true,
512,
JSON_THROW_ON_ERROR
);
var_dump($payload);
} catch (GuzzleException $e) {
throw $e;
}
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
"time"
)
func main() {
baseURL := "https://www.scrapestorm.net"
endpoint := "/api/v1/twitter.com/search/trending-by-place-id"
params := url.Values{}
params.Set("place_id", "2487956")
req, err := http.NewRequest(
"GET",
fmt.Sprintf("%s%s?%s", baseURL, endpoint, params.Encode()),
nil,
)
if err != nil {
panic(err)
}
req.Header.Set("Accept", "application/json")
req.Header.Set("X-API-Key", "00000000-0000-4000-8000-000000000000")
client := &http.Client{Timeout: 30 * time.Second}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
var payload any
if err := json.NewDecoder(resp.Body).Decode(&payload); err != nil {
panic(err)
}
fmt.Printf("%+v\n", payload)
}
미리보기에는 주요 필드와 컬렉션의 첫 항목이 포함되어 있어 응답 형태를 빠르게 확인할 수 있습니다. 버전을 바꾸면 JSON 형식이 바뀝니다.
이 간결한 JSON 예시는 V2의 최근 성공한 검증 실행에서 가져왔습니다.
{
"success": true,
"status": "ok",
"search_context": {
"place_id": "2487956"
},
"data": {
"trends": {
"count": 50,
"items": [
{
"name": "RED CARD",
"query": "%22RED+CARD%22",
"url": "http://twitter.com/search?q=%22RED+CARD%22",
"tweet_volume": null,
"rank": 1
},
{
"name": "Yankees",
"query": "Yankees",
"url": "http://twitter.com/search?q=Yankees",
"tweet_volume": null,
"rank": 2
},
{
"_more_items": 48
}
]
}
}
}
이 간결한 JSON 예시는 V1의 최근 성공한 검증 실행에서 가져왔습니다.
{
"success": true,
"status": "ok",
"search_context": {
"place_id": "2487956"
},
"data": {
"count": 1,
"items": [
{
"trends": [
{
"name": "RED CARD",
"url": "http://twitter.com/search?q=%22RED+CARD%22",
"promoted_content": null,
"query": "%22RED+CARD%22",
"tweet_volume": null
},
{
"name": "#mundialdefútbol2026",
"url": "http://twitter.com/search?q=%23mundialdef%C3%BAtbol2026",
"promoted_content": null,
"query": "%23mundialdef%C3%BAtbol2026",
"tweet_volume": null
},
{
"_more_items": 48
}
],
"as_of": "2026-07-19T21:34:31Z",
"created_at": "2026-07-14T05:19:21Z",
"locations": [
{
"name": "San Francisco",
"woeid": 2487956
}
]
}
]
}
}
이 문서를 첫 판단 기준으로 삼고, 반복 사용을 위해 엔드포인트를 연결하기 전에 요금, 플랫폼 지원 범위, 연동 규칙을 확인하세요.
이 답변을 참고하여 이 API 메서드가 워크플로, 버전 선택, 도입 계획에 맞는지 판단하세요.
이 메서드는 검색에 대해 "장소 ID별 트렌드"을 실행합니다. 아래의 간결한 응답 예시에서 필드의 정확한 구조를 확인할 수 있습니다.
새 연동에는 정규화된 구조를 제공하는 V2를 선택하세요. V1은 이미 플랫폼 고유 형식을 처리하는 클라이언트와의 호환성을 위해서만 사용하세요.
API 키를 만들어 요청 헤더에 넣고 표의 필수 매개변수를 입력하세요. 코드 예제에는 이미 올바른 경로와 요청 구조가 포함되어 있습니다.