نتایج گوگل

بررسی

سرویس نتایج گوگل چیست، چه چیزی برمی‌گرداند، دسته اندپوینت دارد و چطور با کلید API نتیجهٔ جستجوی گوگل بگیرید.

سرویس نتایج گوگل جستجوی گوگل را برای شما انجام می‌دهد. یک دامنه و یک کلمهٔ کلیدی می‌دهید، این سرویس نتایج گوگل را برای همان عبارت می‌خواند و سندی ساختاریافته از آن برمی‌گرداند — رتبهٔ دامنهٔ شما، فهرست نتایج، و هر چیزی که گوگل کنارشان گذاشته است.

این سرویس برای برنامه‌هایی است که داده را در کد خودشان مصرف می‌کنند — همان چیزی که کنسول پایش رصد به‌جای شما انجام می‌دهد.

موردمقدار
نشانی پایهhttps://serp.rasaad.ir
اندپوینت‌های پیشنهادی/api/v1/operator/*
نوع محتواapplication/json مگر خلافش گفته شود
احراز هویتفقط کلید API

سه کاری که سرویس نتایج گوگل انجام می‌دهد

ثبت یک پرس‌وجو

یک خزش را همین حالا اجرا می‌کند. هیچ زمان‌بندی‌ای نمی‌سازد و هیچ اثر جانبی ندارد.

خواندن نتایج

نتایج خزش‌های تمام‌شده را می‌دهد؛ به‌صورت سند خام، به شکل قالب سازگار با SerpAPI، یا به‌صورت markdown و HTML خام.

رهگیری یک پرس‌وجو در طول زمان

یک «هدف» می‌سازید تا همان پرس‌وجو روی زمان‌بندی تکرار شود و تاریخچهٔ رتبه در دستتان باشد.

تفاوت این سه با یک جدول، چون اشتباه‌شان هزینه دارد:

کاراندپوینتاثر جانبی
اجرای یک‌بارهPOST /queriesهیچ — نه هدفی می‌سازد، نه زمان‌بندی‌ای
رهگیری مداومPOST /targetsیک زمان‌بندی دائمی می‌سازد
خواندنGET /resultsهیچ
این تنها جایی است که یک تفاوت رفتاری واقعاً خطرناک دارد. در مسیر قدیمی POST /api/query، گذاشتن cadence_hours بزرگ‌تر از صفر بیسروصدا یک هدف تکرارشونده می‌ساخت؛ یک upsert پنهان داخل یک درخواست ثبت. اگر از مسیر قدیمی مهاجرت می‌کنید، این را بدانید. جزئیات در مسیرهای قدیمی.

شروع سریع

KEY=kserp_...

# ۱. این کلید چه می‌تواند بکند و سقف‌هایش چیست؟
curl -s -H "X-API-Key: $KEY" \
  https://serp.rasaad.ir/api/v1/operator/capabilities

# ۲. همین حالا یک پرس‌وجو اجرا کن (بدون زمان‌بندی و بدون اثر جانبی)
curl -s -X POST -H "X-API-Key: $KEY" -H 'Content-Type: application/json' \
  -d '{"domain":"example.ir","keyword":"shoes","city":"tehran"}' \
  https://serp.rasaad.ir/api/v1/operator/queries

# ۳. همان پرس‌وجو را زمان‌بندی کن (هر ۶ ساعت)
curl -s -X POST -H "X-API-Key: $KEY" -H 'Content-Type: application/json' \
  -d '{"domain":"example.ir","keyword":"shoes","city":"tehran","cadence_hours":6}' \
  https://serp.rasaad.ir/api/v1/operator/targets

# ۴. اجراهای تمام‌شده را بخوان
curl -s -H "X-API-Key: $KEY" \
  "https://serp.rasaad.ir/api/v1/operator/results?domain=example.ir&keyword=shoes"
گام ۲ بلافاصله نتیجه نمی‌دهد. یک پرس‌وجوی تازه در صف می‌نشت و بعداً پردازش می‌شود. وضعیت‌ها و روش صبر کردن در پرس‌وجوها آمده است.

دسته اندپوینت

هر دو دسته پشتیبانی می‌شوند و هیچ‌کدام منسوخ اعلام نشده‌اند.

موضوعAPI منابعمسیر قدیمی
پیشوند/api/v1/operator/*/api/*
مدلمنبع: targets، queries، results، usageکنشی: «ثبت کن»، «بخوان»
احراز هویتفقط کلید APIکلید API یا کوکی نشست داشبورد
صفحه‌بندیlimit + کرسر امضاشده، با totalفقط limit
فیلتر وضعیتداردندارد
محدودیت نرخداردندارد

در یکپارچگی تازه از API منابع استفاده کنید. مسیرهای قدیمی برای کلاینت‌هایی است که همین حالا نوشته شده‌اند.

یک نامتقارنی که باید حفظ کنید:GET /api/results هیچ معادلی در v1 ندارد، چون /api/v1/operator/results مسیر منابعِ کاملتری است و این دو یک پرس‌وجو نیستند. مقایسهٔ کامل در مسیرهای قدیمی.

اول کلیدتان را بپرسید

قبل از هر چیز دیگر، GET /capabilities را فراخوانی کنید. به یک کلید معتبر نیاز دارد و هیچ دسترسی خاصی لازم ندارد:

curl -s -H "X-API-Key: $KEY" \
  https://serp.rasaad.ir/api/v1/operator/capabilities

تا وقتی ندانید چه کلیدی دارید، نمی‌توانید بپرسید با آن چه کارهایی می‌توانید بکنید. این تنها اندپوینتی است که به هیچ دسترسی خاصی نیاز ندارد.

سه مفهومی که باید از هم جدا نگه دارید

مفهومیعنی چهشناسه‌اش
پرس‌وجویک اجرای خزشtask_id
هدفیک پرس‌وجوی زمان‌بندی‌شدهٔ دائمیtarget_id
نتیجهسند آنچه خزش در آن لحظه دیدtask_id
هر هدف، پرس‌وجوهایی تولید می‌کند و هر پرس‌وجو، گاهی نتیجه‌ای. یک پرس‌وجویی که هیچ نتیجه‌ای نساخت — چون گوگل کپچا داد یا استخراج چیزی پیدا نکرد — همچنان در پرس‌وجوها دیده می‌شود، ولی در نتایج نیست. این تفاوت عمدی است: «پیدا نشد در صفحه‌هایی که نگاه کردیم» با «نتیجه‌ای وجود ندارد» یکی نیست.

نقشهٔ راهنما

صفحهموضوع
احراز هویتارسال کلید، جدول دسترسی‌ها، مالکیت داده، و 401 در برابر 403 در برابر 404
اهدافچرخهٔ کامل هدف: ساخت، فهرست، ویرایش، روشن/خاموش، حذف، تاریخچه
پرس‌وجوهااجرای یک‌باره، مدل وضعیت و معنای deduped
نتایجسند نتیجه، قالب SerpAPI، نمایش markdown و HTML خام، و صفحه‌بندی روی مرزهای واقعی
مصرفشمارنده‌های یک دوره و اینکه چرا quota همیشه null است
محدودیت نرخسطل توکن، هدرها و رفتار در 429
صفحه‌بندیکرسر امضاشده و چرا keyset است، نه offset
مرجع خطاهاهر کد وضعیت و معنای آن
مسیرهای قدیمی/api/*، تفاوت‌ها، و GET /selector-health
قدم بعدی:احراز هویت. جدول دسترسی‌ها تعیین می‌کند کدام اندپوینت‌ها اصلاً برای کلید شما باز هستند، و پیش از هر چیز دیگری به آن نیاز دارید.