yellowpages.com.au APIyellowpages.com.au ↗
Search and retrieve Australian business listings from yellowpages.com.au. Get contact details, addresses, emails, opening hours, and categories via 2 endpoints.
curl -X GET 'https://api.parse.bot/scraper/1023d981-309a-4218-98cc-60b327124263/search_listings?clue=Restaurants&page=1&location=Sydney+NSW&max_pages=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for business listings on Yellow Pages Australia by category and location. Returns up to 30 listings per page with name, address, phone, website, category, and a details URL for fetching full business information. Supports multi-page fetching.
| Param | Type | Description |
|---|---|---|
| cluerequired | string | Business category or name to search for (e.g. 'Restaurants', 'Dentists', 'Plumbers'). Used as a URL slug so multi-word terms are hyphenated internally. |
| page | integer | Starting page number (1-based). |
| location | string | Location to search within, formatted as 'City STATE' (e.g. 'Sydney NSW', 'Melbourne VIC', 'Brisbane QLD'). Omitting searches all of Australia. |
| max_pages | integer | Number of pages to fetch starting from page. Each page returns up to 30 listings. |
{
"type": "object",
"fields": {
"count": "integer total number of listings returned in this response",
"listings": "array of listing objects with name, address, phone, website, details_url, and category",
"start_page": "integer the starting page number",
"pages_scraped": "integer number of pages actually fetched",
"total_available": "integer total number of listings available for this search, or null if unavailable"
},
"sample": {
"data": {
"count": 30,
"listings": [
{
"name": "Mother Chu's Vegetarian Kitchen",
"phone": "+1 (555) 012-3456",
"address": "367 Pitt Street, Sydney, NSW 2000",
"website": "https://www.motherchusvegetarian.com.au",
"category": "Restaurants",
"details_url": "https://www.yellowpages.com.au/sydney-nsw/bpp/mother-chus-vegetarian-kitchen-579735703?lid=1002194714742"
}
],
"start_page": 1,
"pages_scraped": 1,
"total_available": 2983
},
"status": "success"
}
}About the yellowpages.com.au API
The Yellow Pages Australia API exposes business directory data from yellowpages.com.au across 2 endpoints. Use search_listings to query businesses by category and location — returning up to 30 listings per page with name, phone, address, website, and category — then pass any details_url to get_business_details to retrieve structured fields including email, opening hours, suburb, postcode, and state.
Endpoints and What They Return
The search_listings endpoint accepts a clue parameter (a business category or name slug such as Plumbers or Restaurants), an optional location string in City STATE format (e.g. Sydney NSW), and pagination controls via page and max_pages. Each page returns up to 30 listing objects containing name, address, phone, website, category, and a details_url. The response also includes total_available, which indicates how many listings exist for the query, and pages_scraped to confirm how many pages were actually fetched.
Business Detail Fields
The get_business_details endpoint takes a url — typically the details_url value from a search_listings result — and returns a richer record. Fields include name, phone, email (or null if not listed), website, address, suburb, state, postcode, category, and opening_hours. Opening hours are returned as an array of strings in schema.org format, or null when the business has not published hours.
Coverage and Pagination
The API covers Australian business listings across all states and territories indexed on yellowpages.com.au. Multi-page retrieval is handled by setting max_pages alongside a starting page number, making bulk collection straightforward. The total_available field lets callers estimate the full result set size before deciding how many pages to fetch. Location filtering is optional — omitting it returns national results for the given category.
- Build a lead list of plumbers or electricians in a specific Australian city using the
clueandlocationparams. - Verify or enrich a business database by checking current phone numbers and addresses against yellowpages.com.au records.
- Collect email addresses for local businesses in a given category using
get_business_details. - Audit trading hours for businesses in a suburb by extracting
opening_hoursfrom detail records. - Compile a map dataset of businesses with
suburb,postcode, andstatefields for geographic analysis. - Discover all businesses listed under a niche category (e.g. 'Naturopaths') nationally by omitting the location filter.
- Cross-reference business website URLs across a category to identify which operators maintain an online presence.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Yellow Pages Australia have an official developer API?+
What does `get_business_details` return that `search_listings` does not?+
search_listings returns a summary record per business: name, address, phone, website, category, and a details URL. get_business_details adds email, structured address components (suburb, state, postcode as separate fields), and opening_hours as a schema.org-formatted array. It is designed to be called after search_listings using the details_url from each result.Does `search_listings` always return a `total_available` count?+
total_available is returned as an integer when Yellow Pages exposes a total result count for that query, but it can be null for some category and location combinations. pages_scraped and count are always present and reflect what was actually fetched.Does the API return customer reviews or ratings for businesses?+
Is there a way to search by postcode rather than city and state?+
location parameter accepts a City STATE format (e.g. Brisbane QLD). Postcode-based location filtering is not a supported input format in the current API. You can fork this API on Parse and revise the location parameter handling to accept postcode inputs if needed.