คำตอบสั้น
การตอบกลับของ SerpCrypto SERP API ประกอบด้วยอะไรบ้าง?
แต่ละการตอบกลับ SerpCrypto คือออบเจกต์ JSON หนึ่งออบเจกต์: search_metadata (สถานะ, engine, เครดิตที่ใช้), search_parameters (การตั้งค่าที่ใช้), search_information ตามด้วยหนึ่งบล็อกต่อหนึ่งส่วนของหน้าผลการค้นหา เช่น organic_results, ai_overview, people_also_ask หรือ local_results ส่วนที่ไม่มีก็จะหายไปเลย หนึ่งหน้าคือ 1 เครดิต เริ่มต้นที่ US$0.30/1K การค้นหา จ่ายด้วยคริปโต ไม่ต้อง KYC
การตอบกลับเต็มรูปแบบของ Google หน้าตาเป็นอย่างไร?
ตัวอย่างด้านล่างคือการค้นหา Google สำหรับ standing desk ในสหราชอาณาจักร ย่อให้เหลือหนึ่งรายการต่ออาร์เรย์ คำตอบจริงมีผลลัพธ์ organic ประมาณสิบรายการและทุกบล็อกอื่นที่หน้านั้นแสดงสำหรับคำค้นหา ตำแหน่ง และอุปกรณ์นั้น
{
"search_metadata": {
"id": "srch_2b81d0c6fa47",
"status": "success",
"engine": "google",
"created_at": "2026-10-22T10:02:31Z",
"credits_used": 1
},
"search_parameters": {
"engine": "google",
"q": "standing desk",
"gl": "gb",
"hl": "en",
"google_domain": "google.co.uk",
"device": "desktop",
"page": 1
},
"search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
"ai_overview": {
"text": "A standing desk lets you work while standing or sitting…",
"references": [
{ "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
]
},
"ads": [
{ "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
],
"organic_results": [
{
"position": 1,
"title": "Best standing desks 2026, tested",
"link": "https://www.example.co.uk/best-standing-desks",
"displayed_link": "www.example.co.uk › reviews",
"snippet": "We tested 14 electric and manual desks…",
"date": "12 Oct 2026",
"sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
}
],
"people_also_ask": [
{ "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
],
"shopping_results": [
{ "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
],
"related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
"pagination": { "current": 1, "next_page": 2 }
}ทำไมบางบล็อกหายไปจากการตอบกลับของฉัน?
เพราะหน้าผลการค้นหาไม่ได้แสดงบล็อกเหล่านั้น Google ตัดสินใจเป็นรายคำค้นหา สถานที่ และอุปกรณ์ว่าจะแสดง ads, AI Overview, local pack หรือ top stories หรือไม่ SerpCrypto ส่งคืนเฉพาะสิ่งที่หน้านั้นแสดงและละส่วนที่เหลือออก แทนที่จะส่ง placeholder ว่าง
อ่านทุกบล็อกด้วยค่าเริ่มต้น ดังบรรทัด Python ด้านล่าง กฎเดียวกันนี้ใช้ภายในบล็อกด้วย: field ที่เป็น optional เช่น date หรือ sitelinks จะปรากฏเฉพาะบนผลลัพธ์ที่มี field นั้น
data = response.json()
# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]
if overview:
print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")search_metadata มีอะไรบ้าง?
| Field | Type | คำอธิบาย |
|---|---|---|
id | string | ตัวระบุของการค้นหา อ้างอิงค่านี้เมื่อคุณติดต่อฝ่ายสนับสนุน |
status | string | success ในการตอบกลับ 200 |
engine | string | engine ที่รันการค้นหา |
created_at | string | เวลาของการค้นหา รูปแบบ ISO 8601 ใน UTC |
credits_used | integer | เครดิตที่ใช้ในการค้นหานี้: 1 เมื่อสำเร็จ |
search_parameters และ search_information คืออะไร?
เก็บ search_parameters ไว้กับผลลัพธ์ของคุณ: บันทึกได้อย่างแม่นยำว่าอันดับนั้นมาจากประเทศ ภาษา สถานที่ และอุปกรณ์ใด
| Field | Type | คำอธิบาย |
|---|---|---|
search_parameters | object | พารามิเตอร์ที่ใช้ โดยเติมค่าเริ่มต้นให้แล้ว: engine, q, gl, hl, location, google_domain, device, page และอื่นๆ ที่คุณส่งมา |
search_information.total_results | integer | จำนวนผลลัพธ์ที่เอนจินแสดง เมื่อมีการแสดง ค่าเป็นการประมาณ ไม่ใช่ตัวเลขที่แน่นอน |
search_information.query_displayed | string | คำค้นหาตามที่หน้าผลลัพธ์แสดง |
organic_results มีฟิลด์อะไรบ้าง?
ผลลัพธ์แบบ organic คือผลการค้นหาบนเว็บที่ไม่เสียค่าใช้จ่าย บน Bing นั้น organic_results มีรูปแบบเดียวกัน
| Field | Type | คำอธิบาย |
|---|---|---|
position | integer | ลำดับของผลลัพธ์ในบล็อกนี้บนหน้านี้ เริ่มที่ 1 |
title | string | ชื่อเรื่องแบบลิงก์สีน้ำเงิน |
link | string | URL ของผลลัพธ์ |
displayed_link | string | URL หรือ breadcrumb ที่แสดงใต้ชื่อเรื่อง |
snippet | string | ข้อความที่แสดงใต้ชื่อเรื่อง |
date | string | วันที่ที่แสดงข้าง snippet ตามที่เขียนบนหน้า ไม่บังคับ |
sitelinks | array | ลิงก์เพิ่มเติมที่แสดงใต้ผลลัพธ์ แต่ละรายการมี title และ link ไม่บังคับ |
AI Overview ถูกส่งกลับมาอย่างไร?
ai_overview จะมีก็ต่อเมื่อ Google แสดง AI Overview สำหรับคำค้นหาและสถานที่นั้น คำค้นหาหลายคำไม่มีเลย
| Field | Type | คำอธิบาย |
|---|---|---|
ai_overview.text | string | ข้อความของ AI Overview ตามที่แสดงบนหน้า |
ai_overview.references[].index | integer | ลำดับของแหล่งที่มาใน overview |
ai_overview.references[].title | string | ชื่อเรื่องของหน้าที่อ้างอิง |
ai_overview.references[].link | string | URL ของหน้าที่อ้างอิง |
ai_overview.references[].source | string | ชื่อของเว็บไซต์ ตามที่แสดง |
ads และ people_also_ask มีอะไรบ้าง?
| Field | Type | คำอธิบาย |
|---|---|---|
ads[].position | integer | ลำดับภายในบล็อกของมัน |
ads[].block | string | top หรือ bottom ของหน้า |
ads[].title, link, displayed_link | string | พาดหัว URL ปลายทาง และ URL ที่แสดงของโฆษณา |
ads[].description | string | ข้อความโฆษณา |
people_also_ask[].question | string | คำถามตามที่แสดง |
people_also_ask[].snippet | string | ข้อความคำตอบที่แสดงเมื่อเปิดคำถาม |
people_also_ask[].title, link | string | ชื่อและ URL ของหน้าที่เป็นแหล่งที่มาของคำตอบ |
Google ยังมีบล็อกอื่นใดอีกบ้างที่ปรากฏได้?
| บล็อก | ฟิลด์ | คืออะไร |
|---|---|---|
local_results | position, title, address, rating, reviews, type | local pack: ธุรกิจบนแผนที่สำหรับคำค้นหาที่มีเจตนาด้านสถานที่ |
knowledge_graph | title, type, description, source.name, source.link | knowledge panel เกี่ยวกับบุคคล สถานที่ บริษัท หรือสิ่งของ |
top_stories | title, link, source, date | บทความข่าวที่แสดงใน carousel |
inline_videos | title, link, source, duration | ผลการค้นหาวิดีโอที่แสดงภายในผลการค้นหาเว็บ |
shopping_results | position, title, price, source, link | รายการสินค้าที่แสดงภายในผลการค้นหาเว็บ |
related_searches | query | คำค้นหาที่แนะนำที่ด้านล่างของหน้า |
pagination | current, next_page | หมายเลขหน้าปัจจุบันและหน้าถัดไป เมื่อมี |
search อื่นๆ คืนค่าอะไรกลับมา?
แต่ละ vertical ใช้โครงเดิมและเพิ่มอาร์เรย์ของตัวเอง บน Google Maps local_results มีข้อมูลมากกว่าชุดผลลัพธ์ท้องถิ่น (local pack) ของการค้นหาบนเว็บ
engine | อาร์เรย์หลัก | ฟิลด์ |
|---|---|---|
google_news | news_results | position, title, link, source, date, snippet, thumbnail |
google_images | images_results | position, title, original, original_width, original_height, thumbnail, source, link |
google_maps | local_results | position, title, place_id, address, phone, website, rating, reviews, type, hours, gps_coordinates.latitude, gps_coordinates.longitude |
google_shopping | shopping_results | position, title, price, extracted_price, currency, source, link, delivery, rating, reviews |
bing | organic_results, related_searches | ฟิลด์เดียวกับผลการค้นหา Google แบบออร์แกนิก |
ราคา คะแนน และวันที่ถูกพิมพ์ออกมาแบบไหน?
ค่าต่าง ๆ จะคงรูปแบบที่หน้าเว็บใช้ไว้เมื่อหน้าเว็บเขียนเป็นข้อความ price เป็นสตริงพร้อมสัญลักษณ์สกุลเงิน เช่น £299.00 และ Google Shopping เพิ่ม extracted_price เป็นตัวเลขโดยมี currency เป็นรหัส rating เป็นตัวเลข และ reviews เป็นจำนวนเต็ม วันที่อย่าง date คงไว้ตามที่เขียนบนหน้าเว็บ เช่น 12 Oct 2026 หรือ 3 days ago ดังนั้นหากต้องการ timestamp ให้แปลงค่าเองในโค้ดของคุณ
จะสร้างอันดับรวมข้ามหลายหน้าได้อย่างไร?
เก็บหมายเลขหน้ากำกับไว้กับผลลัพธ์แต่ละรายการ position บอกลำดับภายในบล็อกของมันบนหน้าเดียว และ search_parameters.page บอกว่าอยู่หน้าไหน ผลลัพธ์ออร์แกนิกประมาณ 10 รายการต่อหน้า ตามที่ Google ให้บริการตั้งแต่เลิกใช้ num=100 ในเดือนกันยายน 2025; แต่ละหน้าเพิ่มคือหนึ่งเครดิตเพิ่มเติม
สำหรับการติดตามอันดับ ทีมส่วนใหญ่เก็บ link, position, page, gl, location, device และ created_at ต่อคำค้นหาและต่อวัน แค่นี้ก็พอสำหรับวาดกราฟอันดับและอธิบายการเปลี่ยนแปลงตามสถานที่หรืออุปกรณ์ ดูวิธีเต็มได้ที่ การติดตามอันดับ
คำถามเรื่องรูปแบบการตอบกลับ
ชื่อฟิลด์เสถียรหรือไม่?
เสถียรภายในเวอร์ชัน 1 อาจมีการเพิ่มบล็อกหรือฟิลด์ใหม่ ดังนั้นให้ละเว้นคีย์ที่ไม่รู้จัก การลบหรือเปลี่ยนชื่อฟิลด์จะมาพร้อมเวอร์ชันใหม่ใน path เช่น /api/v2/
ขอ HTML ดิบของหน้าเว็บได้ไหม?
ไม่ได้ เวอร์ชัน 1 คืนค่าเป็น JSON ที่ parse แล้วเท่านั้น บล็อกที่ parse แล้วครอบคลุมสิ่งที่เครื่องมือส่วนใหญ่ต้องการ: ผลลัพธ์ โฆษณา คำถาม AI Overview ชุดผลลัพธ์ท้องถิ่น และ knowledge panel
ทำไม total_results ต่างจากที่ฉันนับได้?
มันคือค่าประมาณที่เอนจินพิมพ์ออกมา ไม่ใช่จำนวนผลลัพธ์ที่คุณไล่ดูทีละหน้าได้ จำนวนหน้าจะหยุดก่อนถึงตัวเลขนั้นมาก ใช้ pagination.next_page เพื่อดูว่ามีหน้าถัดไปหรือไม่
การตอบกลับที่ไม่มีผลลัพธ์ออร์แกนิกคิดเครดิตไหม?
คิด หากการค้นหาสำเร็จ: หน้าว่างก็ยังถือเป็นผลลัพธ์ เฉพาะข้อผิดพลาดเท่านั้นที่ฟรี 1 เครดิต = 1 คำขอค้นหาที่สำเร็จ ซึ่งคืนผลลัพธ์หนึ่งหน้าบนเอนจินที่รองรับ คำขอที่ล้มเหลวจะไม่ถูกคิดเครดิต