Dokumentacja API

Wstęp

Google Maps Place ID & CID Finder API umożliwia programistom wyszukiwanie identyfikatorów Place ID i CID dla miejsc w Google Maps. API jest dostępne przez RESTful interfejs.

Adres bazowy API

https://www.znajdzplaceid.pl/api/

Dostępne endpointy

GET /info - Informacje o API

Zwraca podstawowe informacje o API, w tym dostępne endpointy.

Przykładowe żądanie:
GET https://www.znajdzplaceid.pl/api/info
Przykładowa odpowiedź:
{
  "status": "success",
  "data": {
    "name": "PlaceID Finder API",
    "version": "1.0.0",
    "endpoints": {
      "GET /info": "Informacje o API",
      "GET /search?query=...": "Wyszukiwanie Place ID dla zapytania",
      "GET /details?placeid=...": "Pobieranie szczegółów miejsca",
      "POST /convert": "Konwersja CID <-> Place ID"
    }
  }
}
GET /search?query=... - Wyszukiwanie Place ID

Wyszukuje Place ID dla podanego zapytania. Zapytanie może być nazwą miejsca, URL Google Maps, Place ID lub CID.

Parametry:
  • query (wymagany) - Zapytanie wyszukiwania (nazwa miejsca, URL, Place ID lub CID)
Przykładowe żądanie:
GET https://www.znajdzplaceid.pl/api/search?query=Pałac+Kultury+Warszawa
Przykładowa odpowiedź:
{
  "status": "success",
  "data": {
    "query": "Pałac Kultury Warszawa",
    "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI",
    "type": "search_result"
  }
}
GET /details?placeid=... - Pobieranie szczegółów miejsca

Pobiera szczegółowe informacje o miejscu na podstawie Place ID.

Parametry:
  • placeid (wymagany) - Place ID miejsca
Przykładowe żądanie:
GET https://www.znajdzplaceid.pl/api/details?placeid=ChIJSS5pkozMHkcRwi0fMeV66cI
Przykładowa odpowiedź:
{
  "status": "success",
  "data": {
    "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI",
    "details": {
      "cid": "14044892037721828802",
      "nazwa_wizytowki": "Pałac Kultury i Nauki",
      "adres": "plac Defilad 1, 00-901 Warszawa",
      "kategoria": "Atrakcja turystyczna",
      "srednia_ocen": 4.5,
      "liczba_opinii": 98765,
      "liczba_5_gwiazdek": 54321,
      "liczba_4_gwiazdek": 32109,
      "liczba_3_gwiazdek": 8765,
      "liczba_2_gwiazdek": 2109,
      "liczba_1_gwiazdka": 1461
    }
  }
}
GET /all?url=... - Pobieranie wszystkich informacji o miejscu

Pobiera wszystkie informacje o miejscu na podstawie URL, Place ID lub CID. Ten endpoint łączy funkcjonalność wyszukiwania i pobierania szczegółów w jednym zapytaniu.

Parametry:
  • url (wymagany) - URL Google Maps, Place ID, CID lub nazwa miejsca
Przykładowe żądania:
GET https://www.znajdzplaceid.pl/api/all?url=https://maps.app.goo.gl/cybNQTkX3CGMQeVG8
GET https://www.znajdzplaceid.pl/api/all?url=ChIJSS5pkozMHkcRwi0fMeV66cI
GET https://www.znajdzplaceid.pl/api/all?url=14044892037721828802
GET https://www.znajdzplaceid.pl/api/all?url=Pałac+Kultury+Warszawa
Przykładowa odpowiedź:
{
  "status": "success",
  "data": {
    "query": "https://maps.app.goo.gl/cybNQTkX3CGMQeVG8",
    "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI",
    "source": "search_result",
    "details": {
      "cid": "14044892037721828802",
      "nazwa_wizytowki": "Pałac Kultury i Nauki",
      "adres": "plac Defilad 1, 00-901 Warszawa",
      "kategoria": "Atrakcja turystyczna",
      "srednia_ocen": 4.5,
      "liczba_opinii": 98765,
      "liczba_5_gwiazdek": 54321,
      "liczba_4_gwiazdek": 32109,
      "liczba_3_gwiazdek": 8765,
      "liczba_2_gwiazdek": 2109,
      "liczba_1_gwiazdka": 1461
    },
    "cid": "14044892037721828802",
    "maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJSS5pkozMHkcRwi0fMeV66cI",
    "maps_cid_url": "https://www.google.com/maps?cid=14044892037721828802"
  }
}
GET /review-details?url=... - Analiza opinii Google Maps

Wydobywa szczegółowe informacje z linku do opinii Google Maps, w tym dane recenzenta, tekst opinii, ocenę i metadane.

Parametry:
  • url (wymagany) - URL do opinii Google Maps (może być skrócony lub pełny link)
Przykładowe żądanie:
GET https://www.znajdzplaceid.pl/api/review-details?url=https://maps.app.goo.gl/example
Przykładowa odpowiedź (opinia widoczna):
{
  "status": "success",
  "data": {
    "review_url": "https://maps.app.goo.gl/example",
    "review_details": {
      "name": "Jan Kowalski",
      "profile_name": "Jan Kowalski",
      "review_text": "Świetne miejsce, polecam!",
      "date": "2024-03-15",
      "rating": 5,
      "place_name": "Restauracja Przykład",
      "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI",
      "reviewer_total_reviews": 42,
      "reviewer_local_guide_level": 3,
      "is_visible": true,
      "visibility_reason": "visible"
    },
    "extracted_at": "2024-03-20 10:30:45"
  }
}
Przykładowa odpowiedź (opinia niewidoczna):
{
  "status": "success", 
  "data": {
    "review_url": "https://maps.app.goo.gl/example",
    "review_details": {
      "name": null,
      "review_text": null,
      "date": null,
      "rating": null,
      "place_name": null,
      "place_id": null,
      "is_visible": false,
      "visibility_reason": "no_business_card"
    },
    "extracted_at": "2024-03-20 10:30:45"
  }
}

Kody widoczności:

  • visible - Opinia jest widoczna
  • no_business_data - Brak dostępu do danych biznesowych
  • no_business_card - Brak wizytówki firmy (opinia usunięta)
  • no_rating_section - Brak sekcji z ocenami (opinia ukryta)
  • no_rating - Brak gwiazdek (opinia niewidoczna)
GET /review-visibility?url=... - Sprawdzanie widoczności opinii

Szybko sprawdza tylko czy opinia jest widoczna, bez pobierania szczegółów. Idealny do masowego sprawdzania statusu opinii.

Parametry:
  • url (wymagany) - URL do opinii Google Maps (może być skrócony lub pełny link)
Przykładowe żądanie:
GET https://www.znajdzplaceid.pl/api/review-visibility?url=https://maps.app.goo.gl/example
Przykładowa odpowiedź (opinia widoczna):
{
  "status": "success",
  "data": {
    "review_url": "https://maps.app.goo.gl/example",
    "is_visible": true,
    "visibility_reason": "visible",
    "checked_at": "2024-03-20 10:30:45"
  }
}
Przykładowa odpowiedź (opinia niewidoczna):
{
  "status": "success",
  "data": {
    "review_url": "https://maps.app.goo.gl/example",
    "is_visible": false,
    "visibility_reason": "no_business_card",
    "checked_at": "2024-03-20 10:30:45"
  }
}
💡 Zalety: Ten endpoint jest znacznie szybszy niż /review-details ponieważ pobiera tylko niezbędne dane do określenia widoczności, bez parsowania szczegółów opinii.
POST /convert - Konwersja CID <-> Place ID

Konwertuje CID na Place ID lub Place ID na CID.

Ciało żądania (JSON):

Dla konwersji CID na Place ID:

{
  "cid": "14044892037721828802"
}

Dla konwersji Place ID na CID:

{
  "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI"
}
Przykładowe żądanie:
POST https://www.znajdzplaceid.pl/api/convert
Przykładowa odpowiedź:
{
  "status": "success",
  "data": {
    "cid": "14044892037721828802",
    "place_id": "ChIJSS5pkozMHkcRwi0fMeV66cI",
    "conversion_type": "cid_to_place_id"
  }
}

Kody błędów

Kod HTTP Opis
400 Błędne zapytanie (brak wymaganych parametrów lub nieprawidłowe dane)
401 Brak autoryzacji (jeśli API wymaga klucza)
404 Nie znaleziono (nieznany endpoint lub brak wyników)
429 Zbyt wiele żądań (przekroczono limit zapytań)
500 Wewnętrzny błąd serwera
503 Usługa niedostępna (API wyłączone)

Przykłady użycia

cURL
# Wyszukiwanie Place ID
curl -X GET "https://www.znajdzplaceid.pl/api/search?query=Pałac+Kultury+Warszawa"

# Pobieranie szczegółów miejsca
curl -X GET "https://www.znajdzplaceid.pl/api/details?placeid=ChIJSS5pkozMHkcRwi0fMeV66cI"

# Konwersja CID na Place ID
curl -X POST "https://www.znajdzplaceid.pl/api/convert" \
     -H "Content-Type: application/json" \
     -d '{"cid": "14044892037721828802"}'

# Analiza opinii (pełne szczegóły)
curl -X GET "https://www.znajdzplaceid.pl/api/review-details?url=https://maps.app.goo.gl/example"

# Sprawdzanie widoczności (szybkie)
curl -X GET "https://www.znajdzplaceid.pl/api/review-visibility?url=https://maps.app.goo.gl/example"
JavaScript (Fetch API)
// Wyszukiwanie Place ID
fetch('https://www.znajdzplaceid.pl/api/search?query=Pałac+Kultury+Warszawa')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

// Pobieranie szczegółów miejsca
fetch('https://www.znajdzplaceid.pl/api/details?placeid=ChIJSS5pkozMHkcRwi0fMeV66cI')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

// Konwersja CID na Place ID
fetch('https://www.znajdzplaceid.pl/api/convert', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    cid: '14044892037721828802'
  }),
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

// Analiza opinii (pełne szczegóły)
fetch('https://www.znajdzplaceid.pl/api/review-details?url=https://maps.app.goo.gl/example')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

// Sprawdzanie widoczności (szybkie)
fetch('https://www.znajdzplaceid.pl/api/review-visibility?url=https://maps.app.goo.gl/example')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
PHP
// Wyszukiwanie Place ID
$response = file_get_contents('https://www.znajdzplaceid.pl/api/search?query=Pałac+Kultury+Warszawa');
$data = json_decode($response, true);
print_r($data);

// Pobieranie szczegółów miejsca
$response = file_get_contents('https://www.znajdzplaceid.pl/api/details?placeid=ChIJSS5pkozMHkcRwi0fMeV66cI');
$data = json_decode($response, true);
print_r($data);

// Konwersja CID na Place ID
$options = [
    'http' => [
        'method' => 'POST',
        'header' => 'Content-Type: application/json',
        'content' => json_encode(['cid' => '14044892037721828802'])
    ]
];
$context = stream_context_create($options);
$response = file_get_contents('https://www.znajdzplaceid.pl/api/convert', false, $context);
$data = json_decode($response, true);
print_r($data);

// Analiza opinii (pełne szczegóły)
$response = file_get_contents('https://www.znajdzplaceid.pl/api/review-details?url=' . urlencode('https://maps.app.goo.gl/example'));
$data = json_decode($response, true);
print_r($data);

// Sprawdzanie widoczności (szybkie)
$response = file_get_contents('https://www.znajdzplaceid.pl/api/review-visibility?url=' . urlencode('https://maps.app.goo.gl/example'));
$data = json_decode($response, true);
print_r($data);