빠른 답변
curl로 SERP API를 어떻게 쿼리하나요?
curl -sG "https://serpcrypto.com/api/v1/search" -H "Authorization: Bearer $KEY" --data-urlencode "q=your query"를 실행하고 JSON을 jq로 파이프하세요. SerpCrypto의 경우, 성공한 검색마다 크레딧 1개가 소모되며 US$0.30/1K 검색부터 시작하고, 오류는 무료입니다. -G는 데이터 플래그를 검색 쿼리 문자열로 바꿉니다. 크레딧은 KYC 없이 암호화폐로 결제합니다.
여기서 어떤 curl 플래그가 중요한가요?
셸마다 한 번씩 export SERPCRYPTO_API_KEY=…로 키를 설정하세요. jq가 없다면 패키지 관리자에서 설치하세요.
| 플래그 | 이유 |
|---|---|
-s | Silent: JSON에 진행 표시줄이 섞이지 않습니다. |
-G | GET 요청에서 -d과 --data-urlencode 값을 검색 쿼리 문자열로 보냅니다. |
--data-urlencode | q과 location의 공백, 따옴표, 악센트를 인코딩합니다. |
-H "Authorization: Bearer …" | API 키입니다. 환경 변수에 보관하세요. |
-w '%{http_code}' | HTTP 상태를 출력합니다. 호출이 실패할 때 유용합니다. |
키워드에 대한 상위 10개 링크를 어떻게 출력하나요?
유기적 결과를 요청하고 jq이 각 결과의 순위와 링크를 탭으로 구분해 출력하도록 하세요. []? 형식은 블록이 없을 때 실패하는 대신 아무것도 출력하지 않아서, 특이한 페이지에서도 스크립트가 조용히 유지됩니다.
# Top 10 organic links, one per line
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=kubernetes cost monitoring" -d gl=us -d hl=en \
| jq -r '.organic_results[]? | "\(.position)\t\(.link)"'People Also Ask 질문을 어떻게 나열하나요?
people_also_ask[].question을 읽으세요. 질문은 hl의 언어를 따르고 gl의 국가에 따라 달라지므로, 글을 쓰는 각 시장에서 동일한 검색 쿼리를 실행하세요. 콘텐츠 팀은 이 목록을 브리프에 그대로 붙여넣습니다.
# People Also Ask questions, ready for a content brief
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=how to brew cold brew" -d gl=gb -d hl=en \
| jq -r '.people_also_ask[]?.question'AI Overview가 어떤 출처를 인용하는지 어떻게 확인하나요?
ai_overview.references을 읽으세요. 이 블록은 Google이 해당 검색 쿼리와 지역에 대해 AI Overview를 표시할 때만 존재하므로, 그렇지 않으면 레시피가 명확한 메시지를 출력합니다. 이 출처를 시간에 따라 추적하면 Google의 생성형 답변에 내 페이지가 인용되는지 알 수 있습니다.
# Sources cited by the AI Overview, if the page shows one
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=what is a heat pump" -d gl=us -d hl=en \
| jq -r 'if .ai_overview then .ai_overview.references[] | "\(.index)\t\(.source)\t\(.link)" else "no AI Overview for this query" end'로컬 팩과 Maps 목록을 어떻게 얻나요?
location로 웹 검색을 하면 결과 페이지에 표시되는 로컬 팩이 반환되며, 보통 몇 개의 업체입니다. engine=google_maps은 주소, 평점, 리뷰 수가 포함된 더 긴 Maps 목록을 반환하고, @tsv가 이를 스프레드시트용 행으로 변환합니다. 둘 다 각각 1 크레딧입니다.
# Local pack in a city, then the full Maps list for the same query
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=vegan restaurant" \
--data-urlencode "location=Toronto, Ontario, Canada" -d gl=ca -d hl=en \
| jq -r '.local_results[]? | "\(.position)\t\(.title)\t\(.rating // "-")"'
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
-d engine=google_maps --data-urlencode "q=vegan restaurant Toronto" -d gl=ca -d hl=en \
| jq -r '.local_results[]? | [.title, .address, .rating, .reviews] | @tsv'호출이 실패할 때 오류를 어떻게 확인하나요?
-w '\nHTTP %{http_code}\n'를 추가하면 본문 뒤에 상태가 출력됩니다. 오류 본문은 code와 message가 포함된 작은 JSON입니다. 오류 페이지에 여섯 가지 코드가 모두 나열되어 있습니다. 두 번째 명령은 크레딧을 조회하며, 이는 무료입니다.
# Print the body, then the HTTP status on its own line
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=test" -w '\nHTTP %{http_code}\n'
# Credits left (free call)
curl -s "https://serpcrypto.com/api/v1/credits" -H "Authorization: Bearer $SERPCRYPTO_API_KEY" | jq .Windows에서 PowerShell에 해당하는 방법은 무엇인가요?
Invoke-RestMethod은 요청을 보내고 JSON을 객체로 파싱하므로 jq이 필요 없습니다. 매개변수를 -Body의 해시테이블로 전달하세요. GET 요청의 경우 PowerShell이 이를 검색 쿼리 문자열로 인코딩합니다. 그런 다음 Format-Table가 순위, 제목, 링크를 출력합니다.
# Windows PowerShell 5.1 or PowerShell 7
$headers = @{ Authorization = "Bearer $env:SERPCRYPTO_API_KEY" }
$query = @{ q = "kubernetes cost monitoring"; gl = "us"; hl = "en" }
$data = Invoke-RestMethod -Uri "https://serpcrypto.com/api/v1/search" -Headers $headers -Body $query -Method Get
$data.organic_results | Select-Object position, title, link | Format-Table -AutoSizecurl에서 코드로 언제 전환해야 하나요?
키워드 목록으로 명령을 반복하는 즉시 전환하세요. 셸 루프는 수십 건의 검색에는 충분하지만, 재시도, 병렬 처리, 저장은 Python 또는 Node.js에서 더 쉽습니다. 요청 자체는 동일하므로 여기서 테스트한 레시피는 변경 없이 그대로 이식됩니다. 각 검색은 1 크레딧이며, 검색 10,000회 팩 기준 US$0.75/1K 검색입니다.
curl 질문
curl에서 검색 쿼리가 400 오류를 반환하는 이유는 무엇인가요?
보통 q이 -d과 함께 전송되었고 인코딩이 필요한 문자가 포함되어 있기 때문입니다. 검색 쿼리와 location에는 --data-urlencode "q=…"를 사용하세요. gl=us 같은 일반 코드는 -d와 함께 써도 됩니다.
전체 JSON을 파일로 저장할 수 있나요?
네: jq로 파이프하는 대신 -o result.json을 추가하세요. 원본 응답을 저장하면 검색 비용을 다시 지불하지 않고 나중에 다시 파싱할 수 있습니다.
Windows의 curl도 같은 방식으로 작동하나요?
Windows 10과 11에는 curl.exe이 포함되어 있고 플래그도 동일합니다. cmd.exe에서는 따옴표 처리 방식이 다르므로, 보통 Invoke-RestMethod를 사용하는 PowerShell이 더 간단합니다.