Google Maps scraper API और MCP

Google Maps scraper API आपके ऐप या एजेंट से एक सीमित व्यवसाय खोज चलाता है। सीमित वर्कस्पेस कुंजी, स्पष्ट कार्य बजट और स्थिर idempotency कुंजी हर पुनः प्रयास पर लागू रहती हैं। परिणाम JSON में मिलते हैं, और जो फ़ील्ड नहीं मिला वह खाली रहता है।

शुरू करने से पहले · लाइव रिसर्च के लिए कॉन्फ़िगर किया गया डेटा स्रोत चाहिए। नमूना डेटा स्पष्ट रूप से चिह्नित है। सशुल्क प्लान अभी उपलब्ध नहीं हैं।

एक बाउंडेड जॉब बनाएँ

सीमित अनुमति वाली कुंजी से REST या HTTP MCP क्लाइंट जोड़ें। कार्यों का अनुमान लें, बजट तय करें और संरचित परिणाम प्राप्त करें।

curl -X POST https://mapsscraper.dev/api/v1/jobs \
  -H "Authorization: Bearer $MAPSSCRAPER_API_KEY" \
  -H "Idempotency-Key: dentists-austin-tx-001" \
  -H "X-Max-Units: 1" \
  -H "Content-Type: application/json" \
  -d '{"kind":"search","query":"Dentists in Austin, TX","limit":20,"region":"us"}'

HTTP/1.1 202 Accepted
{"id":"6f1c2b3a-0000-4000-8000-000000000000","status":"queued","reserved":1}

उसी व्यावसायिक कार्रवाई को उसी आइडेम्पोटेंसी कुंजी के साथ दोबारा आज़माएँ। उस कुंजी के साथ बदला हुआ अनुरोध 409 लौटाता है। कार्य कतार में, चल रहा, पूरा, आंशिक, विफल, रद्द या अनिश्चित स्थितियों से गुज़रते हैं। अनिश्चित डेटा स्रोत अनुरोध के लिए स्वचालित सशुल्क रीप्ले के बजाय मिलान ज़रूरी है।

Google Maps scraper API क्या है?

Google Maps scraper API एक श्रेणी और एक क्षेत्र लेता है, सार्वजनिक सूचियाँ JSON में लौटाता है, और अनुरोध चलने से पहले कार्य का अधिकतम बजट दिखाता है। प्रत्येक कार्य एक सीमित कुंजी और एक idempotency कुंजी इस्तेमाल करता है। रिव्यू अलग अनुरोध हैं।

नतीजे पढ़ें

Google Maps scraper API के पूरे और आंशिक जॉब अपने नतीजे आपके वर्कस्पेस की रिटेंशन अवधि तक रखते हैं। offset और limit से उन्हें पेज-दर-पेज पढ़ें; सेव किए गए नतीजे पढ़ने से कभी नई रिसर्च नहीं चलती।

सैंपल रिस्पॉन्स, छोटा किया गया। वैल्यू सिर्फ़ उदाहरण के लिए हैं, असली बिज़नेस डेटा नहीं।

{
  "items": [
    {
      "business_id": "sample-business-id",
      "name": "Sample Dental Studio",
      "full_address": "100 Example Ave, Austin, TX 78701",
      "phone_number": "+1 512-555-0100",
      "website": "https://dental.example",
      "type": "Dentist",
      "rating": 4.8,
      "review_count": 214,
      "latitude": 30.2672,
      "longitude": -97.7431,
      "_source": {
        "provider": "live_maps",
        "fetched_at": "2026-11-01T12:00:00Z",
        "website_status": "provided_unverified"
      }
    }
  ],
  "count": 1,
  "offset": 0,
  "next_offset": null,
  "provider": "live_maps",
  "coverage": "bounded_sample",
  "fetched_at": "2026-11-01T12:00:00Z"
}

Google Maps रिव्यू API

हर टास्क में एक बिज़नेस ID के रिव्यू मँगाएँ, हर पेज पर 100 तक, प्रासंगिकता, सबसे नए, सबसे ज़्यादा या सबसे कम रेटिंग के हिसाब से क्रम में। हर रिव्यू में उसका टेक्स्ट, रेटिंग, तारीख, लेखक और उपलब्ध होने पर मालिक का जवाब शामिल होता है। अगले पेज के लिए अलग टास्क और बजट चाहिए।

रिव्यू स्क्रैपर
POST /api/v1/jobs
Idempotency-Key: reviews-sample-business-001
X-Max-Units: 1

{"kind":"reviews","business_id":"sample-business-id","limit":50,"review_options":{"sort_by":"newest"}}

Python उदाहरण

Google Maps scraper API से सर्च का अनुमान लगाएँ, जॉब बनाएँ, फ़ाइनल स्टेटस का इंतज़ार करें और requests लाइब्रेरी से नतीजे पढ़ें।

import os
import time
import uuid

import requests

API = "https://mapsscraper.dev/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MAPSSCRAPER_API_KEY']}"}
task = {"kind": "search", "query": "Dentists in Austin, TX", "limit": 20, "region": "us"}

# An estimate reserves nothing.
units = requests.post(f"{API}/estimate", json=task, headers=HEADERS, timeout=30).json()["units"]

# Keep the key: a retry of the same task must send it again.
key = str(uuid.uuid4())
job = requests.post(
    f"{API}/jobs",
    json=task,
    headers={**HEADERS, "Idempotency-Key": key, "X-Max-Units": str(units)},
    timeout=30,
)
job.raise_for_status()
job_id = job.json()["id"]

while True:
    status = requests.get(f"{API}/jobs/{job_id}", headers=HEADERS, timeout=30).json()["status"]
    if status not in ("queued", "running"):
        break
    time.sleep(5)

if status in ("completed", "partial"):
    page = requests.get(
        f"{API}/jobs/{job_id}/results",
        params={"offset": 0, "limit": 100},
        headers=HEADERS,
        timeout=30,
    ).json()
    for business in page["items"]:  # follow page["next_offset"] for more
        print(business.get("name"), business.get("phone_number"), business.get("website"))

Google Maps scraper API से जुड़े सवाल

दस्तावेज़
क्या यह Google Places API है?

नहीं। MapsScraper.dev एक स्वतंत्र सेवा है और Google से संबद्ध नहीं है। नतीजे एक थर्ड-पार्टी बिज़नेस डेटा स्रोत से आते हैं और हमारे अपने JSON फ़ॉर्मेट में होते हैं।

रिक्वेस्ट का चार्ज कैसे लगता है?

ज़्यादातर कार्य एक यूनिट उपयोग करते हैं। खोज या रैंक स्नैपशॉट पर संपर्क संवर्धन हर अनुरोधित रिकॉर्ड के लिए एक और यूनिट आरक्षित करता है और केवल मिले हुए रिकॉर्ड का शुल्क लेता है। व्यवसाय विवरण एक यूनिट लेते हैं, या संपर्क के साथ दो; संवर्धन दो यूनिट लेता है। X-Max-Units को कम से कम अनुमान के बराबर सेट करें।

क्या ईमेल और फ़ोन की गारंटी है?

नहीं। उपलब्धता स्रोत और व्यवसाय पर निर्भर है। वैकल्पिक संवर्धन सार्वजनिक संपर्क दे सकता है। अनुपलब्ध या पुराने डेटा को उपयोग से पहले जाँचें।

संसाधन

आपकी अगली सूची एक स्थान से शुरू होती है।

चिह्नित नमूना रिकॉर्ड से प्रक्रिया देखें, फिर लाइव रिसर्च के लिए वर्कस्पेस जोड़ें।

नमूना देखें