# G Maps Einstein Scraper B2B Lead Gen (`dravyoka/g-maps-einstein-scraper-b2b-lead-gen`) Actor

Turn any Google Maps search into a scored B2B lead list: multi-niche search, a 300m Micro-Grid for near-100% city coverage, verified email deliverability, 5-platform social intelligence, ads/pixel radar, one-click CEO/Founder LinkedIn search, and a 0-100 Opportunity Score — styled Excel export.

- **URL**: https://apify.com/dravyoka/g-maps-einstein-scraper-b2b-lead-gen.md
- **Developed by:** [DravYoka](https://apify.com/dravyoka) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 6 total users, 1 monthly users, 97.1% runs succeeded, 2 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## 🧠 G Maps Einstein Scraper B2B Lead Gen

**Stop paying per-listing for stale, unverified contact lists.** G Maps Einstein turns any Google Maps search into a scored, enrichment-rich B2B lead list — verified emails, live ad activity, one-click decision-maker access on LinkedIn, and social intelligence across five platforms — for **any industry, any city, any language.**

> 💰 **$4.99 per 1,000 verified leads.** Pay-per-result, not per-subscription — you pay for enriched, scored leads, not raw Maps noise.

#### 🔥 New: leads land in your CRM before the run even finishes

- **⚡ Live CRM Webhooks (Zapier / Make / HubSpot).** Paste a webhook URL and every qualifying lead is POSTed to it **the second it is scored** — no waiting for a run to finish, no CSV round-trip. Set a minimum Opportunity Score (e.g. `70`) and only Hot leads reach your pipeline. Delivery never slows the scrape: it is fire-and-forget, so a slow endpoint costs you nothing.
- **📊 Whitelabel Agency Audit Generator.** Every run ends with a **branded, client-ready Market Audit** — your logo, your agency name — saved as `OUTPUT` on the run page, where Apify renders it as a live dashboard — nothing to download to read it. **No software to install and no terminal:** fill in your agency name in the input form, and the run log hands you a shareable link you can send straight to a prospect or print to PDF. The report carries a one-click download button for your Excel workbook. It opens with the numbers that close deals: *what share of this market has no website, runs no ads, has no verified email, or no social presence*, plus the five highest-scoring businesses to approach first. Every percentage states the sample it was measured over, so the claims hold up when a prospect pushes back.

***

### ⚔️ Einstein vs. a Standard Google Maps Scraper

Most Maps scrapers stop at name/phone/address. Einstein is built for **outbound**, not directories.

| Capability | Standard Google Maps Scraper | **G Maps Einstein Scraper B2B Lead Gen** |
|---|:---:|:---:|
| Name, address, phone, rating | ✅ | ✅ |
| **300m Micro-Grid Coverage** (breaks Google's ~120-result cap per search) | ❌ Capped, misses dense areas | ✅ Street-by-street `ultra` grid, near-100% coverage |
| **Multi-Niche Search + Auto-Expand** | ❌ One category per run | ✅ Search several niches at once, with related-niche auto-suggest ("digital marketing agency" also pulls "SEO agency") |
| **Verified B2B Email Deliverability** | ❌ Raw scraped emails, unverified | ✅ Real MX/deliverability check before you ever send — no bounce-rate surprises |
| **CEO / Founder LinkedIn Radar** | ❌ Not included | ✅ Every lead ships with a targeted **LinkedIn People Search** — one click drops your rep into a filtered list of that company's CEOs, owners and founders |
| **Active Ads & Pixel Radar (Meta, Google, TikTok & Snapchat)** | ❌ Not included | ✅ Detects live ad-tracking pixels across 4 platforms + one-click links to their actual Meta Ads Library / Google Ads Transparency listing |
| **5-Platform Social Intelligence** | ❌ Not included | ✅ Inspects each business's own website to capture the social profiles they publish — Instagram, Facebook, LinkedIn, Twitter/X, TikTok — each independently toggleable |
| **0-100 Automated Opportunity Scoring** | ❌ Manual triage required | ✅ Every lead scored Hot / Warm / Cold automatically |
| **Enterprise-Grade Excel Export** | ❌ Raw CSV at best | ✅ Styled `.xlsx` — colored Hot-lead rows, clickable action-labeled hyperlinks, auto-fit columns, zero internal/debug fields |
| **Global Multi-Language Query Expansion** | ❌ English-only | ✅ Works natively in any language — French, Spanish, Turkish, German, Arabic, and more — via live local Google Autocomplete, with a dedicated MENA bilingual mode too |
| **Real-Time CRM Delivery (Webhooks)** | ❌ Download a file when it finishes | ✅ Each scored lead POSTed live to Zapier/Make/HubSpot as it is found, filtered by Opportunity Score |
| **Whitelabel Client Audit Reports** | ❌ Not included | ✅ Branded, print-to-PDF market audit built from your own run — your logo, your agency name, the gaps that justify the pitch |
| Unclaimed listing detection | ❌ Not included | ⚙️ Optional — flags businesses with zero digital sophistication. Requires switching the **Data Collection Engine** to `Browser`; the default `Fast` engine cannot see this signal |

***

### 🎯 Built for people who sell, not just people who scrape

**Agencies** — find local businesses that are *already spending on ads* (Meta, Google, TikTok & Snapchat pixel detection) but have no in-house digital team. Pitch with evidence, not a cold guess.

**Outbound Sales Teams** — skip the manual lead-qualification grind. Every lead arrives pre-scored 0-100 with a Hot/Warm/Cold tier, a deliverability-verified email, and a one-click **LinkedIn People Search** that puts your rep in front of that company's CEOs, owners and founders — inside their own LinkedIn or Sales Navigator session, where results are personalised to their network and instantly actionable.

**Lead Gen Pros** — deliver clean, deduplicated, deliverability-verified lists to clients without the embarrassment of bounced emails or ghost businesses. Enable **Verified Emails Only (Strict Mode)** and every lead in the export is guaranteed to have a real, checked email. Hand off a polished, agency-grade Excel file, not a raw CSV dump.

**Market Researchers** — get an accurate count of businesses across several related niches in an entire city at once, not a Google-capped sample of the first ~120 results in a single category.

***

### ⚙️ How it works

1. **Target Discovery** — tell it *what* (one or more business niches — Auto-Suggest can add related ones automatically) and *where* (any city + country, geocoded automatically).
2. **Harvest** — the Micro-Grid engine scans the area at your chosen density, expanding your query into local-language variants via live Google Autocomplete — French, Spanish, Turkish, Arabic, whatever language you searched in — and pulls every unique listing.
3. **Deep Intelligence** — each lead's own website is inspected end to end: emails extracted and deliverability-checked, ad pixels detected, published social profiles captured across five platforms, and a targeted decision-maker LinkedIn People Search generated. A full audit runs at speed, so depth never costs you throughput.
4. **Score & Export** — every lead gets an Opportunity Score and tier, ready to export as a styled Excel file, CSV, or consume directly from the Apify dataset. Toggle off anything you don't need — Core Maps fields, individual social platforms, decision-maker search — and its column disappears from your export, not just its data.

***

### 📥 Input Controls

#### 🎯 Target Discovery

| Field | Description |
|---|---|
| **Business Categories / Niches** | One or more target niches searched independently across the full grid (default: `digital marketing agency`, `web design agency`, `seo agency`) |
| **Negative Keywords (Exclude)** | Any words that should auto-discard a listing — fully your control, no built-in blacklist |
| **Category Relevance Filter** | On by default — automatically discards listings whose Maps category/name doesn't match what you searched. Turn off to get every raw listing the grid finds, unfiltered |
| **Country** / **Target City** | Any country + city name, geocoded automatically |
| **Max Leads Cap (Optional)** | Stop after N leads per niche. Leave empty for an exhaustive city-wide scan |

> 💡 **Pro Tip — raise Max Leads Cap to 1,000 for the best value per lead.** The default of 300 keeps a first run small and predictable. When you want volume, 1,000 is the sweet spot: a measured 1,000-lead run completed in **4 minutes 24 seconds** with full enrichment, and the larger batch spreads the fixed start-up cost across far more leads — the lowest cost per lead of any batch size. You are billed per result, so scale the cap to the size of list you actually want.

#### 🌐 Harvest Precision & Languages

| Field | Description |
|---|---|
| **Geographic Grid Density** | `Ultra` (300m, near-100% coverage) / `Deep` (500m) / `Standard` (1km, fastest) |
| **Data Collection Engine** | `Fast` (default) reads Google Maps' own structured feed — dramatically faster  |
| **Search Language** | 🌍 `Native Language Only` (default — strict local, safest for any market) / 🇺🇸 `English Only` (USA, UK, Australia & global B2B) / 🌐 `Native + English` (India, Southeast Asia & mixed global markets) / 🌙 `Arabic + English` (MENA & Gulf, dual-script) / 🇸🇦 `Arabic Only` (strict Arabic local search) |

#### 📍 Core Google Maps Assets

Toggle exactly which core Maps fields appear in your export — full control over export cleanliness: **Phone Number**, **Website URL**, **Address & City**, **Rating & Reviews**.

#### 🎯 B2B Direct Contact & Decision Makers

| Toggle | What it does |
|---|---|
| **Full B2B Deep Enrichment Engine** | Unlocks every deep intelligence signal below. Uncheck for a fast, Maps-data-only export |
| **Verified B2B Email Deliverability** | Every email is checked for real deliverability before it reaches your list — no wasted sends on a bounce |
| **CEO / Founder LinkedIn Radar** | Every lead gets a targeted **LinkedIn People Search** for that company's CEO, Founder or Owner — one click from your sheet straight into LinkedIn |
| **Verified Emails Only (Strict Mode)** | Only keep leads with a deliverability-verified email — everything else is filtered out before it reaches your export |

#### 📱 Comprehensive Social Media Intelligence

Einstein inspects each business's own website — homepage plus its contact/about pages, where social icons usually live in the footer — and captures the social profiles they publish, giving your sales team the digital footprint behind every lead, not just a phone number. Independently toggle **Instagram**, **Facebook**, **LinkedIn Company Page**, **Twitter/X**, **TikTok** — disabling a platform skips it during the scrape entirely (faster runs) and drops its column from the export.

Social capture is **best-effort, not guaranteed**: it can only find profiles a business actually links from its own site, and some sites serve reduced content to datacenter traffic. A blank social cell means "not published where we can read it," not "this business has no Instagram."

There is also an optional **Active Social Presence Audit**, which attempts to flag whether those profiles show recent activity. It is **experimental and off by default** — its signal is not yet reliable enough to qualify or disqualify a lead on, so treat any result as indicative only rather than a verified fact about the business.

#### 📈 Ad Intelligence & Niche Expansion

| Toggle | What it does |
|---|---|
| **Meta Ads Radar** | Detects live Meta Pixel tracking, with a one-click link straight into the business's actual Meta Ads Library listing — a strong Facebook/Instagram ad-budget signal |
| **Google Ads Radar** | Detects live Google Ads/Tag Manager tracking, with a one-click link into their actual Google Ads Transparency listing — also picks up TikTok and Snapchat ad-tracking pixels as a bonus signal whenever either ads radar toggle is on |
| **Auto-Suggest & Expand Related Niches** | Automatically broadens your search to closely related niches to maximize the leads you find |

***

### 📤 Output

**Three ways to take delivery:**

1. **Live** — real-time webhook push to your CRM/automation tool as each lead is scored (`webhookUrl` + `webhookMinimumScore`).
2. **Files** — styled `.xlsx`, `.csv` or raw JSON from the run's storage.
3. **Client-facing** — the Whitelabel Market Audit (`OUTPUT`), generated automatically at the end of the run, branded for your agency, rendered natively on the run page and shareable by link.

Each lead in the dataset includes: business name, category, rating, address, city, country, phone, WhatsApp, website, **emails + deliverability status**, **ads intelligence** (pixels detected + Meta Ads Library / Google Ads Transparency links), **published social profiles across five platforms**, a **targeted decision-maker LinkedIn People Search**, and the **Opportunity Score + tier**. Runs on the `Browser` collection engine additionally carry **isUnclaimed**.

Export straight from the Apify dataset view, or download a **styled, agency-ready `.xlsx`**: a dark navy header row, Hot-lead rows highlighted in green, every link rendered as a clean clickable action (`OPEN`, `SEARCH CEO`) instead of a raw URL, and columns auto-sized so nothing truncates. Disabled toggles simply don't appear as columns — the file you download only ever contains what you actually asked for.

***

### 💰 Pricing

**Pay-Per-Result: $4.99 per 1,000 enriched leads.** No subscription, no seat fees, no markup on data you don't use — every dollar buys enriched, deliverability-checked, pre-scored B2B leads, not raw Maps noise. Run it once for a single city sprint or on a recurring schedule for a constant outbound pipeline — the economics scale with you, not against you.

# Actor input Schema

## `queries` (type: `array`):

Enter one or multiple target niches — each is searched independently across the full grid (e.g. "digital marketing agency", "web design agency", "seo agency"). Enable Auto-Suggest & Expand Related Niches below to automatically add complementary terms (e.g. "digital marketing agency" also pulls in "seo agency" and "social media marketing agency").

## `autoExpandNiches` (type: `boolean`):

Automatically broadens your search to closely related niches (e.g. "digital marketing agency" also searches "seo agency") to maximize the leads you find.

## `country` (type: `string`):

Target country (e.g. Saudi Arabia, United Arab Emirates, United States).

## `city` (type: `string`):

Target city (e.g. Riyadh, Dubai, New York).

## `maxListings` (type: `integer`):

Maximum listings to extract per run. Recommended: 1,000 for optimal speed and complete data enrichment.

## `radiusKm` (type: `integer`):

How far out from the city center to search. This is the hardest limit on how many leads exist to find: a large metro like Riyadh, Cairo or Los Angeles is 40-60km across, so a small radius can only ever see the downtown core no matter how long the run takes. 15km covers a genuine metro area; raise it to 25-50km for sprawling cities, lower it to 3-8km to target one dense district precisely. Larger radius = more grid cells = longer, costlier runs.

## `densityPreset` (type: `string`):

How finely the search area is divided. Standard (2.5km) is right for almost every run: measured on live data, a denser grid mostly re-finds businesses it already has — four cells at 1km spacing scraped 116 listings to yield just 48 unique. Deep (1.2km) tightens coverage in busier areas. Ultra (300m) is the exhaustive street-by-street micro-grid for a packed downtown core, and is much slower and costlier. Density is paired with the Search Radius automatically: a combination that would plan more grid cells than a single run can finish (Ultra past ~6km, Deep past ~25km) is eased to the next density down and reported in the log, so a run always completes instead of timing out with a partial list. To genuinely scan at Ultra density, lower the radius rather than raising it.

## `queryLanguageMode` (type: `string`):

Pick whichever option matches your target market — live local Google Autocomplete powers every option, no matter which language you search in. • Native Language Only (default): searches strictly in the language you typed, no cross-language mixing — the safest choice for a tightly-local search. • English Only: English-language expansion only. • Native + English: expands in both your local language and English — best for markets where buyers search in a mix of both. • Arabic + English: dual-script expansion built for MENA & Gulf B2B markets. • Arabic Only: strictly Arabic-language expansion, no English mixed in.

## `enableRelevanceFilter` (type: `boolean`):

Automatically discards listings whose Google Maps category or name doesn't semantically match what you searched for — keeps your dataset clean of off-topic results without you having to manually review them. Turn off only if you want every raw listing the grid finds, unfiltered.

## `requirePhone` (type: `boolean`):

Discards any lead with no listed phone number before it ever reaches your dataset — guarantees every lead you get is cold-call ready, not just a bare Maps listing. Off by default so you don't lose otherwise-great leads that simply haven't listed a number.

## `requireWebsite` (type: `boolean`):

Discards any lead with no website before it ever reaches your dataset. Since deep enrichment (emails, ads radar, decision-maker search) can only run against a real website, this guarantees every lead you get is fully enrichable, not a dead end.

## `squashDuplicateBranches` (type: `boolean`):

Keeps only ONE lead per company website. A chain with 50 branches shares a single domain, one decision maker and one inbox — without this, those 50 near-identical rows consume 50 slots of your result budget. Leads with no website are never squashed, since they share no domain to be judged on.

## `verifiedEmailsOnly` (type: `boolean`):

Only keep leads with a deliverability-verified email — every business without one is filtered out before it reaches your dataset or export.

## `userNegativeKeywords` (type: `array`):

List of terms to filter out unwanted listings (e.g. hospital, school, job).

## `deepEnrichment` (type: `boolean`):

Unlocks every deep intelligence signal below — verified emails, decision-maker contacts, ad activity, and social presence. Uncheck for a fast, Maps-data-only export.

## `checkMetaAds` (type: `boolean`):

Detects live Meta Pixel tracking on each business's website, with a one-click link straight into their actual Meta Ads Library listing — a strong signal they already have Facebook/Instagram ad budget to spend.

## `checkGoogleAds` (type: `boolean`):

Detects live Google Ads/Tag Manager tracking on each business's website, with a one-click link straight into their actual Google Ads Transparency listing — a strong signal they already have Google ad budget to spend. Whenever either this or Meta Ads Radar is on, TikTok and Snapchat ad-tracking pixels are also picked up as a free bonus signal.

## `extractLinkedInDorks` (type: `boolean`):

Gives every lead a targeted LinkedIn People Search for that company's CEO, Founder or Owner — one click from your sheet into a filtered list of its decision makers, so you reach the person who signs off instead of a reception desk.

## `verifyEmails` (type: `boolean`):

Every email is checked for real deliverability before it reaches your list — so your cold outreach never wastes a send on a bounce.

## `enableInstagram` (type: `boolean`):

Find and include each business's Instagram profile.

## `enableFacebook` (type: `boolean`):

Find and include each business's Facebook page.

## `enableLinkedIn` (type: `boolean`):

Find and include each business's own LinkedIn company page.

## `enableTwitter` (type: `boolean`):

Find and include each business's Twitter/X profile.

## `enableTiktok` (type: `boolean`):

Find and include each business's TikTok profile.

## `enableSocialActivityCheck` (type: `boolean`):

Experimental. Attempts to flag whether a business's social profiles show recent activity. Off by default: it adds substantial run time on large lists and its signal is not yet reliable enough to qualify a lead on, so treat any result as indicative only.

## `enableDeepNiche` (type: `boolean`):

Adds a buyer-facing niche tag (SaaS, E-Commerce, Healthcare, Hospitality and more) derived from each business's own website pitch plus its verified Google Maps category — so you can segment a mixed list without reading every site. Costs no extra network request. Turn off to leave the Deep Niche column empty.

## `enableTechRadar` (type: `boolean`):

Detects the technology each business actually runs — Shopify, WordPress, Wix, Webflow, Stripe, HubSpot, Klaviyo, React, Cloudflare and more — read from the homepage already being fetched, so it costs no extra network request. Ideal for agencies pitching a replatform. Turn off to leave the Tech Stack column empty.

## `enableHiringSignals` (type: `boolean`):

Finds each business's careers page and flags whether it shows real recruitment activity (an embedded applicant-tracking system or genuine job-posting markup) — a strong proxy for a company that is growing and has budget. Costs one extra page probe on leads that publish a careers link. Turn off for the fastest possible run.

## `enableGrowthSignals` (type: `boolean`):

Flags businesses that recently rebuilt their website, by comparing historical snapshot sizes in the public Internet Archive index. Off by default because it adds one archive.org lookup per lead and that service throttles under load, which can slow a large run. Coverage is roughly 63% on small local businesses; a blank cell means "no archive history to read", never "no redesign".

## `exportStyledExcel` (type: `boolean`):

Automatically saves a fully-styled .xlsx to this run's Key-Value Store when it finishes — dark navy header row, Hot-lead rows highlighted in green, every link rendered as a clean clickable button ("Open Website", "Find CEO / Founder") instead of a raw URL, auto-fit columns. Hand it straight to a client with zero manual formatting.

## `includePhone` (type: `boolean`):

Include each business's direct phone number in your exported lead sheet — ready for cold-calling campaigns.

## `includeWebsite` (type: `boolean`):

Include each business's website link in your exported lead sheet.

## `includeAddress` (type: `boolean`):

Include each business's full street address and city in your exported lead sheet.

## `includeRatingReviews` (type: `boolean`):

Include each business's Google star rating and review count — a quick trust signal for prioritizing outreach.

## `webhookUrl` (type: `string`):

Optional. Paste a Zapier, Make, HubSpot or custom endpoint and every qualifying lead is POSTed to it as JSON the moment it is scored — no waiting for the run to finish. Delivery is best-effort and never delays or fails the scrape: your dataset and Excel export remain the complete record.

## `webhookMinimumScore` (type: `integer`):

Only leads scoring at or above this value are sent to the webhook. 0 sends everything; 70 sends roughly the Hot tier only. Leads with no score count as 0, so an un-enriched lead can never slip through a high threshold.

## `agencyName` (type: `string`):

Put your agency's name on a branded Market Audit report, generated automatically at the end of every run and saved as OUTPUT in this run's Key-Value Store — which Apify renders as a live dashboard on the run page itself, so there is nothing to download to read it. It carries a one-click download button for your Excel file, and the run log prints a shareable link you can send straight to a prospect, or print to PDF. Leave empty to skip the report.

## `agencyLogoUrl` (type: `string`):

Direct https:// link to your logo image — it appears in the report header beside your agency name. The image is hotlinked, so use a URL that will stay live for as long as you intend to share the report.

## `reportTargetNiche` (type: `string`):

The market this audit covers, as your prospect should read it — for example "Dental Clinics, Dubai". Leave empty and it is built automatically from your search query and city.

## Actor input object example

```json
{
  "queries": [
    "digital marketing agency",
    "web design agency",
    "seo agency"
  ],
  "autoExpandNiches": true,
  "country": "Saudi Arabia",
  "city": "Riyadh",
  "maxListings": 300,
  "radiusKm": 15,
  "densityPreset": "standard",
  "queryLanguageMode": "native_only",
  "enableRelevanceFilter": true,
  "requirePhone": false,
  "requireWebsite": false,
  "squashDuplicateBranches": true,
  "verifiedEmailsOnly": false,
  "userNegativeKeywords": [],
  "deepEnrichment": true,
  "checkMetaAds": true,
  "checkGoogleAds": true,
  "extractLinkedInDorks": true,
  "verifyEmails": true,
  "enableInstagram": true,
  "enableFacebook": true,
  "enableLinkedIn": true,
  "enableTwitter": true,
  "enableTiktok": true,
  "enableSocialActivityCheck": false,
  "enableDeepNiche": true,
  "enableTechRadar": true,
  "enableHiringSignals": true,
  "enableGrowthSignals": false,
  "exportStyledExcel": true,
  "includePhone": true,
  "includeWebsite": true,
  "includeAddress": true,
  "includeRatingReviews": true,
  "webhookUrl": "",
  "webhookMinimumScore": 0,
  "agencyName": "",
  "agencyLogoUrl": "",
  "reportTargetNiche": ""
}
```

# Actor output Schema

## `leads` (type: `string`):

Every scored B2B lead produced by the run, one item per business.

## `outreachLinks` (type: `string`):

The same leads narrowed to the click-through outreach URLs (WhatsApp, decision maker, ad libraries, Maps).

## `styledExcel` (type: `string`):

The full lead list as a formatted .xlsx workbook with clickable outreach anchors.

## `marketAuditReport` (type: `string`):

Client-facing HTML summary of the market scanned in this run.

# 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 = {
    "maxListings": 300,
    "radiusKm": 15
};

// Run the Actor and wait for it to finish
const run = await client.actor("dravyoka/g-maps-einstein-scraper-b2b-lead-gen").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 = {
    "maxListings": 300,
    "radiusKm": 15,
}

# Run the Actor and wait for it to finish
run = client.actor("dravyoka/g-maps-einstein-scraper-b2b-lead-gen").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "maxListings": 300,
  "radiusKm": 15
}' |
apify call dravyoka/g-maps-einstein-scraper-b2b-lead-gen --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,dravyoka/g-maps-einstein-scraper-b2b-lead-gen"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/sj4Rm8gq5RJA4NXhl/builds/RGYjmyMDvIdmCt91H/openapi.json
