PluginBench
Skill
Review
Audit score 70

yelp

fetcher-sh/fetcher-skills

Pay-per-call Yelp business search, details, and reviews via HTTP—no app approval or daily caps.

What is yelp?

A Yelp API alternative on fetcher.sh that lets you search local businesses by query and location, fetch full business details by ID or URL handle, and retrieve reviews. Use it when you need restaurant/service research, local business discovery, or competitor monitoring without Yelp Fusion's approval process or call limits.

  • Search businesses by query and location, sorted by rating or review count
  • Fetch a business's full details by ID or Yelp URL handle/slug
  • Retrieve paginated reviews for any business
  • Pay per call in USDC (x402) or with prepaid credits via Bearer key
  • No Yelp Fusion API app approval, no daily call caps, no API key request forms

How to install yelp

npx skills add https://github.com/fetcher-sh/fetcher-skills --skill yelp
Prerequisites
  • A fetcher.sh account with prepaid credits (get a key at https://fetcher.sh/topup) or x402 wallet setup for pay-per-call
  • Set FETCHER_API_KEY environment variable for prepaid mode, or omit header for x402 pay-per-call
Claude Code
Cursor
Windsurf
Cline

How to use yelp

  1. 1.Install the skill via npx skills add
  2. 2.Set FETCHER_API_KEY environment variable with your prepaid API key (or omit for x402 pay-per-call)
  3. 3.Call /api/search with query and location parameters, optionally specifying sortBy (recommended, rating, or reviewCount)
  4. 4.Fetch business details via /api/place/{id} or /api/place/handle/{handle}
  5. 5.Retrieve reviews via /api/place/{id}/reviews with optional pagination

Use cases

Good for
  • Find highest-rated restaurants in a city for a dining recommendation agent
  • Retrieve competitor business details and review counts for market research
  • Fetch customer reviews for sentiment analysis on a specific business
  • Search local services (plumbers, salons, etc.) sorted by rating
  • Monitor review counts and ratings for a chain of locations over time
Who it's for
  • AI agents performing local business research
  • Developers building restaurant or service discovery tools
  • Competitive intelligence and market research workflows
  • Review aggregation and sentiment analysis systems

yelp FAQ

What's the cost per call?

$0.003 per call, paid in USDC on Base, Polygon, Arbitrum, Monad, or Solana (x402) or deducted from prepaid credits.

Do I need Yelp Fusion API approval?

No. This is a third-party HTTP API alternative that requires no app approval, daily call caps, or API key request forms.

How do I authenticate?

Either set FETCHER_API_KEY environment variable with a prepaid Bearer token, or omit the header to pay per call with x402 (returns 402 with payment requirements on first call).

Can I sort results by rating or review count?

Yes. Use the sortBy parameter with values: recommended (default), rating (highest first), or reviewCount (most reviewed first).

What happens if my prepaid credits run out?

You'll receive a 402 response with topup_required message. Top up credits via POST /api/credits/topup or the fetcher skill.

Full instructions (SKILL.md)

Source of truth, from fetcher-sh/fetcher-skills.


name: yelp description: >- A Yelp API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no Yelp Fusion API app approval. Use when the user wants to search local businesses by query and location sorted by rating or review count, fetch a business's full details by ID or by its Yelp URL handle/slug, or fetch a business's reviews. Also covers local business discovery, restaurant/service research, review sentiment input, and competitor monitoring for local businesses without Yelp Fusion API's app-approval process and daily call caps. keywords:

  • yelp
  • yelp-api
  • yelp-api-alternative
  • local-business-data
  • restaurant-data
  • business-review-api
  • x402
  • ai-agent

Yelp API

Local business search, business details, and reviews as clean JSON — one plain HTTP GET per call, paid as you go. No Yelp Fusion API app approval, no daily call cap, no API key request form.

Base URL: https://yelp.fetcher.sh

Authentication

Two ways to pay, same data — full mechanics in the fetcher skill:

# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
#    or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://yelp.fetcher.sh/api/search?query=ramen&location=San+Francisco"

# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
#    with machine-readable payment requirements (USDC on Base, Polygon,
#    Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.

Every response is { "status": number, "message": string, "data": ... }; the HTTP status mirrors status.

Endpoints (4 — all GET, $0.003/call)

EndpointWhat it returns
/api/searchBusinesses matching a query and location
/api/place/{id}A business's full details by ID
/api/place/handle/{handle}A business's full details by its Yelp URL handle/slug
/api/place/{id}/reviewsA business's reviews

Required on search: query, location. Optional: sortBy (recommended, rating, reviewCount), page. Reviews support page.

Scenarios

Highest rated first:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=ramen" -G \
  --data-urlencode "location=San Francisco" \
  --data-urlencode "sortBy=rating" \
  "https://yelp.fetcher.sh/api/search"

Most reviewed first:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=tacos" -G \
  --data-urlencode "location=Austin, TX" \
  --data-urlencode "sortBy=reviewCount" \
  "https://yelp.fetcher.sh/api/search"

A business's details by ID, or by its Yelp URL handle/slug:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://yelp.fetcher.sh/api/place/gary-danko-san-francisco"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://yelp.fetcher.sh/api/place/handle/gary-danko-san-francisco"

A business's reviews, paginated:

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "page=2" -G \
  "https://yelp.fetcher.sh/api/place/gary-danko-san-francisco/reviews"

MCP

{
  "mcpServers": {
    "yelp": {
      "url": "https://yelp.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}

Free: search_endpoints, describe_endpoint, check_balance. Paid: fetch_data (any endpoint above), topup_credits, plus the named shortcut yelp_search. Drop the headers block to pay per call with x402 instead — see the fetcher skill for the full flow.

Errors

  • 400 — missing/invalid parameter (message names it)
  • 401 — unknown or rotated key
  • 402 — payment required (x402 challenge) or topup_required (credits exhausted)
  • 404 — not a priced path
  • No rate limits; no refunds on upstream failures (settlement precedes delivery)

Reference