Local SEO Workflow
Local business research using Google Maps and local SERP data via YepAPI endpoints.
Endpoints Used
| Endpoint | Cost | Purpose |
|---|---|---|
POST /v1/serp/google/maps | $0.01 | Google Maps / local business results |
POST /v1/scrape | $0.01 | Scrape competitor websites for NAP data |
POST /v1/seo/keywords | $0.15 | Local keyword metrics (volume, difficulty) |
POST /v1/seo/page-audit | $0.03 | Check local SEO signals on the user's site |
Workflow
Step 1: Local Competitor Discovery
Run POST /v1/serp/google/maps with business category + location.
{
"query": "plumber in austin tx",
"location": "us"
}
Returns: local business listings with ratings, review counts, categories, addresses.
Step 2: Extract NAP Data
For each competitor, run POST /v1/scrape on their website.
{
"url": "https://competitor-plumber.com",
"format": "markdown"
}
Extract NAP (Name, Address, Phone) data to compare consistency across listings.
Step 3: Local Keyword Research
Run POST /v1/seo/keywords with local keywords.
{
"keywords": ["plumber in austin", "emergency plumber austin tx", "austin plumbing service"],
"location": "us"
}
Returns: local search volume, CPC, difficulty — local keywords have lower volume but higher intent.
Step 4: On-Page Audit
Run POST /v1/seo/page-audit on the user's site.
{
"url": "https://example-plumber.com"
}
Check for local SEO signals: structured data (LocalBusiness schema), NAP consistency, location keywords in meta tags.
Step 5: Present Findings
- Local competitor landscape (ratings, review counts, rankings)
- Keyword opportunities (local terms with volume and difficulty)
- On-page fixes (missing structured data, NAP inconsistencies, meta tag gaps)
Rules
- Always include location in Maps queries — results are location-dependent
- NAP consistency is critical for local SEO — flag mismatches
- Google Maps results include ratings, review counts, and categories — use for competitor benchmarking
- Local keywords have lower volume but higher intent — prioritize conversion potential
Error Handling
NO_CREDITS(402) — Tell the user to add credits at https://yepapi.com/dashboardUPSTREAM_ERROR(502) — Retry once; if it fails again, skip that step and note itVALIDATION_ERROR(400) — Check query format; include location in the query stringRATE_LIMITED(429) — Wait and retry; respect theRetry-Afterheader