All skills
agricidaniel avatar
by Agrici.Danielagricidaniel/claude-seo18k stars
2,665

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability, indexability, Core Web Vitals with INP), schema markup, content quality (E-E-A-T), image optimization, sitemap analysis, and GEO for AI Overviews/ChatGPT/Perplexity. Industry detection for SaaS, e-commerce, local, publishers, agencies. Triggers on: SEO, audit, schema, Core Web Vitals, sitemap, E-E-A-T, AI Overviews, GEO, technical SEO, content quality, page speed. Use this hub only when the SEO domain is clear and the requested workflow is not; otherwise use the exact retained leaf or command.

Use this Skill: https://skilld.dev/gh/agricidaniel/claude-seo/seo

This session only. Nothing lands on disk.

referencesmaps-free-apis.md

≈1.5k tokens on demand. Your agent reads this file only when SKILL.md points to it.

<!-- Updated: 2026-03-23 -->

Free Maps APIs for claude-seo

Source Key

  • Docs: Official API documentation for each service
  • Policy: Official usage policies and terms

Overpass API (Best Free Option for Competitor Discovery)

Base URL: https://overpass-api.de/api/interpreter Docs: https://wiki.openstreetmap.org/wiki/Overpass_API License: ODbL (attribution required: "Data from OpenStreetMap")

Rate Limits

  • Slot-based: ~2 concurrent queries per IP
  • Guideline: ~10,000 requests/day, ~1 GB/day download
  • Default timeout: 180 seconds, 512 MiB memory per query
  • Use [timeout:25] for lighter queries

Query Templates

Restaurants within 5km radius:

curl -s "https://overpass-api.de/api/interpreter" \
  --data-urlencode 'data=[out:json][timeout:25];(node["amenity"="restaurant"](around:5000,LAT,LNG);way["amenity"="restaurant"](around:5000,LAT,LNG););out body;>;out skel qt;'

All businesses on a street:

curl -s "https://overpass-api.de/api/interpreter" \
  --data-urlencode 'data=[out:json][timeout:25];way["name"="STREET_NAME"]["addr:city"="CITY"];(._;>;);out body;'

Competitor POIs by category in bounding box:

curl -s "https://overpass-api.de/api/interpreter" \
  --data-urlencode 'data=[out:json][timeout:25];(node["amenity"="dentist"](SOUTH,WEST,NORTH,EAST);way["amenity"="dentist"](SOUTH,WEST,NORTH,EAST););out body;>;out skel qt;'

Key OSM Tags for Local SEO

Category OSM Tag Examples
Food & Drink amenity=restaurant, amenity=cafe, amenity=fast_food Restaurants, cafes, takeaway
Healthcare amenity=dentist, amenity=doctors, amenity=pharmacy Dental, medical, pharmacy
Legal office=lawyer, office=notary Law firms, notaries
Home Services craft=plumber, craft=electrician, craft=hvac Trades, contractors
Retail shop=supermarket, shop=clothes, shop=car All retail types
Automotive shop=car, shop=car_repair, amenity=fuel Dealers, repair, gas
Hospitality tourism=hotel, tourism=motel, tourism=guest_house Accommodation
Financial amenity=bank, office=insurance, office=accountant Banks, insurance, accounting

Response Fields

Each element returns: id, lat, lon, tags object containing name, phone, website, opening_hours, addr:street, addr:housenumber, addr:city, addr:postcode, cuisine, brand, etc.

Limitations

  • No reviews, ratings, or popularity data
  • No GBP-specific information
  • Data quality varies by region (excellent in Europe, inconsistent elsewhere)
  • Volunteer-contributed data; may be outdated
  • Interactive tester: https://overpass-turbo.eu/

Geoapify Places API (Structured POI Search)

Base URL: https://api.geoapify.com/v2/places Docs: https://apidocs.geoapify.com/docs/places/ Pricing: https://www.geoapify.com/pricing

Free Tier

  • 3,000 credits/day (1 credit = 20 places returned)
  • 5 requests/second
  • Requires API key (free registration, no credit card)
  • Caching and storage explicitly permitted (unlike Google)

Query Template

curl -s "https://api.geoapify.com/v2/places?categories=catering.restaurant&filter=circle:LNG,LAT,5000&limit=20&apiKey=YOUR_KEY"

Category Hierarchy

Uses dot-separated categories: catering.restaurant, commercial.supermarket, healthcare.dentist, service.financial.accounting, commercial.vehicle.car_dealer

Response Format

GeoJSON FeatureCollection. Each feature has properties: name, city, state, postcode, country, street, housenumber, phone, website, categories, lat, lon, place_id, formatted (full address string)

Advantages Over Raw Overpass

  • Cleaner, structured responses
  • Aggregated data (OSM + OpenAddresses + WhosOnFirst + GeoNames)
  • Hierarchical category taxonomy
  • No rate limit surprises (clear credit system)

Nominatim (Geocoding Only)

Base URL: https://nominatim.openstreetmap.org Docs: https://nominatim.org/release-docs/latest/api/Overview/ Policy: https://operations.osmfoundation.org/policies/nominatim/

Rate Limits (STRICT)

  • 1 request/second (absolute)
  • Must include valid User-Agent header (stock library agents rejected)
  • Auto-complete queries forbidden
  • Bulk geocoding forbidden on public instance
  • Repeated identical queries trigger bans (cache results)

Forward Geocoding

curl -s "https://nominatim.openstreetmap.org/search?q=123+Main+St+Austin+TX&format=json&addressdetails=1" \
  -H "User-Agent: claude-seo/1.7.0"

Reverse Geocoding

curl -s "https://nominatim.openstreetmap.org/reverse?lat=40.7128&lon=-74.0060&format=json" \
  -H "User-Agent: claude-seo/1.7.0"

Response Fields

place_id, lat, lon, display_name, importance, category, type, address object (house_number, road, city, state, postcode, country)

Best Use

  • Address-to-coordinates conversion for geo-grid center point
  • Reverse geocoding to validate business addresses
  • NOT suitable for business listing discovery (use Overpass or Geoapify)

Rate Limit Enforcement Pattern

# Nominatim: enforce 1 req/sec with sleep
for addr in "${addresses[@]}"; do
  curl -s "https://nominatim.openstreetmap.org/search?q=${addr}&format=json" \
    -H "User-Agent: claude-seo/1.7.0"
  sleep 1.1
done

# Overpass: no explicit rate limit, but use reasonable timeouts
# If HTTP 429 returned, implement exponential backoff

# Geoapify: 5 req/sec on free tier, no explicit enforcement needed

Comparison Table

Feature Overpass Geoapify Nominatim
Business discovery Yes (tags) Yes (categories) Limited
Reviews/ratings No No No
Geocoding No Yes Best
Rate limit ~10k/day 3k credits/day 1 req/sec
Auth required No API key No
Caching allowed Yes Explicitly Required
Data quality Regional Aggregated Regional
Best for Radius competitor search Structured POI search Address resolution

Source: SKILL.md on GitHub

No alerts1d5 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The skill is a comprehensive SEO tool that orchestrates multiple sub-agents and scripts. It performs network operations to fetch SEO data from various APIs and crawls user-provided websites. While it follows complex analysis frameworks, it relies on a bundled script launcher and performs analysis on untrusted external web content, which carries a risk of indirect prompt injection.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: LOW · No issues

  • Runlayer6mo

    1/5 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at ff87fce. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 3 days ago
user-invocable
true
argument-hint
[command] [url]
metadata
{
  "author": "AgriciDaniel",
  "version": "2.4.1",
  "category": "seo"
}

README badge

README badge for agricidaniel/claude-seo/seo