Không cần KYC — không giấy tờ tùy thân, không selfie, không tài liệu. Thanh toán bằng crypto: BTC, USDT, USDC, ETH, SOL, LTC
Ngôn ngữ: Tiếng Việt
Lấy khóa API

Docs · curl · jq · PowerShell

SERP API với curl và jq: công thức một dòng

Cách nhanh nhất để xem API trả về gì là dùng terminal. Mỗi công thức này chỉ in ra đúng một thứ: liên kết, câu hỏi, nguồn hoặc doanh nghiệp địa phương. Chúng chạy trong bash và zsh; phiên bản PowerShell kết thúc trang.

Cập nhật lần cuối: · 5 phút đọc

Trả lời nhanh

Làm sao để truy vấn SERP API bằng curl?

Chạy curl -sG "https://serpcrypto.com/api/v1/search" -H "Authorization: Bearer $KEY" --data-urlencode "q=your query" và pipe JSON sang jq. Với SerpCrypto, mỗi lượt tìm kiếm thành công tốn 1 credit, từ 0,30 US$/1K lượt tìm kiếm, và lỗi thì miễn phí. -G biến các data flag thành query string. Credit được thanh toán bằng crypto, không cần KYC.

Những flag curl nào quan trọng ở đây?

Đặt khóa một lần cho mỗi shell bằng export SERPCRYPTO_API_KEY=…. Cài jq từ trình quản lý gói của bạn nếu chưa có.

FlagVì sao
-sIm lặng: không có thanh tiến trình lẫn vào JSON.
-GGửi các giá trị -d và --data-urlencode dưới dạng query string trong một GET request.
--data-urlencodeMã hóa dấu cách, dấu ngoặc kép và dấu trong q và location.
-H "Authorization: Bearer …"Khóa API của bạn. Giữ nó trong một biến môi trường.
-w '%{http_code}'In ra HTTP status, hữu ích khi một lệnh gọi thất bại.

Làm sao để in ra top 10 liên kết cho một từ khóa?

Yêu cầu kết quả organic và để jq in ra vị trí và liên kết của từng kết quả, phân tách bằng tab. Dạng []? không in gì thay vì báo lỗi khi thiếu một block, giúp script chạy êm trên những trang khác thường.

Top 10 liên kết
# 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)"'

Làm sao để liệt kê các câu hỏi trong People Also Ask?

Đọc people_also_ask[].question. Các câu hỏi theo ngôn ngữ trong hl và thay đổi theo quốc gia trong gl, nên hãy chạy cùng một truy vấn ở mỗi thị trường bạn viết cho. Đội ngũ nội dung dán thẳng danh sách này vào bản brief.

People Also Ask
# 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'

Làm sao để xem một AI Overview trích dẫn những nguồn nào?

Đọc ai_overview.references. Block này chỉ tồn tại khi Google hiển thị AI Overview cho truy vấn và vị trí đó, nên nếu không thì công thức sẽ in ra một thông báo rõ ràng. Theo dõi các nguồn này theo thời gian cho thấy trang của bạn có được trích dẫn trong các câu trả lời do Google tạo ra hay không.

Nguồn của AI Overview
# 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'

Làm sao để lấy local pack và danh sách Maps?

Một tìm kiếm web với location trả về local pack hiển thị trên trang kết quả, thường là vài doanh nghiệp. engine=google_maps trả về danh sách Maps dài hơn với địa chỉ, đánh giá và số lượt đánh giá, mà @tsv chuyển thành các hàng cho bảng tính. Cả hai đều tốn 1 credit mỗi lần.

Local pack, rồi Google Maps
# 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'

Làm sao để xem lỗi khi một lệnh gọi thất bại?

Thêm -w '\nHTTP %{http_code}\n' để in status sau phần body. Body lỗi là JSON nhỏ với code và message; trang errors liệt kê cả sáu mã. Lệnh thứ hai đọc số credit của bạn, miễn phí.

Mã status và credit
# 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 .

Tương đương trên Windows với PowerShell là gì?

Invoke-RestMethod gửi request và phân tích JSON thành object, nên bạn không cần jq. Truyền tham số dưới dạng hashtable trong -Body: với request GET, PowerShell mã hóa chúng vào query string. Sau đó Format-Table in ra vị trí, tiêu đề và liên kết.

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

Khi nào nên chuyển từ curl sang code?

Ngay khi bạn lặp lại một lệnh với một danh sách từ khóa. Vòng lặp shell đủ dùng cho vài chục tìm kiếm, nhưng retry, chạy song song và lưu trữ dễ hơn trong Python hoặc Node.js. Các request vẫn như cũ, nên một công thức đã kiểm tra ở đây dùng lại được nguyên vẹn. Mỗi tìm kiếm vẫn là 1 credit, ở mức 0,75 US$/1K lượt tìm kiếm trên pack 10.000 tìm kiếm.

Câu hỏi về curl

Tại sao truy vấn của tôi trả về lỗi 400 trong curl?

Thường là do q được gửi bằng -d và chứa ký tự cần mã hóa. Dùng --data-urlencode "q=…" cho truy vấn và cho location; các mã đơn giản như gl=us có thể giữ với -d.

Tôi có thể lưu toàn bộ JSON vào file không?

Có: thêm -o result.json thay vì pipe sang jq. Lưu câu trả lời thô cho phép bạn phân tích lại sau này mà không phải trả tiền cho lần tìm kiếm đó lần nữa.

curl trên Windows có hoạt động giống vậy không?

Windows 10 và 11 có sẵn curl.exe, và các flag giống nhau. Cách đặt dấu nháy khác trong cmd.exe, nên PowerShell với Invoke-RestMethod thường đơn giản hơn ở đó.

Từ 0,30 US$/1K lượt tìm kiếm · không cần KYC

Lấy khóa API