Kurze Antwort
Wie frage ich eine SERP-API mit curl ab?
Führen Sie curl -sG "https://serpcrypto.com/api/v1/search" -H "Authorization: Bearer $KEY" --data-urlencode "q=your query" aus und leiten Sie das JSON an jq weiter. Mit SerpCrypto kostet jede erfolgreiche Suche 1 Credit, ab 0,30 $/1K Suchanfragen, und Fehler sind kostenlos. -G verwandelt die Daten-Flags in einen Query-String. Credits werden mit Krypto bezahlt, ohne KYC.
Welche curl-Flags sind hier wichtig?
Legen Sie den API-Schlüssel einmal pro Shell mit export SERPCRYPTO_API_KEY=… fest. Installieren Sie jq mit Ihrem Paketmanager, falls es fehlt.
| Flag | Warum |
|---|---|
-s | Silent: keine Fortschrittsanzeige, die sich mit dem JSON vermischt. |
-G | Sendet die Werte von -d und --data-urlencode als Query-String bei einer GET-Anfrage. |
--data-urlencode | Kodiert Leerzeichen, Anführungszeichen und Akzente in q und location. |
-H "Authorization: Bearer …" | Ihr API-Schlüssel. Bewahren Sie ihn in einer Umgebungsvariable auf. |
-w '%{http_code}' | Gibt den HTTP-Status aus, nützlich wenn ein Aufruf fehlschlägt. |
Wie gebe ich die Top 10 Links für ein Keyword aus?
Fordern Sie die organischen Ergebnisse an und lassen Sie jq die Position und den Link jedes einzelnen ausgeben, getrennt durch einen Tab. Die Form []? gibt nichts aus, statt fehlzuschlagen, wenn ein Block fehlt, was Skripte bei ungewöhnlichen Seiten ruhig hält.
# 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)"'Wie liste ich die People Also Ask Fragen auf?
Lesen Sie people_also_ask[].question. Die Fragen folgen der Sprache in hl und ändern sich mit dem Land in gl, führen Sie also dieselbe Suchanfrage in jedem Markt aus, für den Sie schreiben. Content-Teams fügen diese Liste direkt in ein Briefing ein.
# 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'Wie sehe ich, welche Quellen ein AI Overview zitiert?
Lesen Sie ai_overview.references. Der Block existiert nur, wenn Google für diese Suchanfrage und diesen Ort ein AI Overview anzeigt, andernfalls gibt das Rezept eine klare Meldung aus. Die Beobachtung dieser Quellen über die Zeit zeigt, ob Ihre Seiten in Googles generierten Antworten zitiert werden.
# 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'Wie bekomme ich das Local Pack und die Maps-Liste?
Eine Websuche mit location liefert das Local Pack, das auf der Ergebnisseite angezeigt wird, meist einige Unternehmen. engine=google_maps liefert die längere Maps-Liste mit Adresse, Bewertung und Anzahl der Rezensionen, die @tsv in Zeilen für eine Tabellenkalkulation umwandelt. Beide kosten jeweils 1 Credit.
# 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'Wie sehe ich den Fehler, wenn ein Aufruf fehlschlägt?
Fügen Sie -w '\nHTTP %{http_code}\n' hinzu, um den Status nach dem Body auszugeben. Ein Fehler-Body ist kleines JSON mit code und message; die Fehlerseite listet alle sechs Codes. Der zweite Befehl liest Ihre Credits, was kostenlos ist.
# 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 .Was ist das PowerShell-Äquivalent unter Windows?
Invoke-RestMethod sendet die Anfrage und parst das JSON in Objekte, sodass Sie jq nicht brauchen. Übergeben Sie die Parameter als Hashtable in -Body: bei einer GET-Anfrage kodiert PowerShell sie in den Query-String. Format-Table gibt dann Positionen, Titel und Links aus.
# 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 -AutoSizeWann sollte ich von curl zu Code wechseln?
Sobald Sie einen Befehl mit einer Liste von Keywords wiederholen. Eine Shell-Schleife funktioniert für ein paar Dutzend Suchen, aber Retries, Parallelität und Speicherung sind in Python oder Node.js einfacher. Die Anfragen sind dieselben, sodass ein hier getestetes Rezept unverändert übernommen werden kann. Jede Suche bleibt bei 1 Credit, bei 0,75 $/1K Suchanfragen im 10.000 Suchanfragen-Pack.
curl Fragen
Warum gibt meine Suchanfrage in curl einen 400-Fehler zurück?
Meist weil q mit -d gesendet wurde und ein Zeichen enthält, das kodiert werden muss. Verwenden Sie --data-urlencode "q=…" für die Suchanfrage und für location; einfache Codes wie gl=us können bei -d bleiben.
Kann ich das vollständige JSON in einer Datei speichern?
Ja: fügen Sie -o result.json hinzu, statt an jq zu pipen. Das Speichern der Rohantworten ermöglicht es Ihnen, sie später erneut zu parsen, ohne die Suche erneut zu bezahlen.
Funktioniert curl unter Windows genauso?
Windows 10 und 11 enthalten curl.exe, und die Flags sind dieselben. Die Quotierung unterscheidet sich in cmd.exe, daher ist PowerShell mit Invoke-RestMethod dort meist einfacher.