# Changelog of Google Maps Scraper - one-off, or watch listings for changes (`eszetael_lab/google-maps-scraper`) Actor

- **URL**: https://apify.com/eszetael\_lab/google-maps-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/eszetael\_lab/google-maps-scraper.md

## Changelog

### 0.1 — 2026-08-11

Pierwsza wersja. Powstała po pomiarze, nie przed nim: trzy przebiegi badawcze na żywych
zapytaniach ustaliły, że dozwolona ścieżka oddaje komplet danych i ile to kosztuje, ZANIM
powstała pierwsza linia kodu aktora.

- **Tylko ścieżka, którą `robots.txt` dopuszcza** (`/maps/search/`). Tańszy punkt wewnętrzny
  `/search?tbm=map`, z którego korzystają inne narzędzia, jest objęty `Disallow: /search` i nie
  składamy tego adresu. Kosztuje nas to szybkość i jest przyjęte świadomie.
- **Kompletność w danych.** `listComplete` rozróżnia „tyle jest" od „tyle zdążyliśmy". Lista jest
  kompletna tylko wtedy, gdy przestała rosnąć SAMA — nie wtedy, gdy przerwał ją nasz limit.
- **Deduplikacja po Place ID**, nigdy po nazwie. Zmierzone: 40 kart wyników zawiera 36 różnych
  firm, czyli duplikaty są już w jednej odpowiedzi Google'a. Rekord bez identyfikatora jest
  dostarczany z `deduplicated: false`, a nie scalany z czymś, czym może nie być.
- **Filtry darmowe.** Naliczamy wyłącznie za dostarczoną wizytówkę: nie za odfiltrowaną, nie za
  scalony duplikat, nie za pusty przebieg.
- **Identyfikatory i współrzędne z ODNOŚNIKA**, nie z tekstu kafla — odnośnik jest
  ustrukturyzowany i nie zależy od języka interfejsu.
- **Brak pola zamiast pola zmyślonego.** Numer budynku nie trafia do telefonu, telefon nie trafia
  do godzin otwarcia, a brak współrzędnych to `null`, nie zero (zero to Zatoka Gwinejska).
- **Zapis stanu po każdym dostarczonym rekordzie** i brama dostaw zamykana przed rebootem —
  migracja kontenera nie może naliczyć drugi raz tego, co klient już opłacił.
- **Zero rekordów z powodem.** Osobno „wszystko odfiltrowane", osobno „Google nic nie zwrócił —
  dodaj miasto do frazy". W obu przypadkach bez naliczenia.
