Google Maps Scraper API ve MCP

Google Maps scraper API, uygulamanızdan veya bir yapay zeka temsilcisinden sınırlı bir işletme araması çalıştırır. Kapsamı sınırlı bir çalışma alanı anahtarı, açık bir görev bütçesi ve sabit bir idempotency anahtarı her yeniden denemeyi kapsar. Sonuçlar JSON’dur ve eksik bir alan boş kalır.

Başlamadan önce · Canlı araştırma yapılandırılmış bir veri kaynağı gerektirir. Örnek veriler etiketlenir. Ücretli planlar henüz sunulmuyor.

Sınırlı bir iş oluşturun

Kapsamı sınırlı çalışma alanı anahtarınızla Google Maps Scraper API'ye REST veya HTTP MCP istemcisinden bağlanın. Görevleri tahmin edin, açık bütçe belirleyin ve yapılandırılmış sonuçları alın.

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}

Aynı işlemi aynı idempotency anahtarıyla yeniden deneyin. Bu anahtarla değiştirilmiş bir istek 409 döndürür. Görevler sırada, çalışıyor, tamamlandı, kısmi, başarısız, iptal edildi veya belirsiz durumlarından geçer. Belirsiz bir veri kaynağı isteği, otomatik ücretli tekrar yerine mutabakat gerektirir.

Google Maps scraper API nedir?

Google Maps scraper API bir kategori ve bir alan kabul eder, herkese açık kayıtları JSON olarak döndürür ve istek çalışmadan önce azami görev bütçesini gösterir. Her görev kapsamı sınırlı bir anahtar ve bir idempotency anahtarı kullanır. Yorumlar ayrı bir istektir.

Sonuçları okuyun

Tamamlanan ve kısmi işler, sonuçlarını çalışma alanınızın saklama süresi boyunca tutar. Bunları offset ve limit ile sayfa sayfa okuyun; kayıtlı sonuçları okumak hiçbir zaman yeni araştırma çalıştırmaz.

Örnek yanıt, kısaltılmış. Değerler temsilidir, gerçek işletme verisi değildir.

{
  "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 yorum API'si

Görev başına bir işletme kimliği için yorum isteyin; sayfa başına en fazla 100 yorum alaka düzeyine, en yeniye, en yüksek veya en düşük puana göre sıralanır. Her yorum metnini, puanını, tarihini, yazarını ve varsa işletme sahibinin yanıtını içerir. Sonraki bir sayfa için ayrı bir görev ve bütçe gerekir.

Yorum toplama aracı
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 örneği

Google Maps Scraper API ile bir aramanın tahminini alın, işi oluşturun, nihai durumu bekleyin ve sonuçları requests kütüphanesiyle okuyun.

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"))

API soruları

Belgeler
Bu, Google Places API mi?

Hayır. MapsScraper.dev bağımsız bir hizmettir ve Google ile bağlantılı değildir. Sonuçlar üçüncü taraf bir işletme veri kaynağından gelir ve kendi JSON biçimimizi kullanır.

Google Maps Scraper API istekleri nasıl ücretlendirilir?

Çoğu görev bir birim kullanır. Arama veya sıralama anlık görüntüsünde kişi zenginleştirme, istenen her kayıt için bir birim daha ayırır ve yalnızca teslim edilen kayıtları ücretlendirir. İşletme ayrıntıları bir birim, kişilerle iki birim kullanır; zenginleştirme iki birim kullanır. X-Max-Units değerini en az tahmin kadar ayarlayın.

E-posta ve telefonlar garanti mi?

Hayır. Kapsam kaynağa ve işletmeye bağlıdır. İsteğe bağlı zenginleştirme açık iletişim bilgileri sunabilir. Eksik veya eski bilgileri kullanmadan önce kontrol edin.

Kaynaklar

Bir sonraki listeniz bir yerle başlar.

Etiketlenmiş örnek kayıtlarla akışı inceleyin, ardından canlı araştırma için çalışma alanınızı bağlayın.

Örneği incele