Yellow Pages NZ icon

Yellow Pages NZ

From $0.8/1K. Scrapes business listings from Yellow.co.nz (New Zealand Yellow Pages). Extract comprehensive business information, including contact…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Yellow Pages NZ at a glance

Yellow Pages NZ is a ready-to-run Apify actor from abotapi for collecting lead generation data. Its documented output includes business name, change type (incremental mode), phone, address and categories, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.20 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Lead Generation, Automation, Developer Tools
Region
Oceania
Pricing
$1.20 per 1,000 results (Free plan), from $0.80 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
22 options

From $0.8/1K. Scrapes business listings from Yellow.co.nz (New Zealand Yellow Pages). Extract comprehensive business information, including contact details, emails, ratings, reviews, opening hours, and geo coordinates.

What Yellow Pages NZ $0.8💰 Scraper can do

  • Full contact data from every listing. Phone, email, full postal address, latitude and longitude, and opening hours, pulled straight from each business's detail page.
  • Search by any trade and any NZ location. Enter a keyword and a place name, no need to browse categories by hand.
  • Automatic pagination. Walks every search result page for you, with independent caps on pages and total listings so you control run size and cost.
  • Deep enrichment on demand. Turn on detail page scraping for reviews, star ratings, year established, trade associations, services and payment methods, or leave it off for a fast, contact only pass.
  • Built for schedules. Incremental mode returns only new and changed listings on recurring runs, and a genuinely blocked first page fails the run loudly instead of quietly returning an empty dataset.
  • Resume support. Continue an interrupted run from its run or dataset ID without re-collecting, and re-paying for, listings already gathered.

Choose what to collect

These inputs let you configure Yellow Pages NZ $0.8💰 Scraper. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
searchTermsstring · requiredBusiness type or keyword to search for (e.g., 'Plumbers', 'Electricians', 'Restaurants')
locationstring · requiredLocation to search in (e.g., 'New Zealand', 'Auckland', 'Wellington', 'Christchurch')
startUrlsarrayOptional. Paste yellow.co.nz links instead of typing a search: a search link (https://yellow.co.nz/search?search_terms=Plumbers&geo_location_terms=Auckland), a browse link (https://yellow.co.nz/auckland/plumbers), or one business page (https://yellow.co.nz/auckland/bpp/onehunga-plumbers-579426046). Every other kind of link is skipped with a warning in the log. When you fill this in, Search Terms and Location are ignored. The form ships with one example of each link type; leave it untouched (and Search Terms / Location unchanged) and the run scrapes those three examples. To search by keyword and place instead, change Search Terms or Location, or clear this list.
searchQueriesarrayOptional. Several keywords in one run (e.g. plumber, electrician). Combined with Locations below; each keyword and place pair is searched once and duplicates are removed. Empty = use Search Terms. Ignored when Start URLs is customised.
locationsarrayOptional. Several New Zealand places in one run (e.g. Auckland, Wellington). Empty = use Location above (New Zealand is nationwide).
minRatingnumberOptional. Keep only businesses rated at least this (1-5). Unrated businesses are dropped when set. Leave empty for no rating filter.
hasEmailbooleanKeep only businesses whose page shows an email. Needs Scrape Detail Pages.
Show 15 more inputs
More input fields
InputWhat it controls
hasWebsitebooleanKeep only businesses that list a website.
maxListingsintegerHard cap on total business listings returned. 0 means no cap (bounded by Maximum Pages / result count instead).
maxPagesintegerOptional bound on how many search result pages to walk (30 results per page). Leave empty to walk every result page; the run size is controlled by Max Listings, which this field defers to.
maxConcurrencyintegerMaximum concurrent detail page requests. Lower values are safer against rate limiting.
scrapeDetailsbooleanFetch each business's detail page for rich data: email, full address, geo coordinates, opening hours, reviews, year established. Slower but much more comprehensive.
maxReviewsintegerMaximum number of customer reviews kept on each business (needs Scrape Detail Pages). 0 returns no reviews.
resumeFromRunIdstringOptional: paste a previous run ID (or dataset ID) from this actor. Listings already collected there are skipped, so this run only returns new ones. Leave empty for a normal run. For recurring daily monitoring of the same search, use Incremental mode below instead.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns all matching listings as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED listings. Turn on "Emit unchanged" or "Emit expired" only when you also want those listings returned (and billed). State is kept separately for each search term/location/detail-mode setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from run ID above.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the search term/location/detail settings, different searches then never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max Listings/Max Pages capped it, or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayField names that must NOT count as a change in incremental mode, e.g. imageUrl. Use dots for nested fields (reviews.date). The fields stay in the output; they are only left out of change detection and changedFields. Changing this list never causes a one-time wave of UPDATED rows.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

nameBusiness Name (text)
changeTypeChange type (incremental mode) (text)
phonePhone (text)
addressAddress (text)
categoriesCategories (text)
ratingRating (number)
reviewCountReviews (number)
websiteWebsite (link)
detailUrlYellow Page (link)
changedFieldsChanged fields (incremental mode) (array)
firstSeenAtFirst seen (incremental mode) (date)
lastSeenAtLast seen (incremental mode) (date)
Show 14 more fields
emailEmail (text)
allEmailsAll emails (array)
fullAddressAddress (parts) (object)
addressTextAddress text (text)
suburbSuburb (text)
latitudeLatitude (number)
longitudeLongitude (number)
openStatusOpen status (text)
openingHoursOpening hours (array)
yearEstablishedYear established (text)
paymentAcceptedPayment methods (text)
servicesAndProductsServices & products (array)
descriptionDescription (text)
reviewsReview texts (array)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "name": "Example Plumbing Services Ltd",
  "phone": "07 012 3456",
  "email": "info@example-plumbing.co.nz",
  "address": "10 Example Street, Hamilton, WKO, 3200",
  "fullAddress": {
    "street": "10 Example Street",
    "locality": "Hamilton",
    "region": "WKO",
    "postalCode": "3200",
    "country": "NZ"
  },
  "latitude": -37.787,
  "longitude": 175.2793,
  "categories": [
    "Plumbers",
    "Drainlayers"
  ],
  "rating": 4.5,
  "reviewCount": 12,
  "reviews": [
    {
      "author": "Jane Example",
      "rating": 5,
      "text": "Quick, tidy and reasonably priced.",
      "date": "2024-03-15"
    }
  ],
  "website": "https://example-plumbing.co.nz",
  "detailUrl": "https://yellow.co.nz/hamilton/bpp/example-plumbing-services-12345678",
  "openStatus": "OPEN NOW",
  "openingHours": [
    "Mo-Fr 07:00-17:00",
    "Sa 08:00-12:00"
  ],
  "description": "Example Plumbing Services has been serving Hamilton homes and businesses since 1998...",
  "yearEstablished": "1998",
  "slogan": "Your trusted local plumber",
  "associations": "Master Plumbers, Gasfitters and Drainlayers NZ",
  "paymentAccepted": "visa, cash, mastercard",
  "servicesAndProducts": [
    "Plumbing",
    "Drainage",
    "Gasfitting"
  ],
  "imageUrl": "https://i2.ypcdn.com/blob/example-image",
  "logoUrl": "https://i1.ypcdn.com/blob/example-logo",
  "searchTerms": "Plumbers",
  "searchLocation": "Hamilton"
}

Ways to use this data

  • Lead generation teams: pull phone numbers and email addresses for a trade and region to build an outreach list.
  • Local SEO and directory agencies: audit categories, ratings and review counts for a niche across multiple towns.
  • Market researchers: build a census of every business in a trade across New Zealand, complete with location data for mapping.
  • Ops and compliance teams: track new competitors or closures in a market with scheduled incremental runs.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Yellow Pages NZ return?

The documented output for Yellow Pages NZ includes business name, change type (incremental mode), phone, address, categories, rating, reviews and website. Availability of each field depends on the source page and the selected mode.

How much does Yellow Pages NZ cost?

It costs $1.20 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I track a search on a schedule and get only new or changed listings?

Yes. Schedule the actor from the Schedules tab and turn on Incremental changes for scheduled runs. Later runs then return only NEW and UPDATED listings (plus REAPPEARED for a listing that an earlier run with Emit expired listings on had marked EXPIRED); unchanged listings are not billed unless you also turn on Emit unchanged listings.

What's the difference between Resume from run ID and Incremental mode?

They solve different problems. Resume from run ID continues ONE specific interrupted run from a pasted run or dataset ID. Incremental mode is for running the SAME search again and again on a schedule; the actor remembers its own baseline and classifies every listing against it, so you never have to paste an ID.

Why did my run fail instead of returning an empty dataset?

If Yellow.co.nz refuses every attempt at the very first search page, the run fails with a clear message instead of reporting success with nothing collected, so a genuinely blocked run is never confused with a search that legitimately matched zero businesses. A refusal on a later page, after real listings were already collected, does not fail the run; it keeps what was already gathered.

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.

Ready to collect with Yellow Pages NZ?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.