Yelp Ad Placement & Business Listings Scraper avatar

Yelp Ad Placement & Business Listings Scraper

Pricing

from $2.40 / 1,000 record scrapeds

Go to Apify Store
Yelp Ad Placement & Business Listings Scraper

Yelp Ad Placement & Business Listings Scraper

Scrape Yelp search results by category and location. Captures organic business listings plus paid ad placements — campaign id, ad slot, placement, and showcase flag — alongside ratings, review counts, categories, and address details.

Pricing

from $2.40 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Scrape Yelp search results by category and location, and get back something no other Yelp scraper returns: which businesses are paying for ad placement. Returns business name, rating, reviews, categories, and contact fields for both organic and sponsored results — plus, for every sponsored card, the campaign ID, ad slot, placement type, and showcase flag behind it.

Yelp Ad Placement & Business Listings Scraper Features

  • Extracts organic AND sponsored ("isAd") result cards from any Yelp search query
  • Returns ad campaign ID, opportunity ID, placement type (e.g. vertical_0, carousel_0), paid slot position, and showcase-ad flag for every sponsored listing — the field family no incumbent Yelp scraper ships
  • Tracks organic rank independently of paid rank, so you can measure how much of page one is actually for sale in a given category and metro
  • Runs any combination of search categories and locations in one job, not one query at a time
  • Paginates automatically up to a per-query page limit you set
  • Includes ratings, review counts, categories, service-area text, response time, and photo thumbnails alongside the ad data

What Can You Do With Yelp Ad Intelligence Data?

  • Ad agencies — benchmark a client's Yelp Ads spend and slot position against competitors in the same category and city
  • Competing ad platforms — quantify how much of a market's local search real estate Yelp Ads controls, category by category
  • Local businesses — see who's outbidding you for your own category before you call Yelp's sales team
  • Sales teams selling into local business — a business paying for Yelp Ads is a demonstrated marketing spender with an active budget, which makes for a better prospect list than an undifferentiated directory dump
  • Market researchers — track paid-vs-organic share of page one over time, by category and metro

How Yelp Ad Placement & Business Listings Scraper Works

  1. Give it one or more search categories (plumbers, italian restaurants) and one or more locations (Austin, TX).
  2. It runs every category against every location and pages through the results up to your configured page limit.
  3. Each result card is classified organic or ad. Ad cards carry the full campaign/placement/slot metadata; every card carries name, rating, reviews, categories, and the rest of the listing fields.
  4. Records land in your dataset as they're found — no need to wait for the whole run to finish before you can start reading.

Input

{
"categories": ["plumbers"],
"locations": ["Austin, TX"],
"maxPagesPerQuery": 2,
"maxItems": 50
}
FieldTypeDefaultDescription
categoriesarray of strings— (required)One or more Yelp search terms, e.g. "plumbers", "italian restaurants". Every category is crawled against every location.
locationsarray of strings— (required)One or more locations in "City, ST" form (or a locality name for non-US Yelp markets), e.g. "Austin, TX".
maxPagesPerQueryinteger3Maximum result pages (10 businesses/page) fetched per category+location combination.
maxItemsinteger50Maximum number of business records saved across all queries.

Yelp Ad Placement & Business Listings Scraper Output Fields

{
"biz_id": "dzm1bLeRUuD_BnPr7xeNXg",
"alias": "avai-contractor-del-valle",
"biz_url": "https://www.yelp.com/biz/avai-contractor-del-valle",
"name": "AVAI Contractor",
"is_ad": true,
"ad_campaign_id": "x4UWNWA9qmmHo2ZvHW4s8A",
"ad_opportunity_id": "bf584e7b8053a6f9",
"ad_placement": "vertical_0",
"ad_slot": 0,
"ad_placement_slot": 0,
"ad_is_showcase": false,
"ad_themed_name": null,
"organic_rank": null,
"rating": 5,
"review_count": 1,
"categories": ["Excavation Services", "Plumbing", "Septic Services"],
"price_range": null,
"phone": null,
"formatted_address": "5037 Lexington Meadow Ln",
"neighborhoods": [],
"service_area": [],
"website": null,
"response_time": "1 day",
"photo_urls": ["https://s3-media0.fl.yelpcdn.com/bphoto/R7lwqPJcFNlrmf8-vZvYkQ/ls.jpg"],
"search_category": "plumbers",
"search_location": "Austin, TX",
"search_page": 1,
"scraped_at": "2026-08-10T05:41:28.284Z"
}
FieldTypeDescription
biz_idstringYelp's internal business ID — the stable primary key
aliasstringThe business's public URL slug
biz_urlstringCanonical yelp.com/biz/ URL
namestringBusiness name
is_adbooleanTrue for a paid Yelp Ads placement, false for an organic result
ad_campaign_idstringThe Yelp Ads campaign behind this placement (ads only)
ad_opportunity_idstringThe ad auction/opportunity ID tied to this search request (ads only)
ad_placementstringAd slot type, e.g. vertical_0, carousel_0 (ads only)
ad_slotintegerPaid rank position within the placement (ads only)
ad_placement_slotintegerSub-slot position within the placement (ads only)
ad_is_showcasebooleanTrue for Yelp's premium showcase ad format (ads only)
ad_themed_namestringThemed ad campaign name, when set (ads only, often null)
organic_rankinteger1-based rank among organic results only — independent of ad_slot
ratingnumberStar rating (0-5), when shown on the listing
review_countintegerNumber of reviews, when shown on the listing
categoriesarray of stringsCategory labels shown on the card
price_rangestringYelp price symbol ($-$$$$), when present
phonestringPhone number, when present in the listing (ad listings mostly)
formatted_addressstringStreet address, when present in the listing (ad listings mostly)
neighborhoodsarray of stringsNeighborhood names, when present
service_areaarray of stringsService-area description, for businesses with no public storefront
websitestringBusiness website, when present (rarely surfaced by Yelp search)
response_timestringYelp's displayed typical quote-response time, e.g. "5 hrs"
photo_urlsarray of stringsThumbnail photo URLs from the listing card
search_categorystringThe input category this record was found under
search_locationstringThe input location this record was found under
search_pageinteger1-based result-page number
scraped_atstringISO-8601 scrape timestamp

Resuming a large crawl

Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

  • You are not re-charged for records the earlier run already delivered.
  • Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its resumeCursor is no longer valid.
  • resumeCursor is opaque — supply it unmodified.

FAQ

How do I scrape Yelp ad placements?

Give Yelp Ad Placement & Business Listings Scraper a category and a location and run it. Every result card comes back tagged is_ad: true or false, and every ad card carries its campaign ID and paid slot position — no separate ad-library lookup required.

What data can I get from Yelp search results?

Business name, rating, review count, categories, address, price range, and photos for organic and sponsored results alike — plus campaign ID, ad slot, placement type, and showcase status for anything Yelp is running as an ad.

Can I run multiple categories and cities in one job?

Yes. categories and locations both accept arrays, and every category is crawled against every location in the same run.

Do I need a Yelp account or API key?

No. Point it at a category and a location and it returns results — no login, no API key.

How much does this cost to run?

Priced per business record returned, plus a per-run start fee. Check the Pricing tab on this actor's page for current rates.

Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use Yelp Ad Placement & Business Listings Scraper?

  • Sees what other Yelp scrapers don't — campaign ID, ad slot, and showcase status for every sponsored card, not just name and rating
  • One job, many queries — feed it a list of categories and a list of cities and it covers every combination, so you're not scripting a loop around a single-query scraper
  • Built for both sides of the trade — organic and paid rank land in the same row, so agencies, competitors, and the businesses themselves can all read the same dataset