Snel antwoord
Hoe query ik een SERP-API met curl?
Voer curl -sG "https://serpcrypto.com/api/v1/search" -H "Authorization: Bearer $KEY" --data-urlencode "q=your query" uit en pipe de JSON naar jq. Met SerpCrypto kost elke geslaagde zoekopdracht 1 credit, vanaf US$ 0,30/1K zoekopdrachten, en fouten zijn gratis. -G zet de data-flags om in een query string. Credits worden betaald met crypto, zonder KYC.
Welke curl-flags zijn hier belangrijk?
Stel de sleutel één keer per shell in met export SERPCRYPTO_API_KEY=…. Installeer jq via je package manager als het ontbreekt.
| Flag | Waarom |
|---|---|
-s | Silent: geen progressiebalk vermengd met de JSON. |
-G | Stuur de waarden -d en --data-urlencode als query string mee in een GET-request. |
--data-urlencode | Codeer spaties, aanhalingstekens en accenten in q en location. |
-H "Authorization: Bearer …" | Je API-sleutel. Bewaar die in een environment variable. |
-w '%{http_code}' | Print de HTTP-status, handig wanneer een aanroep mislukt. |
Hoe print ik de top 10 links voor een zoekopdracht?
Vraag de organische resultaten op en laat jq de positie en link van elk resultaat printen, gescheiden door een tab. De []?-vorm print niets in plaats van te falen wanneer een blok ontbreekt, wat scripts stil houdt op ongebruikelijke pagina's.
# 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)"'Hoe lijst ik de People Also Ask-vragen op?
Lees people_also_ask[].question. De vragen volgen de taal in hl en veranderen met het land in gl, dus voer dezelfde zoekopdracht uit in elke markt waarvoor je schrijft. Contentteams plakken deze lijst direct in een brief.
# 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'Hoe zie ik welke bronnen een AI Overview citeert?
Lees ai_overview.references. Het blok bestaat alleen wanneer Google een AI Overview toont voor die zoekopdracht en locatie, dus het recept print anders een duidelijke melding. Deze bronnen over tijd volgen laat zien of je pagina's worden geciteerd in de gegenereerde antwoorden van 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'Hoe krijg ik het local pack en de Maps-lijst?
Een webzoekopdracht met location retourneert het local pack dat op de resultatenpagina wordt getoond, meestal een paar bedrijven. engine=google_maps retourneert de langere Maps-lijst met adres, beoordeling en aantal reviews, die @tsv omzet in rijen voor een spreadsheet. Beide kosten 1 credit per stuk.
# 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'Hoe zie ik de fout wanneer een aanroep mislukt?
Voeg -w '\nHTTP %{http_code}\n' toe om de status na de body te printen. Een foutbody is kleine JSON met code en message; de errors-pagina] somt alle zes codes op. Het tweede commando leest je credits, wat gratis is.
# 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 .Wat is het PowerShell-equivalent op Windows?
Invoke-RestMethod verstuurt het verzoek en parseert de JSON naar objecten, dus je hebt jq niet nodig. Geef de parameters door als een hashtable in -Body: bij een GET-verzoek codeert PowerShell ze in de query string. Format-Table print dan posities, titels en links.
# 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 -AutoSizeWanneer moet ik van curl naar code overstappen?
Zodra je een commando herhaalt met een lijst zoekopdrachten. Een shell-loop werkt voor een paar dozijn zoekopdrachten, maar retries, parallelisme en opslag zijn eenvoudiger in Python of Node.js. De verzoeken zijn hetzelfde, dus een hier getest recept werkt ongewijzigd over. Elke zoekopdracht blijft 1 credit, tegen US$ 0,75/1K zoekopdrachten op het 10.000 zoekopdrachten-pack.
curl-vragen
Waarom geeft mijn zoekopdracht een 400-fout in curl?
Meestal omdat q met -d is verzonden en een teken bevat dat encoding nodig heeft. Gebruik --data-urlencode "q=…" voor de zoekopdracht en voor location; gewone codes zoals gl=us kunnen bij -d blijven.
Kan ik de volledige JSON naar een bestand opslaan?
Ja: voeg -o result.json toe in plaats van te pipen naar jq. Ruwe antwoorden opslaan laat je ze later opnieuw parsen zonder opnieuw voor de zoekopdracht te betalen.
Werkt curl op Windows hetzelfde?
Windows 10 en 11 bevatten curl.exe, en de flags zijn hetzelfde. Quoting verschilt in cmd.exe, dus PowerShell met Invoke-RestMethod is daar meestal eenvoudiger.