# Pharmacy Email Scraper (`contacts-api/pharmacy-email-scraper`) Actor

Pharmacy email scraper to extract verified pharmacy emails from drugstores, healthcare websites, and medical directories 📧💊 Perfect for healthcare outreach, partnerships, and pharmacy industry lead generation.

- **URL**: https://apify.com/contacts-api/pharmacy-email-scraper.md
- **Developed by:** [Lead Heaven](https://apify.com/contacts-api) (community)
- **Categories:** Lead generation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### 💊 Pharmacy Email Scraper — Find Verified Pharmacy Leads Fast

> The fastest way to build a targeted pharmacy email list. This actor searches Google Maps for pharmacies and related businesses in your chosen locations, crawls their websites, and extracts verified emails, phone numbers, and social media profiles — all in one clean, export-ready dataset for high-intent pharmacy leads.

---

#### 🚀 Quick Start

1. Enter your search term — e.g., "Pharmacy"
2. Add one or more target locations — e.g., "New York", "Chicago, Illinois"
3. Set your desired number of businesses with emails
4. Hit Run and get your results in minutes

No coding required. Export to CSV, JSON, or Excel instantly.

---

#### 💡 What Is the Pharmacy Email Scraper?

The Pharmacy Email Scraper is a purpose-built lead generation and contact discovery tool designed for:

- Pharma and healthcare marketing teams
- Wholesale distributors and suppliers
- SaaS vendors serving retail pharmacies
- B2B outreach and demand gen agencies
- Researchers analyzing pharmacy market data

It combines Google Maps listing discovery with deep website crawling to extract publicly available contact data — producing an accurate, deduplicated pharmacy list ready for immediate outreach. Whether you need it as a pharmacy email finder, a pharmacy lead finder, or a pharmacy email extractor, this actor covers all three in a single automated run.

Use it as your pharmacy lead scraper to generate pharmacy leads at scale, or as a pharmacy contact scraper / pharmacy contact finder when you need verified contact paths fast. For teams enriching CRMs, the actor doubles as a pharmacy data scraper to keep records fresh and complete with pharmacy email and phone details.

---

#### 📦 What Data Does It Extract?

| Field | Description |
|---|---|
| Business Name | Pharmacy or company name from Google Maps |
| Website | Official website URL |
| Phone | Primary phone from the listing or website |
| Full Address | Complete address as listed |
| City / State / ZIP | Parsed location components |
| Country Code | ISO country code where available |
| Emails | All public pharmacy email addresses extracted from website pages |
| Additional Phones | Extra phone numbers discovered during crawl |
| Social Media Links | Facebook, Instagram, LinkedIn, Twitter, and more |
| Email Count | Total unique emails found per business |
| Pages Scraped | Number of website pages crawled per domain |
| Rating | Average Google Maps star rating |
| Reviews | Total number of Google reviews |
| Latitude / Longitude | Geo-coordinates for mapping and filtering |
| Place ID | Google Maps place identifier |
| Scrape Status | Per-record status: success, partial, or error |

The output is designed to be CRM-ready, enabling instant activation across outreach tools and campaign workflows, no additional formatting required.

---

#### ⚙️ Input Configuration

##### Minimal Example

```json
{
  "googleMapsSearchTerm": "Pharmacy",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 50
}
````

##### Full Example with All Options

```json
{
  "googleMapsSearchTerm": "Pharmacy",
  "googleMapsLocation": [
    "New York",
    "Chicago, Illinois",
    "Los Angeles, California"
  ],
  "maxBusinesses": 200,
  "scrapeMaxBusinessesPerLocation": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

##### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `googleMapsSearchTerm` | String | ✅ Yes | Business type or niche to search — e.g., "Pharmacy", "compounding pharmacy", "24-hour pharmacy" |
| `googleMapsLocation` | Array | ✅ Yes | One or more locations — e.g., \["New York", "Austin, Texas"] |
| `maxBusinesses` | Number | ❌ No | Max businesses with emails to return (1–1,000). The run stops as soon as this target is reached |
| `scrapeMaxBusinessesPerLocation` | Boolean | ❌ No | If true, applies the cap per location; if false, uses a combined total across all locations |
| `proxyConfiguration` | Object | ❌ No | Proxy settings. Strongly recommended for large runs to avoid rate limits |

Tip: Adjust your search term for different verticals within the pharmacy space (e.g., "pharmacy near me", "independent pharmacy", "compounding pharmacy") to diversify your pharmacy list.

***

#### 📤 Sample Output

```json
[
  {
    "name": "Riverside Family Pharmacy",
    "website": "https://www.riversidefamilypharmacy.com",
    "phone": "+1 212-555-0190",
    "full_address": "1452 Broadway, New York, NY 10036, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10036",
    "country_code": "US",
    "scraped_emails": [
      "info@riversidefamilypharmacy.com",
      "rx@riversidefamilypharmacy.com"
    ],
    "scraped_phones": ["+1 212-555-0190", "+1 212-555-0175"],
    "scraped_social_media": [
      "facebook:https://facebook.com/riversidefamilypharmacy",
      "instagram:https://instagram.com/riversidepharmacy_ny"
    ],
    "emails_found": 2,
    "pages_scraped": 12,
    "avg_rating": 4.7,
    "total_reviews": 89,
    "lat": 40.7581,
    "long": -73.9855,
    "place_id": "ChIJEXAMPLEID12345",
    "scrape_status": "success"
  },
  {
    "name": "Hudson Compounding & Wellness",
    "website": "https://www.hudsoncompounding.com",
    "phone": "+1 646-555-0144",
    "full_address": "88 Hudson St, New York, NY 10013, United States",
    "city": "New York",
    "state": "NY",
    "zip": "10013",
    "country_code": "US",
    "scraped_emails": [
      "contact@hudsoncompounding.com"
    ],
    "scraped_phones": ["+1 646-555-0144"],
    "scraped_social_media": [
      "linkedin:https://linkedin.com/company/hudson-compounding"
    ],
    "emails_found": 1,
    "pages_scraped": 8,
    "avg_rating": 4.5,
    "total_reviews": 42,
    "lat": 40.7183,
    "long": -74.0060,
    "place_id": "ChIJEXAMPLEID67890",
    "scrape_status": "success"
  }
]
```

***

#### 🔧 How It Works — Under the Hood

```
Step 1 → Search Google Maps using your term + location
Step 2 → Collect pharmacy listings (name, address, phone, website)
Step 3 → Visit each website and crawl key pages (Home, Contact, About, etc.)
Step 4 → Extract public emails, phone numbers, and social media links
Step 5 → Deduplicate and normalize all contact data
Step 6 → Return structured results ready for export or API consumption
```

The pipeline functions as both a discovery engine and an extractor: use the Pharmacy Email Scraper to find new pharmacies and automatically surface the best contact paths. It’s equally effective as a pharmacy email finder, a pharmacy lead scraper, or a pharmacy contact scraper depending on your campaign goals.

***

#### ✨ Key Features

##### 🎯 Precise Location Targeting

Enter any city, state, or region. The actor pinpoints independent and chain pharmacies in your exact target areas — delivering hyper-local pharmacy leads you can act on immediately.

##### 🔍 Deep Website Crawl

Goes beyond listings. Crawls homepages, contact pages, about pages, and footer sections to surface every available public pharmacy email and phone number. Ideal for teams needing a dependable pharmacy email extractor.

##### 🧠 Smart De-Duplication

Automatically removes duplicate emails per domain and normalizes fields, so your pharmacy list stays clean and ready for outreach without manual cleanup.

##### 🌎 Multi-Location Scaling

Run across dozens of cities at once. Choose a combined cap or a per-location cap — perfect for building a large, multi-market dataset with your preferred balance of pharmacy leads per region.

##### 📊 Structured, CRM-Ready Output

Normalized field names and consistent formats let you drop results straight into HubSpot, Salesforce, Apollo, Instantly, or any outreach tool. Use it as a pharmacy data scraper to enrich existing records with missing pharmacy email and phone fields.

##### 🛡️ Proxy-Ready for Reliability

Built-in proxy support enables stable, large-scale runs without rate-limiting or IP blocks — ideal for agency-level campaigns where the pharmacy contact finder needs to run at scale.

##### ⏱️ Stop at Your Target

The run halts as soon as your maxBusinesses limit is reached — no wasted compute, no overage. Perfect for controlled testing or recurring harvests with your pharmacy lead finder cadence.

##### 🔄 Schedulable & Repeatable

Set it to run daily, weekly, or monthly to continuously discover new websites and refresh your pharmacy list. Ideal for long-term programs using a pharmacy contact scraper.

***

#### 🎯 Use Cases

##### 💼 B2B Outreach & Sales

- Build pitch lists for pharmaceutical wholesalers, distributors, and vendors selling to retail pharmacies.
- Use the pharmacy lead scraper to generate pharmacy leads and feed cold email sequences or outbound calling.

##### 🧪 Vendor & SaaS Prospecting

- Target owners or managers at independent pharmacies with solutions like POS, inventory, or patient management software.
- The pharmacy email finder uncovers publish-ready pharmacy email contacts fast.

##### 📣 Local & Regional Marketing

- Launch geo-targeted campaigns with verified contact data pulled directly from pharmacy websites.
- Segment your pharmacy list by city or state to align campaigns with territories.

##### 🤝 Partnerships & Referrals

- Identify compounding pharmacies, specialty dispensaries, and clinic-affiliated locations for partnerships.
- Use the pharmacy contact finder to locate operational inboxes for collaboration.

##### 📚 Market Research & Surveys

- Compile contact info for surveys, studies, or analysis of pharmacy market density.
- Leverage the pharmacy data scraper for consistent, structured datasets across regions.

##### 🏢 Agency Client Delivery

- Run on a schedule and deliver fresh pharmacy leads weekly. White-label output for client dashboards.

##### 🗃️ CRM Enrichment

- Enrich existing records with missing emails, phones, and social profiles using the pharmacy contact scraper as an automated enrichment step.

***

#### 📈 How Many Results Can You Get?

Scale from a niche prospect list to a broad regional database — results depend on:

- Number and diversity of locations
- Search term breadth (narrow vs. broad niche)
- Website density and email visibility in each market
- maxBusinesses setting and per-location vs. combined mode
- Proxy configuration and run timeout

##### Typical Output Ranges

| Campaign Size | Businesses with Emails |
|---|---|
| Small (1–3 cities) | 20 – 100 |
| Medium (5–15 cities) | 200 – 600 |
| Large (20+ cities / states) | 800 – 1,000+ per run |

Run multiple times across different regions to continuously grow your pharmacy list without hitting any hard platform limits.

***

#### 🔌 Integrations & Export Options

Once your run completes, you can:

- Download JSON for full structured data
- Export CSV / Excel for spreadsheets
- Use the Apify API to stream results into your apps
- Connect via Zapier / Make for automation
- Trigger webhooks to push results to your CRM on completion

Plug directly into Instantly, Smartlead, Apollo, HubSpot, Salesforce, or any platform that accepts CSV/JSON imports. Treat it as your end-to-end pharmacy email extractor and pipeline starter.

***

#### 🛠️ Step-by-Step Usage Guide

- Step 1 — Log in to Apify
  Create a free account or sign in at apify.com.

- Step 2 — Open the Actor
  Search for "Pharmacy Email Scraper" in the Apify Store and click Try for free.

- Step 3 — Set Your Search Term
  Enter "Pharmacy" or a niche variant like "compounding pharmacy", "24-hour pharmacy", or "independent pharmacy".

- Step 4 — Add Target Locations
  Enter one or more city/state combos — e.g., "New York", "Austin, Texas", "Phoenix, Arizona".

- Step 5 — Set Your Limit
  Choose how many businesses with emails you want — 20 for a quick test, up to 1,000 for a full campaign.

- Step 6 — Choose Scaling Strategy
  • Combined cap: The total across all locations combined
  • Per-location cap: Applies your limit independently to each city

- Step 7 — Enable Proxies
  Turn on Apify Proxy for stable, uninterrupted crawling at scale.

- Step 8 — Run 🚀
  Click Start and let the Pharmacy Email Scraper do the work.

- Step 9 — Export
  Download as JSON, CSV, or Excel — or pull via API straight into your stack.

***

#### ⚖️ Legal & Compliance

This actor collects only publicly available business contact information — emails and phone numbers published openly on websites.

Best practices to stay compliant:

- Only use publicly visible contact data
- Do not bypass login walls or paywalls
- Respect each website's robots.txt and Terms of Service
- Include an unsubscribe option in all outreach
- Follow applicable laws in your jurisdiction

Relevant regulations to be aware of:

- GDPR (European Union)
- CAN-SPAM Act (United States)
- CASL (Canada)
- PECR (United Kingdom)

This tool is intended for ethical business prospecting only. You are responsible for how you use the data collected.

***

#### ❓ Frequently Asked Questions

Q: Does this scrape private or personal emails?
A: No. The actor only extracts emails that are publicly visible on business websites — general inboxes like info@, contact@, or rx@ pharmacy email addresses.

Q: Can I search multiple cities in one run?
A: Yes. Add as many locations as needed. Use per-location capping for even geographic distribution of pharmacy leads.

Q: Does it deduplicate results?
A: Yes. Emails are deduplicated per domain to keep your pharmacy list accurate and outreach-ready.

Q: Can I schedule recurring runs?
A: Absolutely. Use Apify’s scheduler to run weekly or monthly and keep your pharmacy email pipeline fresh.

Q: What niches does the search term support?
A: Any Google Maps searchable term — try "independent pharmacy", "compounding pharmacy", "24-hour pharmacy", or "drug store".

Q: Are proxies required?
A: Not for small runs, but strongly recommended for 200+ business runs to avoid rate limits and keep the pharmacy contact scraper reliable.

Q: What export formats are available?
A: JSON, CSV, and Excel. You can also consume results via the Apify API or webhooks.

Q: How is this different from manual Google searching?
A: Manual search is slow and doesn’t scale. This automated pharmacy email scraper handles discovery, crawling, extraction, and normalization in minutes.

Q: Can agencies white-label or resell this?
A: Yes. Run it for clients and deliver fresh pharmacy leads on a recurring basis using your own branding.

***

#### 🧑‍💻 Support & Custom Solutions

Have a question, feature request, or need a custom build?

Email: scrapermindapi@gmail.com

We’re happy to help with:

- Custom input/output configurations
- Niche-specific adaptations (e.g., compounding, specialty, 24-hour)
- Bulk or enterprise run support
- Integration assistance

***

*Built for marketers, vendors, and agencies who need accurate pharmacy leads at scale — fast. Start your next campaign with this pharmacy email scraper and turn research time into pipeline growth.*

For any help or custom solution, contact via this mail: scrapermindapi@gmail.com

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of businesses to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

## `proxyConfiguration` (type: `object`):

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Pharmacy",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "googleMapsSearchTerm": "Pharmacy",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("contacts-api/pharmacy-email-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "googleMapsSearchTerm": "Pharmacy",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("contacts-api/pharmacy-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "Pharmacy",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call contacts-api/pharmacy-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=contacts-api/pharmacy-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pharmacy Email Scraper",
        "description": "Pharmacy email scraper to extract verified pharmacy emails from drugstores, healthcare websites, and medical directories 📧💊 Perfect for healthcare outreach, partnerships, and pharmacy industry lead generation.",
        "version": "1.0",
        "x-build-id": "4sX0genHfRWs1JORz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/contacts-api~pharmacy-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-contacts-api-pharmacy-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/contacts-api~pharmacy-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-contacts-api-pharmacy-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/contacts-api~pharmacy-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-contacts-api-pharmacy-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "googleMapsLocation",
                    "googleMapsSearchTerm"
                ],
                "properties": {
                    "googleMapsSearchTerm": {
                        "title": "Search Term",
                        "type": "string",
                        "description": "Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').",
                        "default": "Pharmacy"
                    },
                    "googleMapsLocation": {
                        "title": "Location",
                        "type": "array",
                        "description": "Target geographic location for the email scraper (e.g., 'Miami, Florida').",
                        "default": [
                            "New York"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxBusinesses": {
                        "title": "Maximum Businesses With Emails",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Target number of businesses to find (1-1000). The scraper will stop when this target is reached.",
                        "default": 5
                    },
                    "scrapeMaxBusinessesPerLocation": {
                        "title": "Scrape Max Businesses Per Location",
                        "type": "boolean",
                        "description": "If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for scraping. Recommended for large-scale scraping."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
