Yellow Pages Australia Business Leads Scraper avatar

Yellow Pages Australia Business Leads Scraper

Pricing

from $17.00 / 1,000 results

Go to Apify Store
Yellow Pages Australia Business Leads Scraper

Yellow Pages Australia Business Leads Scraper

Scrape Australian business directory leads with company name, phone number, full street address (suburb, state, postcode), category, website and email. Search by keyword and location across Australia. Export to JSON, CSV or Excel.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

7 days ago

Last modified

Share

Yellow Pages Australia Business Leads Scraper

Yellow Pages Australia Business Leads Scraper

Here is one real result, with every field the actor returns when withDetails is on:

{
"name": "Hire Trades",
"phone": "1300 127 205",
"email": "support11@hiretradies.com.au",
"website": "https://www.hiretradies.com.au/category/plumber",
"category": "Plumbers & Gasfitters",
"categories": ["Plumbers & Gasfitters"],
"street": "Se 6 Level 9 50 Clarence Street",
"suburb": "Sydney",
"state": "NSW",
"postcode": "2000",
"addressFull": "Se 6 Level 9 50 Clarence Street, Sydney NSW 2000",
"latitude": -33.86591,
"longitude": 151.20515,
"rating": null,
"reviewCount": null,
"description": null,
"extraPhone": "1300 120 643",
"searchQuery": "plumber",
"searchLocation": "Sydney NSW",
"url": "https://www.yellowpages.com.au/sydney-nsw/bpp/hire-trades-581088732",
"source": "YellowPages.com.au",
"observedAt": "2026-08-10T14:32:25.697Z",
"error": null
}

The most complete Yellow Pages Australia scraper available. It returns every field a Yellow Pages Australia listing and profile expose - business name, phone and extra phone, email, website, category, structured address with suburb/state/postcode, geo coordinates, rating and review count - and runs every keyword against every location you pass, with an optional contact-enrichment add-on.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Yellow Pages Australia for each keyword against each location you pass, paginates through the results, and writes one normalized record per business to the run's dataset. When withDetails is on, each business is enriched from its profile page with website, email, geo coordinates and rating.

Addresses are split into street, suburb, state and postcode plus a combined addressFull, and the query and location that produced each record are carried on the row. Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It returns plumbers in Sydney with detail enrichment.

{
"searchQueries": ["plumber"],
"locations": ["Sydney NSW"],
"maxBusinesses": 10,
"withDetails": true
}

Pass several searchQueries and locations to cover many keyword/location combinations in one run. Leave locations empty to search nationwide.

Input reference

FieldTypeRequiredDefaultDescription
searchQueriesstring[]no["plumber"]Business keywords or categories, for example plumber, restaurant, dentist. Each query runs against every location.
locationsstring[]no["Sydney NSW"]Australian locations, for example Sydney NSW, Melbourne VIC, Perth WA. Leave empty to search nationwide.
maxBusinessesintegerno10Maximum businesses to collect across the whole run. Free Apify plans are capped at 10 per run.
withDetailsbooleannotrueWhen on, each business is enriched with website, email, geo coordinates and rating from its profile page. Off returns core fields only (faster).
enrichContactsbooleannofalsePaid add-on. For each result without an email, attempt to find a public business email and contact person. Billed per attempt, plus an extra charge only when an email is found.
enrichContactsMaxintegerno50Cap how many results the add-on tries to enrich. Free Apify accounts are capped at 3.

Output reference

One dataset item per business. Types: string, number, integer, string[], or null when the source value is absent.

FieldTypeDescription
namestringBusiness name.
phonestringPrimary phone number.
emailstringBusiness email (detail only), or null.
websitestringBusiness website (detail only), or null.
categorystringPrimary category, for example Plumbers & Gasfitters.
categoriesstring[]All listed categories.
streetstringStreet line of the address.
suburbstringSuburb.
statestringState code, for example NSW, VIC.
postcodestringPostcode.
addressFullstringCombined single-line address.
latitudenumberLatitude (detail only), or null.
longitudenumberLongitude (detail only), or null.
ratingnumberAverage rating (detail only), or null.
reviewCountintegerNumber of reviews (detail only), or null.
descriptionstringBusiness description when published, else null.
extraPhonestringAdditional phone number, or null.
searchQuerystringThe keyword that produced this record.
searchLocationstringThe location that produced this record.
urlstringYellow Pages profile URL.
sourcestringAlways YellowPages.com.au.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

When enrichContacts is on, records also carry enrichedEmail, enrichedContactName, enrichedJobTitle, enrichedEmailStatus, enrichedSource and enrichedConfidence.

Example output record

Real record from a live run (input {"searchQueries":["plumber"],"locations":["Sydney NSW"]}):

{
"name": "Plumbing Heroes",
"phone": "(02) 8091 9943",
"email": "marketing@mrswitch.com.au",
"website": null,
"category": "Plumbers & Gasfitters",
"categories": ["Plumbers & Gasfitters"],
"street": "Unit 3 69-75 King Street",
"suburb": "Sydney",
"state": "NSW",
"postcode": "2000",
"addressFull": "Unit 3 69-75 King Street, Sydney NSW 2000",
"latitude": -33.86888,
"longitude": 151.20638,
"rating": null,
"reviewCount": null,
"description": null,
"extraPhone": null,
"searchQuery": "plumber",
"searchLocation": "Sydney NSW",
"url": "https://www.yellowpages.com.au/sydney-nsw/bpp/plumbing-heroes-580973961",
"source": "YellowPages.com.au",
"observedAt": "2026-08-10T14:32:25.696Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~yellowpages-australia-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["dentist","electrician"],"locations":["Melbourne VIC"],"maxBusinesses":50,"withDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~yellowpages-australia-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["restaurant"],"locations":["Brisbane QLD","Perth WA"],"maxBusinesses":200}'

Apify CLI:

apify call scrapers_lat/yellowpages-australia-scraper \
--input '{"searchQueries":["accountant"],"locations":["Sydney NSW"],"enrichContacts":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per business record returned (result event). When withDetails is on and a profile page is fetched successfully, an additive details event is also charged. See the pricing tab for current prices.
  • Contact enrichment add-on. When enrichContacts is on, two extra events apply: contact-search-attempt (once per row attempted) and contact-email-found (only when a public email is found). Off by default.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run, and enrichment is capped at 3 attempts. Upgrade for higher maxBusinesses.

FAQ and troubleshooting

A run returned "No businesses found". Why? The keyword/location pair returned no listings, or the source was temporarily unreachable. Try a broader keyword, a different location, or re-run. Zero-result runs are not charged.

How do I get emails and websites? Keep withDetails on. Email, website, geo coordinates and rating come from each business's profile page. Turn on enrichContacts to also search for a public email on rows that still lack one.

Can I search several keywords and cities at once? Yes. Every entry in searchQueries runs against every entry in locations. The searchQuery and searchLocation fields on each record tell you which pair produced it.

Why are rating and latitude null on some rows? Not every profile publishes a rating or coordinates, and those fields are only populated when withDetails is on. Missing values are returned as null, never invented.

Is this an official Yellow Pages tool? No. This actor is independent and has no affiliation with Yellow Pages Australia. It reads only data that is publicly available on the site.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Yellow Pages Australia. Accesses only publicly available data.