# SERP API dengan curl dan jq: resep satu baris

> Resep SERP API SerpCrypto satu baris dengan curl dan jq: 10 tautan teratas, People Also Ask, sumber AI Overview, local pack dan Maps, plus versi PowerShell.

- URL: https://serpcrypto.com/id/docs/curl/
- Terakhir diperbarui: 2026-10-22
- Penerbit: SerpCrypto (https://serpcrypto.com)

Cara tercepat untuk melihat apa yang dikembalikan API adalah terminal. Resep ini masing-masing mencetak tepat satu hal: tautan, pertanyaan, sumber, atau bisnis lokal. Resep ini berfungsi di bash dan zsh; versi PowerShell menutup halaman ini.

**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.

*10 tautan teratas*

```bash
# 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*

```bash
# 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.

*Sumber AI Overview*

```bash
# 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, lalu Google Maps*

```bash
# 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](https://serpcrypto.com/id/docs/errors/) mencantumkan keenam kode. Perintah kedua membaca kredit Anda, yang gratis.

*Status code dan kredit*

```bash
# 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.

*PowerShell*

```powershell
# 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 -AutoSize
```

## Kapan 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](https://serpcrypto.com/id/docs/python/) atau [Node.js](https://serpcrypto.com/id/docs/node/). 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.

---

SerpCrypto: SerpCrypto adalah SERP API untuk developer dan AI agent yang mengembalikan hasil pencarian Google dan Bing dalam format JSON, dibayar dengan kripto tanpa unggah identitas. Kredit pencarian prabayar mulai dari US$0,30/1K pencarian tidak pernah kedaluwarsa. Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen. Bayar dengan kripto.
