100 크레딧 무료, 카드 등록 없이지금 시작하기
Logo
Back to blog

구글 트렌드 API 파이썬 예제로 관심도와 연관 검색어 받기

··16 min read

구글 트렌드 API를 파이썬에서 GET 요청 한 번으로 호출해요. 관심도 추이와 연관 검색어를 JSON으로 받고 파라미터와 크레딧, 오류 응답까지 확인하세요.

구글 트렌드 API 파이썬 예제로 관심도와 연관 검색어 받기

구글 트렌드 API는 API 키 하나만 있으면 파이썬에서 GET 요청 한 번으로 불러요. SocialCrawl에서 GET /v1/google_trends/explore는 키워드 최대 5개의 관심도 추이를 주고 GET /v1/google_trends/rising은 키워드 하나의 급상승 연관 검색어와 인기 연관 검색어를 줘요. 호출마다 5크레딧이고 SDK도, OAuth도, 스크래핑도 필요 없어요.

구글은 2025년 7월에 Trends API 알파를 발표했어요. 신청한 사람에게만 열려 있어서 키를 바로 받을 수는 없어요. 파이썬에서는 비공식 라이브러리 pytrends를 많이 써 왔지만 저장소가 2025년 4월에 읽기 전용으로 아카이브됐어요. SocialCrawl은 같은 종류의 데이터를 일반 HTTP로 줘요. 업체 선택과 가격은 최고의 구글 트렌드 API 비교에서 다뤄요.

곡선 하나가 위로 오르는 아이소메트릭 선 그래프. 구글 트렌드 API가 돌려주는 관심도 추이를 나타내요

구글 트렌드 관심도 추이를 파이썬으로 가져오려면 어떻게 하나요?

GET /v1/google_trends/explore에 keywords(쉼표로 구분한 15개)를 넣고 필요하면 location과 timeframe을 붙이세요. 응답에는 키워드별 날짜 series와 averages가 오고 값은 모두 구글의 상대 지수 0100이에요.

python
import os
import requests

BASE = "https://www.socialcrawl.dev"
r = requests.get(
    f"{BASE}/v1/google_trends/explore",
    params={
        "keywords": "아이폰,갤럭시",
        "location": "South Korea",
        "timeframe": "past_12_months",
    },
    headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
    timeout=90,
)
r.raise_for_status()
payload = r.json()

for row in payload["data"]["averages"]:
    print(row["keyword"], row["value"])

curl로는 이렇게 불러요.

bash
curl -s --max-time 90 -H "x-api-key: $SOCIALCRAWL_API_KEY" \
  "https://www.socialcrawl.dev/v1/google_trends/explore?keywords=아이폰,갤럭시&location=South%20Korea&timeframe=past_12_months"

응답에서 시리즈마다 포인트 하나만 남기면 이런 모양이에요.

json
{
  "success": true,
  "data": {
    "averages": [
      { "keyword": "아이폰", "value": 48 },
      { "keyword": "갤럭시", "value": 36 }
    ],
    "series": [
      {
        "keyword": "아이폰",
        "points": [{ "date": "2026-08-30", "value": 52, "partial": true }]
      }
    ]
  },
  "credits_used": 5
}

차트를 그리기 전에 알아 둘 점이 세 가지 있어요.

  • 비교할 키워드는 한 호출에 모두 넣으세요. 키워드를 여럿 넣으면 묶음 전체에서 기간 중 가장 높은 점이 100이 되고 나머지 값은 그 점과 견준 비율이에요. 따로 부른 두 호출은 서로 비교할 수 없어요.
  • 마지막 점은 빼세요. partial: true는 구글이 아직 모으는 중인 구간이고 보통 가장 최근 점이에요. 이걸 관심도 하락으로 읽는 실수가 잦아요.
  • 지수는 검색량이 아니에요. 구글은 절대 검색 횟수를 공개하지 않아요. 68이라고 68번 검색됐다는 뜻은 아니에요. 구글 설명대로 한 점은 그 지역과 기간의 전체 검색 중 비율을 100에 맞춘 값이에요.

구글 트렌드 explore 엔드포인트는 어떤 파라미터를 받나요?

explore는 keywords, timeframe, location, category를 받고 필수는 keywords뿐이에요. 키워드 하나는 2~100자여야 해요. 5개를 넘기면 400이 오고 크레딧은 빠지지 않아요.

파라미터받는 값
keywords쉼표로 구분한 1~5개
locationISO 국가 코드(US, KR), 영문 국가명(South Korea), 숫자 코드(2840)
timeframepast_hour, past_4_hours, past_day, past_7_days, past_30_days, past_90_days, past_12_months(기본), past_5_years
category구글 트렌드 카테고리 숫자 코드예요. 기본 0은 전체예요

timeframe은 고정된 프리셋 목록이라 날짜를 마음대로 지정할 수는 없어요. 기간에 따라 포인트 간격도 달라져요. past_hour와 past_4_hours는 분 단위 포인트를 주고 past_5_years는 주 단위 포인트를 줘요. 그래프를 그릴 때 간격이 일정하다고 가정하지 마세요.

category는 뜻이 갈리는 단어에 써요. 자동차 카테고리의 "jaguar"와 전체 "jaguar"는 다른 시리즈예요.

한국 검색은 네이버에 많이 몰려 있어서 구글 트렌드가 국내 관심도를 낮게 잡아요. 한국 시장을 본다면 /v1/naver/search-trend를 같이 쓰세요.

구글 트렌드 연관 검색어는 API로 어떻게 가져오나요?

키워드 하나를 keyword에 넣고 GET /v1/google_trends/rising을 부르세요. 퍼센트 증가율 growth가 붙은 rising과 0~100 value가 붙은 top 두 목록이 와요. top은 지금 수요가 몰린 곳이고 rising은 본 키워드 추이에 드러나기 전에 빠르게 오르는 검색어예요.

python
r = requests.get(
    f"{BASE}/v1/google_trends/rising",
    params={
        "keyword": "선풍기",
        "location": "South Korea",
        "timeframe": "past_12_months",
    },
    headers={"x-api-key": os.environ["SOCIALCRAWL_API_KEY"]},
    timeout=90,
)
r.raise_for_status()
data = r.json()["data"]

for row in data["rising"]:
    print(row["query"], row["growth"], row.get("is_breakout"))
for row in data["top"]:
    print(row["query"], row["value"])

응답을 줄이면 이래요.

json
{
  "data": {
    "rising": [
      { "query": "예시 검색어 하나", "growth": 650, "is_breakout": false },
      { "query": "예시 검색어 둘", "growth": null, "is_breakout": true }
    ],
    "top": [
      { "query": "예시 인기 검색어", "value": 100 }
    ]
  },
  "credits_used": 5
}

is_breakout: true인 행은 구글이 "급등(Breakout)"으로 표시한 검색어예요. 증가율이 5,000%를 넘었다는 뜻이에요. 구글이 퍼센트를 주지 않으면 growth는 null이고 숫자를 임의로 채우지 마세요.

파라미터 이름은 단수 keyword예요. 구글이 연관 검색어를 한 번에 한 단어씩만 주기 때문이에요. 쉼표로 이은 목록을 보내면 400이 와요. 보통은 explore로 키워드끼리 관심도를 먼저 견주고 가장 높은 키워드로 rising을 불러요.

구글 트렌드 API 오류는 무슨 뜻인가요?

자주 보는 오류는 404와 400이고 둘 다 크레딧이 나가지 않아요. 404는 그 지역과 기간에 그 키워드 검색량이 너무 적을 때 와요. 400은 파라미터를 알아보지 못할 때 오고 대개 location이 원인이에요. 어느 쪽도 타임아웃은 아니에요.

json
{
  "success": false,
  "error": {
    "type": "RESOURCE_NOT_FOUND",
    "message": "No search-interest data were returned for this keyword. ... You were not charged for this request.",
    "status": 404
  },
  "credits_used": 0
}

404가 오면 timeframe을 넓히거나 더 넓은 키워드를 쓰거나 그 지역 언어로 바꿔 보세요. 키워드를 여러 개 보내면 하나라도 데이터가 있는 한 호출은 성공해요. 400이 오면 location부터 확인하세요. ISO 코드, 구글 트렌드 표기의 국가명, 숫자 코드 중 하나여야 하고 구글이 모든 나라를 공개하지는 않아요. 오류 종류 전체는 오류 처리에 있어요.

explore와 rising은 구글을 실시간으로 읽으니 클라이언트 타임아웃을 60초 이상 두세요. 같은 호출을 2분 안에 다시 부르면 캐시에서 바로 오고 크레딧도 나가지 않아요.

키워드 없이 지금 뜨는 검색어는 어떻게 보나요?

GET /v1/google_trends/trending은 키워드 없이 국가나 지역의 실시간 인기 검색어 목록을 줘요. 5크레딧이고 트렌드마다 검색량 구간, 증가율, 시작 시각, 카테고리, 뉴스 기사 최대 3건이 와요. 키워드를 넣으면 결과가 그 단어 쪽으로 쏠리니 그게 싫을 때 써요.

bash
curl "https://www.socialcrawl.dev/v1/google_trends/trending?location=KR&hours=24&sort=search_volume&limit=25" \
  -H "x-api-key: YOUR_API_KEY"

search_volume은 구글이 매긴 구간의 하한이에요. 50000이면 5만 이상이에요. 구글은 125개국을 지원하고 전 세계 목록은 없어요.

구글 트렌드 API는 어떻게 시작하나요?

가입한 뒤 대시보드에서 키를 복사해 x-api-key 헤더에 넣으세요. 새 계정은 무료 100크레딧으로 시작하니 5크레딧짜리 호출이면 20번이에요. 헤더 형식은 인증 문서에 있어요. 엔드포인트 세 개의 필드는 구글 트렌드 문서에 있고 탐색기에서 코드 없이 같은 호출을 먼저 해 볼 수 있어요.

pytrends는 트렌드 웹사이트를 감싼 비공식 래퍼이고 SocialCrawl은 pytrends 없이 돌아가는 별도 서비스라 설치할 필요가 없어요.

자주 묻는 질문

구글 트렌드 공식 API가 있나요?

구글이 2025년 7월에 Trends API 알파를 발표했어요. 신청한 일부 테스터에게만 열려 있고 키로 가입하는 공개 REST API는 아니에요. SocialCrawl은 x-api-key 헤더를 붙인 GET 요청으로 같은 종류의 0~100 시리즈를 줘요.

pytrends 없이 파이썬으로 구글 트렌드 데이터를 받으려면 어떻게 하나요?

requests로 /v1/google_trends/explore에 x-api-key 헤더를 붙여 GET을 보내고 JSON의 data.series와 data.averages를 읽으세요. SDK도 브라우저 세션도 필요 없어요.

구글 트렌드 연관 검색어는 어떻게 가져오나요?

키워드 하나로 GET /v1/google_trends/rising을 부르세요. 증가율이 붙은 rising 목록과 0~100 값이 붙은 top 목록이 와요. 호출마다 5크레딧이에요.

따로 부른 구글 트렌드 호출 두 개는 왜 비교가 안 되나요?

구글이 요청마다 그 안에서 가장 높은 점을 100으로 맞추기 때문에 한 호출의 100과 다른 호출의 100은 같은 값이 아니에요. 키워드를 비교하려면 최대 5개를 explore 한 번에 넣으세요.

구글 트렌드 API가 검색량도 주나요?

주지 않아요. 구글은 상대 지수 0~100만 공개하고 explore와 rising도 절대 횟수를 돌려주지 않아요. 실시간 인기 검색어 엔드포인트는 5만 이상 같은 검색량 구간의 하한을 줘요.

키워드에 데이터가 없으면 어떻게 되나요?

빈 시리즈 대신 404를 돌려주고 크레딧은 빠지지 않아요. 기간을 넓히거나 더 넓은 키워드를 쓰거나 그 지역 언어로 바꿔 보세요.

Topics
#구글-트렌드-파이썬#구글-트렌드-api#구글-트렌드-사용법#구글-트렌드-관심도#구글-트렌드-연관-검색어#구글-트렌드-분석#구글-트렌드-api-사용법

함께 읽으면 좋은 글

🤖 AI agent or LLM? Read this page as markdown