두 배 빨라진 구글 트렌드 API — 한국 로케이션 실측
구글 트렌드 API가 프로덕션 22건 기준 약 9초에서 약 4.6초로 줄었어요. 한국 로케이션 아이폰 53주·블랙핑크/뉴진스 비교·급상승 25행 라이브 JSON과 관심도 없음 0크레딧 404를 스키마 그대로 보여 드려요. 이번 세션 캐시 미스 과금 3건은 평균 6,203ms예요.
구글 트렌드 API로 관심도 추이와 연관 검색어를 치면, 변경 후 프로덕션 과금 22건 기준 전형 호출이 약 9초에서 약 4.6초로 줄었어요. 같은 22건의 최악은 약 12초고, 예전 p95 약 47초와는 자리가 달라요. 30일 동안 19,459건 중 273건이 약 48초 만에 타임아웃되던 경로는 이제 드물어요.
차가운 비영어·비미국 키워드에서 개선이 가장 컸어요. 아래 호출은 한국어 키워드에 location=South Korea를 붙인 2026-09-08 UTC 라이브 응답이에요. 파라미터와 응답 형태, 호출당 5크레딧, 무료 400/404는 그대로예요.
GET https://www.socialcrawl.dev/v1/google_trends/explore · /rising, 헤더 x-api-key: $SOCIALCRAWL_API_KEY예요.
한국에서 구글 트렌드 검색을 API로 치면 몇 초인가요?
관심도 추이는 GET /v1/google_trends/explore, 연관·급상승은 GET /v1/google_trends/rising이에요. 둘 다 advanced 5크레딧이고, 인증은 x-api-key예요. 웹에서 검색 트렌드를 보는 화면과 같은 0–100 상대 지수예요. 공식 Google 트렌드 API 알파의 「요청 간 일관 스케일」과는 달라요.
속도 숫자는 표가 두 개예요. 첫 표는 2026-09-07 업그레이드 이후 프로덕션 과금 22건이에요. 「두 배」와 전형 4.6초가 여기 있어요.
| 항목 | 이전 | 이후 |
|---|---|---|
| 전형 호출 (과금 22건) | 약 9초 | 약 4.6초 |
| 느린 꼬리 | p95 약 47초 | 그 22건 최악 약 12초 |
| 타임아웃 | 30일 19,459건 중 273건, 각 약 48초 | 이제 드묾 |
같은 날 한국 키워드로 다시 친 캐시 미스 과금 3건은 이 22건을 대체하지 않아요. 「이번에도 4.6초」가 아니에요.
이번 실행 (2026-09-08 UTC, cached: false) | 레이턴시 |
|---|---|
explore 아이폰, location=KR | 5,198ms |
rising 아이폰, location=South Korea | 6,490ms |
explore 블랙핑크,뉴진스, location=South Korea | 6,921ms |
평균 (5,198 + 6,490 + 6,921) / 3 = 6,203ms. n=3이에요. 클라이언트 Stopwatch라서 TLS·대기·본문 수신이 들어 있어요. 서버 latency_ms 필드는 응답에 없어요. 이번 한국어 과금 호출은 전부 X-Cache: MISS예요. 캐시 히트(0크레딧·밀리초)를 빨라진 증거로 쓰지 않아요.
한국 로케이션 단건부터 볼게요. keywords=아이폰 &location=South Korea &timeframe=past_12_months. 200, 5크레딧, cached: false, request_id: req-LxLZy40VxO1fhujD예요. 시리즈는 53주, 평균은 48이에요. 앞 포인트 2025-09-07은 value 100이고, 마지막 2026-09-06은 value 43에 partial: true예요.
이 호출은 레이턴시가 파일에 안 남았어요. Stopwatch가 없어서 옆에 5,198ms를 붙이지 않아요. 5,198ms는 아래 location=KR 호출이에요.
curl -sS \
"https://www.socialcrawl.dev/v1/google_trends/explore?keywords=아이폰&location=South%20Korea&timeframe=past_12_months" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"{
"success": true,
"platform": "google_trends",
"endpoint": "/v1/google_trends/explore",
"data": {
"series": [{
"keyword": "아이폰",
"points": [
{ "date": "2025-09-07", "datetime": "2025-09-07T00:00:00.000Z", "value": 100, "partial": false },
{ "date": "2025-09-14", "datetime": "2025-09-14T00:00:00.000Z", "value": 94, "partial": false },
{ "date": "2026-08-30", "datetime": "2026-08-30T00:00:00.000Z", "value": 41, "partial": false },
{ "date": "2026-09-06", "datetime": "2026-09-06T00:00:00.000Z", "value": 43, "partial": true }
]
}],
"averages": [{ "keyword": "아이폰", "value": 48 }]
},
"credits_used": 5,
"cached": false,
"request_id": "req-LxLZy40VxO1fhujD"
}중간 49포인트는 생략했어요. 스키마 키는 그대로예요. 마지막 버킷의 partial: true는 아직 쌓이는 중이에요. 관심도가 떨어졌다고 읽지 마세요.
location=KR로 같은 아이폰·past_12_months를 치면 같은 53주 달력(2025-09-07–2026-09-06)이 붙어요. 평균은 49, 마지막 partial은 46, 레이턴시는 5,198ms예요. 53포인트 중 40개가 달랐고, 절대 차는 최대 5예요. 두 표기 모두 한국으로 붙어요. 바이트 단위로 같은 시리즈는 아니에요.
구글 트렌드 분석 숫자(0–100)는 어떻게 읽나요?
0–100은 검색 횟수가 아니에요. Google 공식 FAQ가 말하는 상대 지수예요. 각 점을 그 지역·기간의 총 검색량으로 나눈 뒤, 주제 비율을 0–100으로 맞춰요. 검색량이 적은 구글 트렌드 키워드는 0으로 보일 수 있고, 일회성 급증을 실제 검색의 증거로 읽지 말라고 적혀 있어요. (Trends 데이터 이해)
여러 키워드를 한 호출에 넣으면 그 세트 안에서 정규화돼요. 블랙핑크와 뉴진스를 같이 치면 숫자가 서로에게 맞춰져요.
keywords=블랙핑크,뉴진스 &location=South Korea &timeframe=past_12_months. 200, 5크레딧, 6,921ms, request_id: req-KGpwV9l1ND4TSVEu예요. 두 시리즈 모두 53주예요. 평균은 블랙핑크 6, 뉴진스 18이에요. 뉴진스가 2025-11-09에 세트 천장 100을 찍은 주, 블랙핑크는 6이었어요. 블랙핑크의 세트 안 최댓값은 15(2026-02-22)예요.
{
"success": true,
"endpoint": "/v1/google_trends/explore",
"data": {
"averages": [
{ "keyword": "블랙핑크", "value": 6 },
{ "keyword": "뉴진스", "value": 18 }
]
},
"credits_used": 5,
"cached": false,
"request_id": "req-KGpwV9l1ND4TSVEu"
}53주 시리즈는 생략했어요. averages가 스키마 키예요. 천장 주 숫자는 위 산문이고, 응답에 peak_week나 latency_ms 필드는 없어요. 6,921ms는 클라이언트 Stopwatch예요.
읽을 규칙은 세 줄이면 돼요.
- 0–100은 그 호출 세트 안의 상대 점수예요. 절대 검색량이 아니에요.
- 여러 키워드는 세트 안에서 정규화돼요. 블랙핑크 6이 「검색이 없다」는 뜻이 아니에요. 같은 주 뉴진스가 100이면, 블랙핑크는 그 천장에 맞춰 낮아 보일 뿐이에요.
- 마지막 버킷
partial: true는 아직 쌓이는 중이에요. 관심도 하락이 아니에요.
SocialCrawl value는 트렌드 UI와 같은 0–100이에요. 공식 알파가 말하는 「요청 간에 다시 0–100으로 맞추지 않는 일관 스케일」과는 달라요. (Search Central 블로그, 2025-07-24) 어느 쪽이 틀린 게 아니라, 조인해서 쓰는 숫자와 화면에서 보는 숫자가 다른 거예요.
난수 키워드를 explore에 넣으면 404가 아닐 수 있어요. 이번 실행에서 zzqqxjw explore는 200 / 5크레딧이었어요. 관심도 없음 증명은 아래 rising 쪽이에요.
구글 트렌드 순위와 급상승은 같은 호출인가요?
같은 호출이에요. GET /v1/google_trends/rising?keyword= — 키워드는 하나예요. 콤마로 여러 개를 넣으면 과금 전 무료 400이에요.
응답은 rising과 top 두 배열이에요. top이 관련 상위(0–100 value), rising이 급상승(growth 퍼센트)이에요. 순위 표와 급상승 표가 한 번에 와요.
keyword=아이폰 &location=South Korea &timeframe=past_12_months. 200, 5크레딧, 6,490ms. rising 25행, top 25행이에요. request_id: req-FUinmJXLFrPdMN6B예요.
앞 두 rising 행은 growth: null이에요. 0이 아니에요. 응답 _warnings가 그 사실을 영어로 명시해요. 0으로 채우지 마세요.
{
"success": true,
"endpoint": "/v1/google_trends/rising",
"data": {
"rising": [
{ "query": "아이폰 17 세이지", "growth": null },
{ "query": "아이폰 소리 조절 안됨", "growth": null },
{ "query": "타임 라인 비주얼 라이저 아이폰", "growth": 4950 },
{ "query": "아이폰 17e", "growth": 3600 },
{ "query": "아이폰 18 디자인", "growth": 3500 }
],
"top": [
{ "query": "아이폰 17", "value": 100 },
{ "query": "아이폰 프로", "value": 77 },
{ "query": "아이폰 디시", "value": 39 },
{ "query": "아이폰 17 프로", "value": 34 },
{ "query": "아이폰 16", "value": 33 }
],
"_warnings": [
"rising.\"아이폰 17 세이지\": growth missing (returned null, not 0)",
"rising.\"아이폰 소리 조절 안됨\": growth missing (returned null, not 0)"
]
},
"credits_used": 5,
"cached": false,
"request_id": "req-FUinmJXLFrPdMN6B"
}growth: 4950은 +4950% 급상승이지 검색량 절대치가 아니에요. 아이폰 17e는 3600, 아이폰 18 디자인은 3500이에요. top의 아이폰 17 value 100은 이 관련 상위 목록의 천장이에요.
연관 검색어는 어느 엔드포인트로 받나요?
경로는 GET /v1/google_trends/rising이에요. 쿼리 키 이름은 keyword(단수)예요. explore의 keywords(복수, 1–5)와 달라요.
볼륨이 너무 작아 연관 목록을 못 만들면 0크레딧 404예요. 메시지가 로케이션·기간을 받았다고 한 뒤, 그 조합의 검색량이 부족하다고 말해요. 로케이션 문제가 아니라 키워드 문제예요.
이번 실행에서 rising keyword=zzqqxjw &location=South Korea &timeframe=past_12_months로 그 404를 재현했어요. 404, 0크레딧. type: RESOURCE_NOT_FOUND. request_id: req-VwGvoS6oz118ojno. 이 호출은 19,885ms가 걸렸지만 0크레딧이라 과금 속도 숫자가 아니에요.
{
"success": false,
"error": {
"type": "RESOURCE_NOT_FOUND",
"message": "No related or rising queries were returned for this keyword. The location and timeframe were accepted; Google Trends simply holds too little search volume for this keyword in that combination to build a result. Try a wider `timeframe`, a broader keyword, or the keyword in the local language of the location you requested. You were not charged for this request.",
"status": 404,
"doc_url": "https://www.socialcrawl.dev/docs/errors#resource-not-found"
},
"credits_used": 0,
"request_id": "req-VwGvoS6oz118ojno"
}같은 난수 zzqqxjw의 explore는 200 / 5크레딧이었어요. explore 난수 키워드를 관심도 없음 404의 증거로 쓰지 마세요.
해석할 수 없는 로케이션은 과금 전 무료 400이에요. location=Atlantis에 아이폰을 붙이면 400, 0크레딧, 606ms. type: INVALID_REQUEST. 메시지에 되는 표기로 KR, South Korea, 숫자 코드 2410이 들어 있어요. 606ms는 검증 실패지 과금 속도가 아니에요.
{
"success": false,
"error": {
"type": "INVALID_REQUEST",
"message": "Google Trends did not recognise one of the request parameters. `location` must be an ISO country code (\"KR\", \"US\"), the full country name as Google Trends spells it (\"South Korea\", \"United States\"), or a numeric location code (\"2410\"). Google Trends does not publish every country, so a location it has no data for is refused here as well. `category` must be a numeric Google Trends category code. Your credits have been refunded.",
"status": 400,
"doc_url": "https://www.socialcrawl.dev/docs/errors#invalid-request"
},
"credits_used": 0,
"request_id": "req-7pFMuu39GLqsE39p"
}한국 표기는 South Korea, KR, Korea, KOR, republic of korea, korea, republic of가 붙어요. 지난주에 되던 표기는 그대로예요.
에러 코드와 환불 규칙은 에러 문서에 모여 있어요.
구글 트렌드 API 사용법은 한 줄이면 되나요?
거의 한 줄이에요. 구글 트렌드 사용법·구글 트렌드 보는 법이 웹 UI 튜토리얼이라면, 여기 호출은 같은 관심도를 REST로 읽는 최소 호출이에요.
- 가입해서 API 키를 받아요. 무료 크레딧이 붙어요.
- 아래 URL을
x-api-key와 같이 쳐요. 클라이언트 타임아웃은 60초 이상으로 두세요. - 이어서 보려면 비주얼 익스플로러, 구글 트렌드 플랫폼 허브, 엔드포인트 가격이에요.
curl -sS \
"https://www.socialcrawl.dev/v1/google_trends/explore?keywords=아이폰&location=South%20Korea&timeframe=past_12_months" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"rising 형제:
curl -sS \
"https://www.socialcrawl.dev/v1/google_trends/rising?keyword=아이폰&location=South%20Korea&timeframe=past_12_months" \
-H "x-api-key: $SOCIALCRAWL_API_KEY"파이썬이면 requests로 같은 URL·헤더예요. 환경 변수 이름은 $SOCIALCRAWL_API_KEY예요.
import os
import requests
r = requests.get(
"https://www.socialcrawl.dev/v1/google_trends/explore",
params={
"keywords": "아이폰",
"location": "South Korea",
"timeframe": "past_12_months",
},
headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
timeout=60,
)
print(r.status_code, r.json()["credits_used"])바뀐 건 속도예요. 파라미터, series/averages와 rising/top 형태, 호출당 5크레딧, 무료 400/404는 그대로예요.
라이브 숫자의 날짜 스탬프는 2026-09-08 UTC예요. 재현할 때는 본인 키를 넣고, 클라이언트 타임아웃을 60초 이상으로 두세요. 스키마와 크레딧 계약은 통합 스키마와 엔드포인트 가격에서 그대로 확인할 수 있어요.
자주 묻는 질문
구글 트렌드 API 공식 있나요?
있어요. 2025년 7월 24일 Google 검색 센터 블로그로 알파가 발표됐고, 신청제예요. 누구나 쓰는 공개 API는 아니고, 프로덕션용으로 준비된 도구가 아니라고 적혀 있어요. SocialCrawl은 그 알파의 래퍼가 아니에요. 공개 REST에 x-api-key를 붙이고 /v1/google_trends/explore와 /rising을 치는 계약이에요.
파이썬으로 구글 트렌드 API 쓰는 법은요?
HTTP면 돼요. 위 requests 예시와 같은 URL·x-api-key 헤더예요. pytrends는 2025년 4월 17일에 아카이브된 비공식 클라이언트예요. SocialCrawl은 그 래퍼가 아니에요. 일부 한국어 글에 「제한이 없다」고 적혀 있는데, 그 저장소 README는 레이트 리밋을 말하고 공식 API가 아니라고 적어요. 「제한 없음」을 사실로 쓰지 마세요.
호출당 크레딧은 얼마인가요?
explore·rising 둘 다 5크레딧(advanced)이에요. 캐시 히트는 0크레딧이고 TTL은 120초예요. 이번 한국어 과금 호출은 전부 캐시 미스라, 위에 적은 밀리초는 캐시가 아닌 숫자예요. 관심도 없음 404와 잘못된 로케이션 400은 0크레딧이에요.
한국 지역(South Korea / KR)은 받나요?
받아요. South Korea와 KR은 같은 곳으로 붙어요. 라이브 아이폰 호출은 둘 다 53주예요. 값은 최대 5 차이예요. 숫자 코드 2410도 Atlantis 400 메시지에 안내돼요. 인식하지 못하는 표기는 무료 400이에요.
연관 검색어는 어느 엔드포인트인가요?
GET /v1/google_trends/rising이에요. 쿼리 키는 keyword 단수예요. 콤마로 여러 개를 넣으면 과금 전 무료 400이에요. 볼륨이 너무 작으면 0크레딧 404고, 이번 실행의 zzqqxjw rising이 그 경우예요. explore의 keywords(복수, 1–5)와 경로가 달라요.
관심도가 없으면 크레딧이 나가나요?
rising은 0크레딧 404예요. 메시지가 로케이션·기간을 받았다고 해서, 키워드 쪽 볼륨 문제임을 알 수 있어요. explore는 난수 키워드에도 200 / 5크레딧을 줄 수 있어요. 이번 실행의 zzqqxjw가 그 경우예요.
키워드를 여러 개 한 번에 넣을 수 있나요?
explore는 콤마로 1–5개예요. 6개 이상은 무료 400이에요. 세트 안에서 정규화돼요 — 블랙핑크 6 / 뉴진스 18이 그 한 번의 비교예요. rising은 키워드 하나예요.
함께 읽으면 좋은 글
구글 트렌드 API, 관심도 0이면 404·0크레딧
관심도 0이면 404·0크레딧, 적용 불가 필터는 무료 400. SocialCrawl 구글 트렌드 API의 라이브 curl·크레딧 영수증을 그대로 보여 드려요.
인스타그램 데이터 API, about이 다시 200을 줘요
인스타그램 데이터 API, 죽은 about이 다시 200이에요. 릴스 12개와 공유 5,122는 라이브고, 잘못된 경로 3건은 0원이에요. 측정 2026-09-08.
링크드인 게시물 이력, 프로필 아카이브로 100건씩 끝까지
공개 멤버의 링크드인 게시물 이력을 페이지당 100건씩, 커서가 없어질 때까지 받는 링크드인 프로필 아카이브예요. 게시 시각은 밀리초이고 과금은 전달된 글 수×5예요.
