Apify Multi-Platform Scraper
apify/agent-skills
Scrapes public data from social, maps, search and review platforms by choosing from about a hundred Apify Actors and running them through the Apify CLI.
Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names…
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install apify/awesome-skills apify-google-maps-leads --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/apify-google-maps-leads .claude/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .claude/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leadsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install apify/awesome-skills apify-google-maps-leads --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/apify-google-maps-leads .agents/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .agents/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install apify/awesome-skills apify-google-maps-leads --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/apify-google-maps-leads .cursor/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .cursor/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/apify/awesome-skills.git --path skills/apify-google-maps-leads--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install apify/awesome-skills apify-google-maps-leads --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/apify-google-maps-leads .gemini/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .gemini/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install apify/awesome-skills apify-google-maps-leadsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/apify-google-maps-leads .github/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .github/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add apify/awesome-skills --skill apify-google-maps-leads -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install apify/awesome-skills apify-google-maps-leads --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/apify/awesome-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/apify-google-maps-leads .opencode/skills/apify-google-maps-leads && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "apify-google-maps-leads" agent skill from https://github.com/apify/awesome-skills/tree/main/skills/apify-google-maps-leads into .opencode/skills/apify-google-maps-leads/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "apify-google-maps-leads", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
apify-google-maps-leadsBuild a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names…
Apify Google Maps Leads is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names, emails, phones, LinkedIn), Instagram + Facebook profiles, and optionally reviews for lead scoring. For places with no named contacts, escalate to apify/ai-web-scraper to pull owner / decision-maker names from the business website. Backfill missing phones via scalelist/phone-finder and missing emails via…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `examples/example-dentists-berlin.md`, `references/actor-inputs.md` and `references/gotchas.md`).
It sits in Data & Analytics, covering Web scraping and Lead generation. It works with Apify, Google Maps Platform, Instagram and LinkedIn. The repository describes itself as: Community collection of Apify agent skills for AI coding assistants. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1eb0cd0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
apify.comconsole.apify.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
APIFY_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Apify Google Maps Leads loads about 3.8k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 259 tokens; SKILL.md has 1,500 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from apify/awesome-skills at commit 1eb0cd0, republished under its Apache-2.0 licence (© apify). 1,500 words, ~3,800 tokens.
.claude/skills/apify-google-maps-leads/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Build a lead CSV from Google Maps in one pipeline:
compass/crawler-google-places run with four add-ons pre-configured (leads enrichment, website contacts, Instagram + Facebook profiles, optional reviews).apify/ai-web-scraper on the business website to extract owner/decision-maker names. Scalelist can't work without a name.scalelist/phone-finder for leads with a missing phone, scalelist/email-finder for leads with a missing email.run_metadata.json sidecar.apify login (OAuth, if using the Apify CLI)APIFY_TOKEN env varEither the Apify CLI (recommended for portability) or the Apify MCP connector works. Commands below use the CLI; the MCP path is a drop-in via the call-actor and get-dataset-items tools.
Track progress with this checklist:
Task Progress:
- [ ] Step 1: Interview — audience, geography, scoring choice
- [ ] Step 2: Build the Google Maps input
- [ ] Step 3: Run compass/crawler-google-places
- [ ] Step 4: Filter + score (if scoring enabled)
- [ ] Step 5: Discover missing names via apify/ai-web-scraper
- [ ] Step 6: Backfill missing phones and emails via scalelist Actors
- [ ] Step 7: Deduplicate and render the CSVAsk three questions as one block — don't drip them one by one.
"dentists", "vegan restaurants", "boutique hotels", "dog groomers, pet stores" (comma-splittable → array)."Berlin, Germany", "Austin, TX"). If the user gives a country only, warn that Maps runs perform best on city-scoped searches.maxReviews) and filter by review volume + star rating post-run. If no, we skip reviews to cut cost.Follow-ups only if the user asks for more control:
maxCrawledPlacesPerSearch — default 50. Bigger runs = bigger cost.maximumLeadsEnrichmentRecords — default 3 per place (people to enrich per business). Never 0 — that disables leads enrichment, which is the point.leadsEnrichmentDepartments — default [] (any). Enum values are listed in references/actor-inputs.md.placeMinimumStars) — cheaper than post-filtering when scoring is off.≥ 10 reviews AND ≥ 4.0 rating.Cost warning threshold. Compute expected_leads = maxCrawledPlacesPerSearch × maximumLeadsEnrichmentRecords. If it exceeds 200, restate the number back to the user and confirm before running. Leads enrichment is the dominant cost line; a slip here is what surprises people.
Set every field below on every run. Full field reference in references/actor-inputs.md.
| Field | Value |
|---|---|
searchStringsArray | audience as array (e.g. ["dentists"]) |
locationQuery | geography free text |
maxCrawledPlacesPerSearch | user override or default 50 |
language | "en" unless user specifies |
scrapePlaceDetailPage | true — needed for phone + hours + address |
skipClosedPlaces | true — permanent/temporary closures are dead leads |
scrapeContacts | true — Add-on: Company contacts enrichment (from website) ($) |
scrapeSocialMediaProfiles | {"instagrams": true, "facebooks": true, "youtubes": false, "tiktoks": false, "twitters": false} — Instagram + Facebook profile enrichment |
maximumLeadsEnrichmentRecords | user override or default 3 — Add-on: Business leads enrichment ($) |
leadsEnrichmentDepartments | user override or [] |
verifyLeadsEnrichmentEmails | true — always, never false |
maxReviews | 10 if scoring is on, 0 otherwise |
reviewsSort | "newest" if scoring is on |
scrapeSocialMediaProfiles auto-enables scrapeContacts. Both are billed on top of the base scrape — see the Actor's pricing tab.
apify actors call "compass/crawler-google-places" \
--input '<JSON_FROM_STEP_2>' \
--user-agent apify-awesome-skills/apify-google-maps-leads \
--json 2>/dev/nullCapture id (runId) and defaultDatasetId. Pull the dataset:
apify datasets get-items <DATASET_ID> --format json \
--user-agent apify-awesome-skills/apify-google-maps-leads 2>/dev/null > places.jsonLeads enrichment adds 30–90 s per place — expect long runs. If a run times out, the dataset already holds partial results; pull by datasetId.
Applied to the raw places.json in order. Full logic in references/scoring-and-backfill.md.
leadsEnrichment[].companyWebsite hostname doesn't match the place.website hostname. Same failure mode as apify-verified-email-finder — a global-fallback lead attributed to unrelated places by substring. Count drops in run_metadata.json.place.reviewsCount >= 10 AND place.totalScore >= 4.0.Lead Score column: round(place.totalScore * log10(place.reviewsCount + 1), 2). Higher = better local reputation.Lead Score is blank.Scalelist needs a person name (or LinkedIn URL) to look anything up. When a place has zero enriched leads — or leads with blank firstName / lastName — but has a working website, run apify/ai-web-scraper on that website to extract owner/decision-maker names.
When to run this step per place (all conditions must hold):
place.website is non-empty (nothing to scrape otherwise)leadsEnrichment[] is empty, or every lead has a blank firstNamePayload — same input pattern as the Apify AI Web Scraper "list of writers" example, retargeted from blog authors to local-business decision-makers:
{
"startUrls": [{"url": "<place.website>"}],
"extractionMode": "agentic",
"prompt": "Find the owner, founder, or key decision-makers of this business. For each person, include their full name and job title. Prioritize pages like /about, /team, /contact, or the site footer.",
"maxPagesToVisit": 20,
"maxCrawlDepth": 3
}Defaults trimmed vs. the blog example (which uses maxPagesToVisit: 100 / maxCrawlDepth: 5) — small-business sites are typically shallow, and this is one call per website.
apify actors call "apify/ai-web-scraper" \
--input '{"startUrls":[{"url":"<place.website>"}],"extractionMode":"agentic","prompt":"...","maxPagesToVisit":20,"maxCrawlDepth":3}' \
--user-agent apify-awesome-skills/apify-google-maps-leads \
--json 2>/dev/nullOne place per call — the Actor's crawl fans out from startUrls, so batching multiple business sites in one startUrls array would mix results. Run one call per place website. Parallelize across places if you have many.
Merge results back onto the place:
url, data, markdown. data holds the extracted people — expect { "people": [{ "name": "...", "jobTitle": "..." }] } or an array of such objects (LLM output shape varies).name on the last space into firstName / lastName.place.leadsEnrichment[] with firstName, lastName, jobTitle, companyWebsite = place.website, and mark Backfill Source = "ai-web-scraper".Skip conditions:
place.website returns a redirect to a social profile (Facebook page, Instagram) — the AI scraper handles JS sites but Meta login walls will burn budget for nothing.For every lead surviving Step 5, check what's missing.
Phone backfill. Collect leads with a non-blank name and a blank phone. Group into batches of 100. Payload for scalelist/phone-finder:
{
"leads": [
{"first_name": "...", "last_name": "...", "company_domain": "...", "linkedin_profile_url": "..."}
]
}linkedin_profile_url alone is sufficient; otherwise supply first_name + last_name + company_domain (preferred) or company_name.
apify actors call "scalelist/phone-finder" \
--input '{"leads":[...]}' \
--user-agent apify-awesome-skills/apify-google-maps-leads \
--json 2>/dev/nullEmail backfill. Collect leads with a non-blank name and a blank email. Payload for scalelist/email-finder:
{
"leads": [
{"first_name": "...", "last_name": "...", "company_domain": "...", "company_name": "..."}
]
}first_name + last_name are required; company_domain beats company_name for match rate.
apify actors call "scalelist/email-finder" \
--input '{"leads":[...]}' \
--user-agent apify-awesome-skills/apify-google-maps-leads \
--json 2>/dev/nullBoth Actors are pay-per-event: you're only charged for successful matches. Merge the returned phones/emails back onto the original leads by lowercased first_name + last_name + company_domain.
Skip conditions. Don't call scalelist if the lead has no first+last name AND no LinkedIn URL — nothing to look up. Don't call it if the user says "skip backfill" up front (surface this as an offer if the initial maximumLeadsEnrichmentRecords was high, since the cost stacks).
Full column schema in references/output-format.md. Twenty columns including Lead Score, Instagram Followers, Facebook Followers, Backfill Source.
email where present; otherwise by lowercased first_name + last_name + place_id.Lead Score descending when scoring is on; otherwise by Business alphabetically.run_metadata.json sidecar next to the CSV with runId, datasetId, and stats (placesScraped, rawLeads, spuriousDropped, phonesBackfilled, emailsBackfilled, keptRows).See examples/example-dentists-berlin.md — full inputs + sample CSV rows for a "dentists in Berlin, Germany, scoring on" run.
verifyLeadsEnrichmentEmails: true and skipClosedPlaces: true on every run.Source Query, Business, and Place ID. run_metadata.json carries the Apify runId + datasetId.expected_leads > 200, restate and confirm before running Step 3.Lead Score column but leave it blank — don't invent one.Run TIMED-OUT — Lower maxCrawledPlacesPerSearch or maximumLeadsEnrichmentRecords. Enrichment is the slow part.place.website was populated. If names are also missing, Step 5 (ai-web-scraper) should have populated them — check its output.apify/ai-web-scraper returned zero people — Site is a single-page landing (no /about /team /contact), a JS-app that renders after the crawl budget, or a redirect to Facebook/Instagram. No fix; accept the miss and let scalelist skip that place.Actor not found: scalelist/phone-finder — The Actor is on the Apify Store but not pre-approved on your account. Open it once in the console to accept the terms.maxReviews > 10 combined with high maxCrawledPlacesPerSearch, or forgetting to disable YouTube/TikTok/X social enrichment (they cost the same as IG/FB).For error recovery patterns shared across Apify skills, see references/gotchas.md.
© apify, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in skills/apify-google-maps-leads of apify/awesome-skills.
Open the folder on GitHubat commit 1eb0cd0
Apify Google Maps Leads next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Apify Google Maps Leads this skillapify/awesome-skills | 262 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| Apify Multi-Platform Scraperapify/agent-skills | 2.4k | 2 repos | ~1.4k | Automated safety check: Notes | None | |
| Google Maps Contact Extractbrowser-act/skills | 6.1k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Luma Event Attendeesgooseworks-ai/goose-skills | 1.2k | 1 repos | ~1.7k | Automated safety check: Notes | MIT | |
| Apify Competitor Intelligencemajiayu000/claude-skill-registry | 666 | 4 repos | ~1.3k | Automated safety check: Notes | MIT | |
| Apify Brand Reputation Monitoringmajiayu000/claude-skill-registry | 666 | 3 repos | ~1.2k | Automated safety check: Notes | MIT |
apify/agent-skills
Scrapes public data from social, maps, search and review platforms by choosing from about a hundred Apify Actors and running them through the Apify CLI.
browser-act/skills
Extracts business contact details from Google Maps search results and place detail pages, then visits each business website to collect emails, phone numbers, and social media profiles (Facebook…
gooseworks-ai/goose-skills
Find speakers, hosts, and guest profiles at conferences and events on Luma.
majiayu000/claude-skill-registry
Analyze competitor strategies, content, pricing, ads, and market positioning across Google Maps, Booking.com, Facebook, Instagram, YouTube, and TikTok.
majiayu000/claude-skill-registry
Scrape reviews, ratings, and brand mentions from multiple platforms using Apify Actors.
sickn33/agentic-awesome-skills
Scrape leads from multiple platforms using Apify Actors. An agent skill from sickn33/agentic-awesome-skills.
apify/awesome-skills
Set up a recurring buying-signal detection pipeline that finds companies showing buying intent across three signal types — job postings (hiring for the persona), fundraising events (recent raises)…
apify/awesome-skills
Wire an AI agent to live e-commerce product data using Apify's E-commerce Scraping Tool over MCP, either as runtime tool calls or as a scheduled refresh into a vector store.
apify/awesome-skills
Score and enrich a CSV of B2B leads using Apify Actors. An agent skill from apify/awesome-skills.
apify/awesome-skills
Pull structured Apple App Store and Google Play data — app metadata, price, rating, the 1–5★ ratings histogram, version, developer, and reviews — and watch it for changes over time.
apify/awesome-skills
Scrape Ashby jobs or discover companies using Ashby with the Apify Ashby Job Board API Actor (johnvc/ashby-job-board-scraper).
apify/awesome-skills
Pull structured B2B company data from Clutch.co with the Clutch.co Agency API Actor (johnvc/clutch-agency-api).
Categories
Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names…. Apify Google Maps Leads is an agent skill from apify/awesome-skills, published by the product's own GitHub organization. Build a local-business lead database from Google Maps in one Apify pipeline: search by target audience + geography, enrich each place with company contacts from its website, leads enrichment (names, emails, phones, LinkedIn), Instagram + Facebook profiles, and optionally reviews for lead scoring.
Apify Google Maps Leads fits situations like: the user asks to build a lead list from Google Maps; scrape local businesses; generate B2B leads by city/industry; find owner/decision-maker contacts for restaurants / dentists / gyms / hotels / any local vertical.
Run `npx skills add apify/awesome-skills --skill apify-google-maps-leads -a claude-code`. Or copy the skill folder (skills/apify-google-maps-leads in apify/awesome-skills) into .claude/skills/apify-google-maps-leads in your project. Claude Code loads it when a task matches its description.
Run `npx skills add apify/awesome-skills --skill apify-google-maps-leads -a codex`. Or copy the skill folder (skills/apify-google-maps-leads in apify/awesome-skills) into .agents/skills/apify-google-maps-leads in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add apify/awesome-skills --skill apify-google-maps-leads -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/apify-google-maps-leads, .gemini/skills/apify-google-maps-leads, .github/skills/apify-google-maps-leads and .opencode/skills/apify-google-maps-leads in your project.
Going by SKILL.md and its folder, Apify Google Maps Leads needs credentials named APIFY_TOKEN. Our summary lists: A credential in APIFY_TOKEN.
SKILL.md names 2 domains. As links in the text: apify.com and console.apify.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Apify Google Maps Leads is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Apify Google Maps Leads: Apify Multi-Platform Scraper (apify/agent-skills, 2.4k stars), Google Maps Contact Extract (browser-act/skills, 6.1k stars), Luma Event Attendees (gooseworks-ai/goose-skills, 1.2k stars) and Apify Competitor Intelligence (majiayu000/claude-skill-registry, 666 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
apify (a GitHub organization, an official publisher) maintains it in apify/awesome-skills, which has 262 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 22, 2026.
Source: apify/awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.