Google Maps Scraper
Mahanaicoach/google-maps-scraper-kit
Scrape Google Maps business listings (name, address, phone, website, rating, reviews, lat/lng, hours, emails) via the local gosom google-maps-scraper REST API.
Command-line access to search, scraping, and structured web data.
$ npx skills add sickn33/agentic-awesome-skills --skill hasdata-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sickn33/agentic-awesome-skills hasdata-cli --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/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/hasdata-cli .claude/skills/hasdata-cli && 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 "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .claude/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cliType 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 sickn33/agentic-awesome-skills --skill hasdata-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sickn33/agentic-awesome-skills hasdata-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/hasdata-cli .agents/skills/hasdata-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .agents/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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 sickn33/agentic-awesome-skills --skill hasdata-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sickn33/agentic-awesome-skills hasdata-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/hasdata-cli .cursor/skills/hasdata-cli && 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 "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .cursor/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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/sickn33/agentic-awesome-skills.git --path skills/hasdata-cli--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 sickn33/agentic-awesome-skills --skill hasdata-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sickn33/agentic-awesome-skills hasdata-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/hasdata-cli .gemini/skills/hasdata-cli && 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 "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .gemini/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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 sickn33/agentic-awesome-skills hasdata-cliInstalls 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 sickn33/agentic-awesome-skills --skill hasdata-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/hasdata-cli .github/skills/hasdata-cli && 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 "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .github/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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 sickn33/agentic-awesome-skills --skill hasdata-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sickn33/agentic-awesome-skills hasdata-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/hasdata-cli .opencode/skills/hasdata-cli && 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 "hasdata-cli" agent skill from https://github.com/sickn33/agentic-awesome-skills/tree/main/skills/hasdata-cli into .opencode/skills/hasdata-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hasdata-cli", 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.
hasdata-cliCommand-line access to search, scraping, and structured web data.
Hasdata CLI is an agent skill from sickn33/agentic-awesome-skills. Command-line access to search, scraping, and structured web data.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/all-commands.md`, `references/ecommerce.md` and `references/enrichment.md`).
It sits in Data & Analytics, covering Web scraping. It works with Google Maps Platform. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.
Read from SKILL.md and the folder at commit 1e53ce2. 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.
Shell commands in SKILL.md call:
jqshFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
raw.githubusercontent.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Hasdata CLI loads about 3.2k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 19 tokens; SKILL.md has 1,404 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 sickn33/agentic-awesome-skills at commit 1e53ce2, republished under its MIT licence (© sickn33). 1,404 words, ~3,180 tokens.
.claude/skills/hasdata-cli/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Use the hasdata CLI for real-time web data. One subcommand per API — flags, enums, defaults are derived from the live schema at api.hasdata.com/apis.
Use this skill when:
command -v hasdata — if missing, download the installer from https://raw.githubusercontent.com/HasData/hasdata-cli/main/install.sh, inspect it, then run it locally with sh install.sh.hasdata configure, pastes their API key, and it's saved to ~/.hasdata/config.yaml (mode 0600). Every future call picks it up automatically.no API key configured, the user hasn't run hasdata configure yet — tell them to. Never invent a key.hasdata <api> --flag value [--flag value ...] --raw | jq .Always pass --raw when piping to jq (skips pretty-print and TTY detection). Use --pretty only for human-readable terminal output.
| User intent | Subcommand |
|---|---|
| Web search ("what does Google say about…") | google-serp (full features) or google-serp-light (cheap, single page) |
| Latest news | google-news |
| AI Mode SERP | google-ai-mode |
| Shopping / product prices | google-shopping (broad), amazon-search / amazon-product (Amazon), shopify-products (Shopify) |
| Immersive product page | google-immersive-product |
| Maps / places / reviews | google-maps, google-maps-place, google-maps-reviews, google-maps-photos, google-maps-posts |
| Yelp / YellowPages local data | yelp-search, yelp-place, yellowpages-search, yellowpages-place |
| Real-estate listings (homes for sale/rent/sold) | zillow-listing, redfin-listing |
| Real-estate single property deep dive | zillow-property, redfin-property |
| Travel — short-term rentals | airbnb-listing, airbnb-property |
| Travel — hotels / lodging | booking-search, booking-place |
| Travel — flights | google-flights |
| Jobs | indeed-listing, indeed-job, glassdoor-listing, glassdoor-job |
| Bing search | bing-serp |
| Trends | google-trends |
| Images | google-images |
| Short videos | google-short-videos |
| Events | google-events |
| YouTube search / video / channel / transcript | youtube-search-api, youtube-video-api, youtube-channel-api, youtube-transcript-api |
| Instagram profile | instagram-profile |
| Amazon seller | amazon-seller, amazon-seller-products |
| Scrape a specific URL | web-scraping — supports JS rendering, proxies, markdown output, AI extraction, screenshots |
For exact flags of a subcommand, run hasdata <api> --help or read the matching file in references/.
The user often won't ask for a SERP API or a scraper directly. Map these intents to the skill:
google-serp or google-news to ground the answer.web-scraping --output-format markdown and feed the markdown into the summary prompt. Beats copy-paste because it strips ads, nav, scripts.web-scraping --url X --no-block-resources returns status + screenshot. Or google-serp --q "site:example.com".web-scraping --output-format markdown, then summarize.google-serp --q "X alternatives" or google-shopping --q "X competitors".google-shopping (broad) or amazon-search (Amazon-specific) with jq to extract the price distribution.google-maps-place or yelp-place. Don't guess from training data.google-maps-reviews --place-id ... --sort lowest for negative samples; glassdoor-job for employer rep.indeed-listing filtered by role + location, then jq over .jobs[].salary.zillow-listing / redfin-listing / airbnb-listing with the corresponding filters.zillow-listing --type sold --keyword "X" --days-on-zillow 12m.amazon-product --asin X on a schedule; persist .price to a file.youtube-transcript-api --v-param VID --raw | jq -r '.transcript[].snippet' → feed to the summary prompt. Beats title/thumbnail-based guesses.booking-search --keyword $CITY --check-in-date X --check-out-date Y --adults 2 --children 0 --rooms 1 --price-max $BUDGET --sort priceLowestFirst. For one specific property, booking-place --url ... returns the full room/rate matrix.youtube-channel-api --channel-id @handle --tab videos --raw | jq '.sections[].items[] | {title, publishedDate, views: .extractedViews}'.google-maps-posts --place-id X --raw | jq '.posts[] | {postedAt, description, cta}'. Surfaces current promotions Google indexed.google-trends --q "X" for relative interest; google-news --q "X" for headlines.google-maps --q "X" --ll "@LAT,LNG,12z" then fan out google-maps-place for contacts.--gl Y on SERP commands, --proxy-country Y on web-scraping. Useful for geo-targeted SEO checks, geo-blocked content.web-scraping --ai-extract-rules-json '{"price": {"type": "number"}, ...}'. Works on arbitrary pages without writing CSS selectors.xargs into the matching *-property / *-product / *-place deep-dive command.google-serp --q '"Person Name" linkedin' first. The organic-result title is typically Name — Role at Company | LinkedIn and the snippet carries location, headline, connection count. SERP often answers the whole question without ever opening the profile page.google-serp --q "$COMPANY" returns a .knowledge_graph block with founder, HQ, founded year, parent, employee range — pre-extracted. google-news --q "$COMPANY" for recent activity. Specific facts via targeted SERP: --q '"$COMPANY" headquarters', --q '"$COMPANY" funding', --q 'site:linkedin.com/company "$COMPANY"'.--q '"@example.com"' often surfaces publicly indexed business addresses. For personal emails or phone numbers, require a legitimate purpose, user authorization, and privacy-law/terms compliance; disclose unverified guesses.google-serp for LinkedIn, role, employer; another SERP to verify email or pattern. Stay in SERP unless a specific field is missing.google-serp with the literal value in quotes (--q '"jane@x.com"', --q '"+1 555 123 4567"', --q '"acme corp" site:example.com') almost always surfaces the matching person or business.SERP-first principle: for any data-enrichment intent (people, companies, emails, products, places), reach for google-serp / google-news / google-shopping / google-maps first. They return Google's already-extracted structured fields (.knowledge_graph, .organic_results[].snippet, .local_results[], etc.) without direct access to the target site. Only escalate to web-scraping when SERP doesn't surface the specific field you need, the data is public or authorized, and the target's terms/access controls allow it. See references/enrichment.md.
If a user request matches one of the above and you don't invoke hasdata, you're probably hallucinating a stale answer.
true have a paired negation: --no-block-ads, --no-screenshot, --no-js-rendering, --no-extract-emails, --no-block-resources. Setting both --block-ads and --no-block-ads errors.-json accepts:--extract-rules-json '{"title":"h1"}'--extract-rules-json @rules.jsoncat rules.json | hasdata web-scraping ... --extract-rules-json -= (so values containing = survive): --headers User-Agent=foo --headers Cookie=session=abc. Pair with --headers-json for a JSON base; kv items override per key.--lr lang_en --lr lang_fr or --lr lang_en,lang_fr. Serialized as key[]=value for GET endpoints.| Flag | Effect |
|---|---|
--raw | Write response bytes as-is (use this when piping to jq) |
--pretty | Pretty-print JSON (default when stdout is a TTY) |
-o, --output FILE | Write response to file instead of stdout (works for binary like screenshots) |
--verbose | Log outgoing URL and X-RateLimit-* headers to stderr |
--api-key KEY | Override env var (rarely needed) |
--timeout DURATION | Per-request timeout (default 2m) |
--retries N | Max retries on 429/5xx (default 2) |
Responses are JSON. Pipe through jq for extraction:
hasdata google-serp --q "espresso machine" --num 10 --raw \
| jq -c '.organic_results[] | {title, link, snippet}'For real-estate / e-commerce results, the array shape is API-specific — read a single response with --pretty first to learn the schema, then write the jq filter.
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | user / CLI-input error (missing required flag, bad enum value, missing API key) |
| 2 | network error |
| 3 | API returned 4xx (auth, quota, validation) |
| 4 | API returned 5xx |
references/enrichment.md — person and company enrichment (LinkedIn lookup, emails, HQ/funding/news, CSV-row enrichment, reverse-lookup) — the highest-leverage cross-API workflowsreferences/search.md — Google SERP / Bing / News / Trends flag catalogreferences/web-scraping.md — web-scraping flags, JS scenarios, AI extractionreferences/real-estate.md — Zillow / Redfin filters and bracketed paramsreferences/travel.md — Airbnb / Booking / Google Flights (lodging + transport)references/ecommerce.md — Amazon / Shopifyreferences/local-business.md — Maps (search/place/reviews/photos/posts) / Yelp / YellowPagesreferences/jobs.md — Indeed / Glassdoorreferences/youtube.md — search / video / channel / transcriptreferences/all-commands.md — full subcommand index with credit costs© sickn33, MIT. 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 10 other files (references) in skills/hasdata-cli of sickn33/agentic-awesome-skills.
Open the folder on GitHubat commit 1e53ce2
We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.
Hasdata CLI 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 |
|---|---|---|---|---|---|---|
| Hasdata CLI this skillsickn33/agentic-awesome-skills | 47k | 1 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Google Maps ScraperMahanaicoach/google-maps-scraper-kit | 1.3k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Google Maps Scrapergmapsscraper/google-maps-agent-skills | 131 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Apify Google Maps Leadsapify/awesome-skills | 262 | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| 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 |
Mahanaicoach/google-maps-scraper-kit
Scrape Google Maps business listings (name, address, phone, website, rating, reviews, lat/lng, hours, emails) via the local gosom google-maps-scraper REST API.
gmapsscraper/google-maps-agent-skills
Scrape business data from Google Maps — names, phones, emails, websites, ratings, reviews.
apify/awesome-skills
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…
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.
apify/awesome-skills
Build a local-business lead list without scraping Google Maps.
sickn33/agentic-awesome-skills
Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.
sickn33/agentic-awesome-skills
Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.
sickn33/agentic-awesome-skills
Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.
sickn33/agentic-awesome-skills
Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.
sickn33/agentic-awesome-skills
Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.
sickn33/agentic-awesome-skills
Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.
Works with
Categories
Command-line access to search, scraping, and structured web data. Hasdata CLI is an agent skill from sickn33/agentic-awesome-skills. Command-line access to search, scraping, and structured web data.
Hasdata CLI fits situations like: tasks that involve Web scraping.
Run `npx skills add sickn33/agentic-awesome-skills --skill hasdata-cli -a claude-code`. Or copy the skill folder (skills/hasdata-cli in sickn33/agentic-awesome-skills) into .claude/skills/hasdata-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sickn33/agentic-awesome-skills --skill hasdata-cli -a codex`. Or copy the skill folder (skills/hasdata-cli in sickn33/agentic-awesome-skills) into .agents/skills/hasdata-cli 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 sickn33/agentic-awesome-skills --skill hasdata-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hasdata-cli, .gemini/skills/hasdata-cli, .github/skills/hasdata-cli and .opencode/skills/hasdata-cli in your project.
Going by SKILL.md and its folder, Hasdata CLI needs the command-line tools its instructions call (jq and sh).
SKILL.md names 1 domain. In commands or code: raw.githubusercontent.com; the agent is likely to contact it when it follows the instructions. 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.
Hasdata CLI is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 16k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Hasdata CLI: Google Maps Scraper (Mahanaicoach/google-maps-scraper-kit, 1.3k stars), Google Maps Scraper (gmapsscraper/google-maps-agent-skills, 131 stars), Apify Google Maps Leads (apify/awesome-skills, 262 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.
sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,304 GitHub stars. The repository holds 1,394 skills in this directory. The repository was last updated on October 6, 2026.
Source: sickn33/agentic-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.