빠른 답변
SERP API로 특정 국가와 도시의 Google 결과를 어떻게 얻나요?
SerpCrypto에서 gl에는 국가 코드를, hl에는 언어를, location에는 City, Region, Country로 작성한 도시를 설정하세요. 예: Austin, Texas, United States. 전화 결과를 원하면 device=mobile을 추가하세요. 각 조합은 1크레딧의 검색 1회이며, US$0.30/1K 검색부터 시작하고, 응답에는 적용된 설정이 그대로 반영됩니다. 암호화폐로 결제하며 KYC가 없습니다.
각 위치 파라미터는 어떤 역할을 하나요?
국가(gl), 언어(hl), Google 도메인 및 도시 단위 위치 문자열, 데스크톱 또는 모바일.
| 파라미터 | 기본값 | 효과 |
|---|---|---|
gl | us | 결과의 국가입니다. ISO 3166-1 두 글자, 소문자로 입력합니다. 영국은 gb를 사용하세요. |
hl | en | 인터페이스 언어입니다. 레이블, People Also Ask, 일부 스니펫이 이 값을 따릅니다. |
location | 없음 | 국가 내의 정확한 장소로, 로컬 팩과 도시 단위 순위에 사용됩니다. |
google_domain | gl의 도메인 | 검색을 실행할 Google 도메인입니다. 예: google.de. Bing에서는 무시됩니다. |
device | desktop | desktop 또는 mobile: 레이아웃과 로컬 블록이 둘 사이에서 다릅니다. |
gl, hl, location의 차이는 무엇인가요?
gl은 어느 국가의 결과를 원하는지 지정합니다. hl은 사용자가 읽는 언어를 지정하며, 이는 인터페이스와 흔히 질문 및 스니펫을 바꿉니다. location는 국가를 도시나 지역으로 좁히며, 검색 쿼리에 로컬 의도가 있는 순간부터 중요해집니다.
세 값은 자유롭게 조합됩니다. 스위스에 있는 프랑스어 사용자는 gl=ch, hl=fr입니다. 베를린에서의 영어 검색은 gl=de, hl=en, location=Berlin, Berlin, Germany입니다. gl과 location의 국가는 같게 유지하세요. 한 국가의 도시에 다른 국가의 gl을 지정하면 실제 방문자가 보는 결과와 다른 결과가 나옵니다.
도시를 어떻게 타겟팅하나요?
장소는 영어로, 가장 작은 단위에서 가장 큰 단위 순으로 작성하세요: City, Region, Country. 예: Austin, Texas, United States, Manchester, England, United Kingdom, Munich, Bavaria, Germany, Lyon, Auvergne-Rhone-Alpes, France. 거리나 우편번호가 아니라 도시 이름을 사용하세요.
응답에서 search_parameters.location을 확인하세요. 적용된 장소가 표시됩니다. 사용할 수 없는 값은 400 invalid_parameter을 반환하고 비용이 들지 않으므로, 장소 목록을 저렴하게 테스트할 수 있습니다.
# The same query from two cities: compare the local packs
for city in "Austin, Texas, United States" "Denver, Colorado, United States"; do
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=emergency plumber" \
--data-urlencode "location=$city" \
-d gl=us -d hl=en -d device=mobile \
| jq -r --arg city "$city" '.local_results[]? | "\($city)\t\(.position)\t\(.title)"'
done주요 시장에는 어떤 코드를 사용하나요?
자주 쓰는 25개 마켓입니다. google_domain은 기본적으로 gl의 도메인으로 설정되므로 직접 지정할 일은 거의 없습니다.
| 국가 | gl | 일반적인 hl | Google 도메인 |
|---|---|---|---|
| United States | us | en | google.com |
| United Kingdom | gb | en | google.co.uk |
| Canada | ca | en, fr | google.ca |
| Australia | au | en | google.com.au |
| 아일랜드 | ie | en | google.ie |
| 뉴질랜드 | nz | en | google.co.nz |
| 독일 | de | de | google.de |
| 프랑스 | fr | fr | google.fr |
| 스페인 | es | es | google.es |
| 이탈리아 | it | it | google.it |
| 네덜란드 | nl | nl | google.nl |
| 스위스 | ch | de, fr, it | google.ch |
| 폴란드 | pl | pl | google.pl |
| 스웨덴 | se | sv | google.se |
| 튀르키예 | tr | tr | google.com.tr |
| 브라질 | br | pt-BR | google.com.br |
| 멕시코 | mx | es | google.com.mx |
| 아르헨티나 | ar | es | google.com.ar |
| 인도 | in | en, hi | google.co.in |
| 일본 | jp | ja | google.co.jp |
| 대한민국 | kr | ko | google.co.kr |
| 인도네시아 | id | id | google.co.id |
| 베트남 | vn | vi | google.com.vn |
| 싱가포르 | sg | en | google.com.sg |
| 남아프리카공화국 | za | en | google.co.za |
언어 코드는 구글 인터페이스에서 사용하는 코드입니다. 이중 언어 국가라면 타깃 독자가 읽는 언어를 선택하세요.
어떤 Google 도메인을 사용해야 하나요?
보통은 필요 없습니다. google_domain을 생략하면 위 표처럼 gl 국가의 도메인이 API에 사용됩니다. 특정 환경을 재현할 때만 설정하세요. 예를 들어 google.com에 gl=gb을 함께 쓰는 경우입니다.
도메인만으로는 검색 결과의 국가가 정해지지 않습니다. 실제로는 gl와 location가 대부분을 결정하며, 그래서 응답에는 세 가지가 모두 search_parameters에 기록됩니다.
모바일과 데스크톱 검색 결과는 다른가요?
대개 다릅니다. 모바일 페이지는 블록 순서가 달라질 수 있고, 근처 지역 의도를 반영한 결과가 더 많이 나오며, 스니펫이 더 짧게 잘리기도 합니다. 방문자가 주로 휴대폰을 쓴다면 device=mobile를 추적하세요. 전체를 파악하려면 둘 다 추적하고 각 순위와 함께 기기를 저장하세요.
기기마다 별도의 검색이므로 둘 다 추적하면 해당 키워드의 크레딧이 두 배로 듭니다. 검색 100,000회 팩 기준 US$0.56/1K 검색 크레딧에서는 키워드 1,000개를 두 기기에서 30일간 추적할 때 검색 60,000회를 사용합니다.
한 스크립트에서 여러 국가를 어떻게 비교하나요?
마켓 목록을 순회하면서 API가 실제로 적용한 값을 저장하세요. Python 예제는 하나의 검색 쿼리를 각각 도시를 지정해 세 국가로 보내고, 사용된 도메인과 첫 번째 링크를 출력합니다.
import os
import requests
MARKETS = [
{"gl": "de", "hl": "de", "location": "Munich, Bavaria, Germany"},
{"gl": "fr", "hl": "fr", "location": "Lyon, Auvergne-Rhone-Alpes, France"},
{"gl": "br", "hl": "pt-BR", "location": "Curitiba, State of Parana, Brazil"},
]
for market in MARKETS:
r = requests.get(
"https://serpcrypto.com/api/v1/search",
params={"q": "running shoes", **market},
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
timeout=60,
)
r.raise_for_status()
applied = r.json()["search_parameters"]
top = r.json().get("organic_results", [])[:1]
print(applied["gl"], applied.get("google_domain"), [x["link"] for x in top])Bing도 같은 파라미터를 받나요?
q, gl, hl, device, page는 네, 같습니다. engine=bing와 함께 같은 코드를 사용하면 됩니다. google_domain은 Bing에 적용되지 않으며 무시됩니다. 응답은 같은 구조이고 organic_results과 related_searches이 포함됩니다. 활용 사례는 Bing 페이지를 참고하세요.
위치 관련 질문
ZIP 코드나 GPS 좌표로 검색할 수 있나요?
버전 1에서는 안 됩니다. location은 도시 단위의 지명을 받습니다. 지도상의 한 지점 주변 결과를 얻으려면 해당 지역을 명시한 검색 쿼리와 함께 engine=google_maps을 사용하세요. 예: dentist Brooklyn.
gl=de인데 왜 영어 라벨이 나오나요?
hl의 기본값이 en이기 때문입니다. 독일에 있는 사람이 보는 독일어 인터페이스, 질문, 라벨을 얻으려면 hl=de도 함께 설정하세요.
위치가 검색 가격을 바꾸나요?
아니요. 국가, 도시, 언어, 기기에 관계없이 모든 검색은 1 크레딧입니다. 선불 검색 크레딧은 만료되지 않습니다: 사용하지 않은 검색은 사용할 때까지 계정에 남아 있습니다.
영국은 어떤 코드인가요?
ISO 3166-1 코드인 gb을 사용하세요. 영국의 Google 도메인은 google.co.uk이며, gl=gb일 때 API가 자동으로 선택합니다.