Yellow Pages AU $1๐Ÿ’ฐ URL | Keywords | Reviews Scraper avatar

Yellow Pages AU $1๐Ÿ’ฐ URL | Keywords | Reviews Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Yellow Pages AU $1๐Ÿ’ฐ URL | Keywords | Reviews Scraper

Yellow Pages AU $1๐Ÿ’ฐ URL | Keywords | Reviews Scraper

From $1/1K. Scrape business listings from Yellow Pages Australia by type and location. Get names, contacts, websites, ratings, social links, and more. Supports filters, sorting, and custom output fields. Perfect for lead gen, local SEO, and market research.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

6

Bookmarked

133

Total users

9

Monthly active users

5 days ago

Last modified

Share

Yellow Pages Australia Scraper: Business Listings, Contacts & Reviews

Yellow Pages Australia Scraper turns Yellow Pages into a clean business data feed. Search by business type and location, or paste a search URL you already refined in a browser, and pull business name, phone, address, website, category, rating, opening hours, slogan and 25+ fields per listing. Turn on detail enrichment for reviews, aggregate rating and extra contact details, then export to JSON, CSV or Excel, or read it straight through the API.

Why This Scraper?

  • Two ways to search. Search by business type and location, or paste a Yellow Pages search URL already refined in a browser for complex or filtered queries.
  • Rich results with no extra fetch. The default search already returns name, address, phone, website, category, rating, opening hours and slogan, no detail-page visit needed.
  • Optional detail enrichment. Turn on Fetch details to add reviews, aggregate rating, extra phone numbers, ABN, accepted payment methods and detail images.
  • Structured data, not just the card. JSON-LD fields (structured address, coordinates, schema.org opening hours) are extracted alongside the visible listing card.
  • Automatic pagination. Pages through results until your limit is reached, continuing from whatever page a pasted URL points to.
  • Built for schedules. Incremental mode returns only new and changed businesses on recurring runs, so monitoring the same search costs less over time.

Use Cases

  • Local lead generation: collect business name, phone and address by category and suburb for outreach or CRM enrichment (plus email with Fetch details on).
  • Directory and aggregator sites: feed business listings with contact details and ratings into your own site or app.
  • Market research: track how many businesses of a given type operate in a city or region, and how their ratings and reviews change over time.
  • Reputation monitoring: watch a business or a competitor's rating, review count and claimed status on a schedule.
  • Sales prospecting: find businesses without a claimed listing or with sparse online presence as outreach targets.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
listingId / detailsPageUrl"00000001" / Yellow Pages detail page URL
name"Sample Business Pty Ltd"
address / addressDetails"1 Example Street, Melbourne, VIC 3000" / structured street, locality, region, postcode (from JSON-LD, when present)
phone / extraPhones"(00) 0000 0000" / additional numbers (when fetchDetails is on)
email"contact@example.com" (only with fetchDetails on, when the detail page lists one)
website"https://www.example.com"
primaryCategoryName / categoryText"Electrical Contractors" / all listed categories, comma-joined
logoUrllisting logo or thumbnail image URL
openingHoursToday / openingHoursDetails / openingHoursStructured"OPEN until 5:30 pm" / day-by-day hours text / schema.org hours from JSON-LD, when present
rating / reviewCount"4.5" / 12
longDescription / sloganbusiness description text / business tagline
isAd / hasPhotos / features / listingType / claimedStatussponsored flag / has real photos / analytics tags / "free" / "unclaimed" (when available)
yearsInBusiness / yearsWithYellowPages"10 Years" / "5 Years" (when shown)
servingArea"Serving Melbourne, VIC" (when present)
latitude / longitudesearch location center point from JSON-LD
scrapedFromPagewhich search-result page this listing was found on in this run
reviews / reviewsCount / aggregateRating / aggregateReviewCountdetail-page reviews and rating totals (when fetchDetails is on)
detailImagesdetail-page images (when fetchDetails is on)
abn / paymentMethodsAustralian Business Number and accepted payment methods (when fetchDetails is on, and shown)
acn / staff / ownership / serviceNotes / freeEstimates / otherLinks (array of URLs) / generalInfo / keywords (directory category and locality keywords)business facts from the detail page (when fetchDetails is on, and shown)
badges / highlights / faqsaccreditation badges, highlight bullets and FAQ question/answer pairs (when fetchDetails is on, and shown)
enrichedwhether detail-page enrichment succeeded for this record (when fetchDetails is on)
changeType / changedFields"UPDATED" / ["phone", "rating"] (incremental mode only)
firstSeenAt / lastSeenAtISO timestamps against the tracked state (incremental mode only)

How to Use

  1. Pick a search mode: keyword (business type + location) or url (paste a search URL already refined in a browser).
  2. In keyword mode, set the business type and location. In URL mode, paste search result URLs; the keyword fields are ignored.
  3. Turn on Fetch details if you need reviews, aggregate rating or extra contact fields, and set Result limit to control run size and cost.
  4. Click Start, then download the dataset as JSON, CSV or Excel, or read it through the API.

Search by business type and location:

{
"mode": "keyword",
"businessType": "plumber",
"location": "Sydney, NSW",
"limit": 30
}

Paste a search URL:

{
"mode": "url",
"urls": ["https://www.yellowpages.com.au/search?search_terms=electrician&geo_location_terms=Melbourne"],
"limit": 50
}

Full detail with reviews and ABN, for a smaller batch:

{
"mode": "keyword",
"businessType": "dentist",
"location": "Brisbane, QLD",
"fetchDetails": true,
"limit": 20
}

Monitor a category on a schedule:

{
"mode": "keyword",
"businessType": "restaurant",
"location": "Perth, WA",
"incrementalMode": true,
"limit": 100
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/yellow-pages-au-scraper").call(run_input={
"mode": "keyword",
"businessType": "plumber",
"location": "Sydney, NSW",
})
for business in client.dataset(run["defaultDatasetId"]).iterate_items():
print(business["name"], business["phone"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/yellow-pages-au-scraper').call({
mode: 'keyword',
businessType: 'plumber',
location: 'Sydney, NSW',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

Resume and recurring updates

  • Resume (resumeFromRunId) continues one interrupted run: paste its run or dataset ID and the actor skips everything already collected there, so you don't pay twice.
  • Incremental mode (incrementalMode) is for scheduled runs over the same search. Each business is classified NEW, UPDATED (with changedFields), UNCHANGED (suppressed and not billed unless emitUnchanged is on), REAPPEARED or EXPIRED (only after a run that scanned the whole search, and only with emitExpired). stateKey names or shares the stored state. A business is UPDATED when any returned field changes (name, phone, address, categories, rating, reviews, images, claimed status and so on). Never compared: scrapedFromPage, the rotating image-server number in photo links and the numbered placeholder icon. If a detail fetch fails on a re-run, the last known detail data is carried forward so it is not reported as a change. ignoreFieldsForChanges lists extra fields to leave out of the comparison and out of changedFields (they stay in the output); use a dotted path such as addressDetails.postcode or reviews.date for nested fields. Changing the list never causes a one-off wave of UPDATED rows. With incremental mode off, output is exactly as before.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each business, not the full JSON. Each item becomes one entry with a title (the business name) and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify โ†’ Settings โ†’ Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringkeywordkeyword (business type + location) or url (paste search URLs).
businessTypestringelectricianType of business to search for. Keyword mode only.
locationstringMelbourne, VICLocation to search in. Keyword mode only.
urlsarraytwo example search URLs (plumber, Sydney; electrician, Melbourne, legacy listings form)Yellow Pages search URLs. URL mode only; the keyword fields above are ignored.
limitinteger20Maximum number of businesses to scrape (capped at 100,000 per run). In URL mode this caps the total across all URLs.
pageNumberinteger1Keyword mode: page to start scraping from. Ignored in URL mode, where the start page comes from the URL.
fetchDetailsbooleanfalseVisit each business's detail page for reviews, aggregate rating and detail images. Billed per enriched listing.
resumeFromRunIdstring(none)Continue one interrupted run.
incrementalModebooleanfalseReturn only new and changed businesses on recurring runs.
stateKeystring(none)Name or share an incremental-mode monitoring campaign.
emitUnchangedbooleanfalseAlso return (and bill) unchanged businesses.
emitExpiredbooleanfalseAlso return (and bill) expired businesses.
ignoreFieldsForChangesarray(none)Fields to leave out of change detection (incremental mode only); dotted paths reach nested fields.
proxyobjectResidential, AUConnection settings. A residential proxy is required for reliable results.
mcpConnectorsarray(none)Optional: send a summary of each business to apps you authorized under Integrations.
notionParentPageUrlstring(none)Notion connector only: page under which business pages are created.
maxNotifyListingsinteger50Cap on items written to each connector per run.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"listingId": "00000001",
"name": "Sample Business Pty Ltd",
"address": "1 Example Street, Melbourne, VIC 3000",
"phone": "(00) 0000 0000",
"email": "N/A",
"website": "https://www.example.com",
"primaryCategoryName": "Electrical Contractors",
"categoryText": "Electrical Contractors, Electric Contractors-Commercial & Industrial",
"detailsPageUrl": "https://www.yellowpages.com.au/melbourne-vic/bpp/sample-business-00000001",
"logoUrl": "https://i2.ypcdn.com/ypau/images/default-thumbnail.jpg",
"openingHoursToday": "OPEN until 5:30 pm",
"openingHoursStructured": ["Mo-Fr 08:00-18:00", "Sa 09:00-16:00"],
"rating": "4.5",
"reviewCount": 12,
"slogan": "Sample slogan",
"isAd": false,
"hasPhotos": true,
"yearsInBusiness": "10 Years",
"servingArea": "Serving Melbourne, VIC",
"claimedStatus": "unclaimed",
"latitude": -37.0,
"longitude": 144.0,
"scrapedFromPage": 1
}

Plan Requirement

The site blocks plain requests: every connection type tried without special handling (a direct connection, the Apify datacenter proxy and the Apify Australian residential proxy) received the site's "Attention Required!" block page. Datacenter connections therefore do not work on their own. The actor handles this itself, but it needs a working Australian residential connection, which is the default proxy setting (Residential, Australia). Apify free plans do not include residential proxies; on a free plan the actor tries a backup connection and logs this notice:

The selected connection is unavailable to this run. Apify free plans do not include residential proxies. Continuing on a backup connection; some pages may still be unavailable. For residential access, upgrade at https://apify.com/pricing or supply your own proxy URLs.

When the backup connection serves pages, the log says: "Served over the backup connection (the default connection was unavailable)."

If no page can be loaded the run fails with one of these messages, so an outage is never mistaken for an empty search:

  • Proxy refused for the account: "The proxy connection was refused for this account, so no page could be read. Your Apify plan does not include proxy access; a paid plan is required: https://apify.com/pricing. If you entered your own proxy URLs, check that their credentials are valid."
  • Free plan, backup also failed: "No results: residential proxies are unavailable on this run (Apify free plans do not include them), and the backup connection could not load the requested Yellow Pages pages. Upgrade at https://apify.com/pricing or supply your own proxy URLs, then try again."
  • No proxy configured: "No proxy is configured, so no page could be read. This actor needs a proxy: turn on Apify Proxy or enter your own proxy URLs in the Proxy section, then try again."
  • Any other connection failure: "Could not load any results page (the requests failed), so nothing was collected. This is a connection problem, not an empty search. Please try again later."

FAQ

How much does it cost?

Pay-per-event: a run start event and one result event per business returned, plus one enrich event per listing returned with Fetch details switched on (unit: one enriched listing; charged when the listing is delivered). Incremental UNCHANGED businesses that are suppressed are not charged. The Pricing tab shows the current rates. Use Result limit to cap the cost of any run.

This actor collects only publicly available business listing data. You are responsible for how you use it: follow Yellow Pages Australia's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Business facts are generally public, but logos and photos may be subject to third-party rights.

Can I get only new or changed businesses on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared businesses, and unchanged ones are not billed unless you turn on emitUnchanged.

Which URL shapes does URL mode accept?

ShapeExampleHandling
Search resultshttps://www.yellowpages.com.au/search?search_terms=plumber&geo_location_terms=SydneyScraped; pagination continues from ?page=N.
Older search formhttps://www.yellowpages.com.au/search/listings?clue=electrician&locationClue=Melbourne%2C+VICConverted to the search form above, then scraped.
Business detail page (...-listing.html)Not scraped; a warning is logged. Search for the business name instead.
Category or locality pageAttempted as-is; a warning is logged because it may return 0 businesses.

Behaviour change: the urls field now has a non-empty default (two example searches: plumber / Sydney and electrician / Melbourne). Running URL mode with the field untouched scrapes those two example searches instead of failing with "no URLs". Callers who omit mode still get keyword mode: the exact default two-URL list never switches the mode by itself, while any other urls list you supply (including a single plumber / Sydney URL) or the legacy searchUrl still implies URL mode.

Why does URL mode ignore my business type and location?

URL mode takes the search already baked into the pasted URL, so the business type and location fields are ignored to avoid conflicting instructions. Refine your search in a browser first, then paste the resulting URL.

Why did my run return zero businesses?

A search that genuinely has no matches finishes normally with an empty dataset. If no results page could be loaded at all, the run fails with a message explaining why (see Plan Requirement) instead of finishing empty. Re-run in a few minutes, or check that your proxy is set to Residential, Australia.

Which output views are available?

The dataset has Overview, Contacts, Business Details, Map Data, Reviews (one row per business with its reviews array) and Changes (incremental changeType / changedFields) views. The search itself has no filter or sort options beyond what you put in the pasted search URL.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

๐Ÿ”— Want more Yellow data?

Pair this actor with these related scrapers from the same team:

๐Ÿ“‡ Yellow Pages NZ
From $0.8/1K. Scrapes business listings from Yellow.co.nz (New Zealand Yellow Pages)...
๐Ÿ“‡ PagesJaunes FR
From $0.8/1K. Scrapes business listings from PagesJaunes.fr (French Yellow Pages)...
๐Ÿ“‡ Herold.at Scraper
From $0.80/1K. Scrape Herold.at business listings across Austria into clean JSON. Extract...
๐Ÿ“‡ Local.ch
From $1/1K. Pull structured company data from local.ch, including name, address, GPS...
๐Ÿ“‡ HiPages Scraper
Scrape business listings from HiPages Australia by category, location, or URL. Extract...
๐Ÿ“‡ BBB Scraper
Scrape bbb.org (Better Business Bureau, USA & Canada) business profiles: BBB rating...

๐Ÿ‘‰ Browse all abotapi scrapers

๐Ÿ’ฌ Support

  • ๐Ÿž Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • ๐Ÿ› ๏ธ Need another site, extra fields or a private build? Email contact@abotapi.com.
  • โญ Enjoying it? A quick review on the actor page helps other users find it.