docs: expand recipes and saas deployment guidance

This commit is contained in:
Giorgos Komninos
2026-04-19 18:44:38 +03:00
parent ecebc88ed6
commit 05073723a2
2 changed files with 139 additions and 2 deletions
+119 -1
View File
@@ -2,6 +2,18 @@
Common workflows for lead generation, research, and developer automation.
## Prepare Queries
```bash
cat > example-queries.txt <<'EOF'
dentists in Berlin Germany
plumbers in Austin Texas
coffee shops in Dublin Ireland
EOF
```
Use natural Google Maps searches. For most local lead-generation jobs, use the business type plus city, region, and country. For larger cities, split the city into neighborhoods if you need broader coverage.
## Basic CSV Lead Scrape
```bash
@@ -18,6 +30,112 @@ docker run \
-exit-on-inactivity 3m
```
## Extract Emails
Add `-email`:
```bash
docker run \
-v gmaps-playwright-cache:/opt \
-v "$PWD/example-queries.txt:/queries.txt:ro" \
-v "$PWD/gmaps-output:/out" \
gosom/google-maps-scraper \
-input /queries.txt \
-results /out/results.csv \
-depth 1 \
-email \
-exit-on-inactivity 3m
```
Email extraction visits business websites when available, so it is slower than a basic Maps scrape.
## JSON Output and Extra Reviews
```bash
docker run \
-v gmaps-playwright-cache:/opt \
-v "$PWD/example-queries.txt:/queries.txt:ro" \
-v "$PWD/gmaps-output:/out" \
gosom/google-maps-scraper \
-input /queries.txt \
-results /out/results.json \
-json \
-extra-reviews \
-depth 1 \
-exit-on-inactivity 3m
```
Use JSON when collecting extra reviews.
## Concurrency
`-c` controls how many scrape jobs run in parallel. Higher concurrency can finish large input files faster, but it also uses more CPU/RAM and can increase blocking or failures, especially without proxies. Start with the default for a first run. For larger jobs on a capable machine, try `-c 4`, `-c 8`, or `-c 16` and measure the result.
## Proxies
For proxy setup and current proxy sponsors, see [Proxy Sponsors](proxies.md).
More recipes will be expanded in the dedicated recipes task.
## Grid Scraping
```bash
docker run \
-v gmaps-playwright-cache:/opt \
-v "$PWD/example-queries.txt:/queries.txt:ro" \
-v "$PWD/gmaps-output:/out" \
gosom/google-maps-scraper \
-input /queries.txt \
-results /out/results.csv \
-depth 5 \
-grid-bbox "52.34,13.09,52.68,13.76" \
-grid-cell 1.0 \
-exit-on-inactivity 3m
```
Grid scraping divides a bounding box into cells for broader area coverage. Smaller cells increase coverage and runtime.
## REST API Automation
Start the Web UI/API server:
```bash
mkdir -p gmapsdata
docker run \
-v gmaps-playwright-cache:/opt \
-v "$PWD/gmapsdata:/gmapsdata" \
-p 8080:8080 \
gosom/google-maps-scraper \
-data-folder /gmapsdata
```
Open API docs at `http://localhost:8080/api/docs`.
Client examples are available in `examples/examples-api/`.
## Self-Hosted SaaS Platform
Use the SaaS edition when you need multiple users, API keys, an admin UI, job queue, workers, and cloud provisioning:
```bash
curl -fsSL https://raw.githubusercontent.com/gosom/google-maps-scraper/main/PROVISION | sh
```
See [SaaS documentation](saas.md).
## Docker Mount Notes
The examples mount an output directory:
```bash
-v "$PWD/gmaps-output:/out"
```
This is more reliable than mounting `results.csv` directly. If a host file does not exist, Docker can create it as a directory, which causes `open /results.csv: is a directory`.
The examples also mount a named volume at `/opt`:
```bash
-v gmaps-playwright-cache:/opt
```
This lets Docker reuse Playwright/browser files across runs.
+20 -1
View File
@@ -1,11 +1,30 @@
# Google Maps Scraper - SaaS Edition
A multi-user Google Maps scraping platform with REST API, admin UI, job queuing, and cloud deployment.
The SaaS edition is an optional self-hosted Google Maps scraping platform for teams and automation workflows. It adds REST API access, API keys, admin UI, job queue, workers, and cloud deployment on top of the scraper.
## When to Use It
Use the SaaS edition when you need:
- Multiple users or API clients
- API keys for controlled access
- Admin screens for jobs, workers, and settings
- Queue-based scraping with workers
- A deployable scraping API on your own infrastructure
For a single local scrape to CSV or JSON, start with the main README quick start or [recipes](recipes.md).
## Deploy
Requirements: **Docker** installed and running.
The provisioning wizard supports VPS, DigitalOcean, and Hetzner deployments. If you plan to deploy on a new cloud account, using these links helps fund project maintenance:
| Provider | Link |
|---|---|
| DigitalOcean | [Create account / deploy](https://www.digitalocean.com/?refcode=c11136c4693c&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge) |
| Hetzner | [Create account / deploy](https://hetzner.cloud/?ref=ihtQPa0cT18n) |
```bash
curl -fsSL https://raw.githubusercontent.com/gosom/google-maps-scraper/main/PROVISION | sh
```