Jawaban singkat
Bagaimana cara mengueri SERP API dengan curl?
Jalankan curl -sG "https://serpcrypto.com/api/v1/search" -H "Authorization: Bearer $KEY" --data-urlencode "q=your query" dan salurkan JSON ke jq. Dengan SerpCrypto, setiap pencarian yang berhasil memakan 1 kredit, mulai dari US$0,30/1K pencarian, dan error gratis. -G mengubah flag data menjadi query string. Kredit dibayar dengan kripto, tanpa KYC.
Flag curl mana yang penting di sini?
Setel API key sekali per shell dengan export SERPCRYPTO_API_KEY=…. Pasang jq dari package manager Anda jika belum ada.
| Flag | Alasannya |
|---|---|
-s | Silent: tidak ada progress bar yang tercampur dengan JSON. |
-G | Kirim nilai -d dan --data-urlencode sebagai query string pada permintaan GET. |
--data-urlencode | Encode spasi, tanda kutip, dan aksen di q dan location. |
-H "Authorization: Bearer …" | API key Anda. Simpan di environment variable. |
-w '%{http_code}' | Cetak status HTTP, berguna saat panggilan gagal. |
Bagaimana cara mencetak 10 tautan teratas untuk sebuah kata kunci?
Minta hasil organik dan biarkan jq mencetak posisi dan tautan masing-masing, dipisahkan dengan tab. Bentuk []? tidak mencetak apa pun alih-alih gagal saat blok tidak ada, sehingga skrip tetap tenang di halaman yang tidak biasa.
# 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)"'Bagaimana cara menampilkan pertanyaan People Also Ask?
Baca people_also_ask[].question. Pertanyaan mengikuti bahasa di hl dan berubah sesuai negara di gl, jadi jalankan kueri yang sama di setiap pasar yang Anda tulis. Tim konten menempelkan daftar ini langsung ke 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'Bagaimana cara melihat sumber mana yang dikutip AI Overview?
Baca ai_overview.references. Blok ini hanya ada saat Google menampilkan AI Overview untuk kueri dan lokasi tersebut, jadi resepnya mencetak pesan yang jelas jika tidak. Melacak sumber-sumber ini dari waktu ke waktu menunjukkan apakah halaman Anda dikutip dalam jawaban yang dihasilkan 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'Bagaimana cara mendapatkan local pack dan daftar Maps?
Pencarian web dengan location mengembalikan local pack yang tampil di halaman hasil, biasanya beberapa bisnis. engine=google_maps mengembalikan daftar Maps yang lebih panjang dengan alamat, rating dan jumlah ulasan, yang diubah @tsv menjadi baris untuk spreadsheet. Keduanya masing-masing 1 kredit.
# 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'Bagaimana cara melihat error saat panggilan gagal?
Tambahkan -w '\nHTTP %{http_code}\n' untuk mencetak status setelah body. Body error adalah JSON kecil dengan code dan message; halaman errors mencantumkan keenam kode. Perintah kedua membaca kredit Anda, yang gratis.
# 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 .Apa padanan PowerShell di Windows?
Invoke-RestMethod mengirim permintaan dan mengurai JSON menjadi objek, jadi Anda tidak perlu jq. Berikan parameter sebagai hashtable di -Body: dengan permintaan GET, PowerShell mengodekannya ke query string. Format-Table lalu mencetak posisi, judul dan tautan.
# 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 -AutoSizeKapan sebaiknya saya beralih dari curl ke kode?
Begitu Anda mengulang perintah dengan daftar kata kunci. Loop shell berfungsi untuk beberapa lusin pencarian, tetapi retry, paralelisme dan penyimpanan lebih mudah di Python atau Node.js. Permintaannya sama, jadi resep yang diuji di sini berlaku tanpa perubahan. Setiap pencarian tetap 1 kredit, sebesar US$0,75/1K pencarian pada paket 10.000 pencarian.
Pertanyaan curl
Mengapa kueri saya mengembalikan error 400 di curl?
Biasanya karena q dikirim dengan -d dan berisi karakter yang perlu dienkode. Gunakan --data-urlencode "q=…" untuk kueri dan untuk location; kode biasa seperti gl=us bisa tetap dengan -d.
Bisakah saya menyimpan JSON lengkap ke file?
Bisa: tambahkan -o result.json alih-alih menyalurkan ke jq. Menyimpan jawaban mentah memungkinkan Anda mengurainya lagi nanti tanpa membayar pencarian lagi.
Apakah curl di Windows bekerja dengan cara yang sama?
Windows 10 dan 11 sudah menyertakan curl.exe, dan flag-nya sama. Kutipan berbeda di cmd.exe, jadi PowerShell dengan Invoke-RestMethod biasanya lebih sederhana di sana.