ServiceSeeking Scraper - Australian Tradie Leads with ABN
Pricing
from $3.50 / 1,000 per business returneds
ServiceSeeking Scraper - Australian Tradie Leads with ABN
From $3.50 per 1,000 businesses, no start fee. Australian tradies and service businesses from ServiceSeeking.com.au: ABN with ATO checksum, website, suburb, state, postcode, coordinates, licences, rating, reviews, times hired, last quoted and services. By trade, state or whole directory.
Pricing
from $3.50 / 1,000 per business returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🧰 ServiceSeeking Scraper - Australian Tradie Leads with ABN
Australian tradies and service businesses from ServiceSeeking.com.au, one row per business profile. Every row carries the business's ABN, checked with the ATO's own checksum. It also has the website, suburb, state and postcode, map coordinates, trade licence numbers, rating and review count, how many times the business has been hired, when it last sent a quote, the year it joined, and the services it offers.
Pull a trade (plumbers, electricians, cleaners and about a thousand more), cut it to one or more states, or walk the whole directory of 10,312 profiles. No API key, no login and no browser.
What does this actor do?
ServiceSeeking is an Australian marketplace where homeowners and businesses post jobs and local businesses quote for them. Each business keeps a public profile. This actor finds the profiles you ask for and reads each one:
- By trade: it walks ServiceSeeking's own category listing for each trade you name (
/plumbers,/electricians, ...) to its last page. Businesses listed under two of your trades are fetched and charged once. - Whole directory: it reads ServiceSeeking's profile sitemap (10,312 profiles on 2026-09-23), most recently updated first. Filter the result by service keyword and state.
- By URL: pass profile URLs or bare profile IDs.
Who uses it
- Trade suppliers and wholesalers (plumbing, electrical, building supplies) building territory lists of active tradies, with the ABN to match their own account records.
- Tradie software (job management, quoting, invoicing) prospecting businesses that already win work online.
hiredCountandlastQuotedTextshow who is active. - Trade insurers and brokers checking a business against its ABN and its published licence numbers.
- Home-services lead-gen and marketing agencies finding businesses by suburb and trade, with the website as the enrichment hook.
📋 What you get per business
Fill rates are measured on two live runs on 2026-09-23 (build 0.1.3). Trade frame: every electrician ServiceSeeking lists (333 cards, 320 live profiles delivered, 13 listed profiles no longer exist). Directory frame: 300 profiles from the whole directory, most recently updated first. A third, offline frame of 30 profiles drawn at random from the sitemap shows the long tail of dormant profiles.
| Field | What it is | Trade frame | Directory frame | Random 30 |
|---|---|---|---|---|
businessName | Business name as shown on the profile | 100% | 100% | 100% |
abn | Australian Business Number, exactly as printed (spaces removed) | 100% | 100% | 80% |
abnFormatted | The ABN as 44 685 187 544 | 100% | 100% | 80% |
abnChecksumValid | true when the ABN passes the ATO checksum. It is never repaired. | 100% of ABNs | 100% of ABNs | 100% of ABNs |
website | Website the business entered, shown on its profile | 40.0% | 48.3% | 20% |
websiteType | own-site, social (Facebook, Instagram...) or maps-or-search (a Google link) | own-site 36.9% of rows | own-site 43.7% of rows | - |
websiteDomain | Host of the website, www. removed | as website | as website | - |
aboutPhones | Phone numbers the business wrote into its own public About text | 7.5% | 13.7% | 13% |
aboutEmails | E-mail addresses the business wrote into its own public About text | 2.2% | 4.3% | 7% |
phone, phoneE164, phoneType | Contact phone - see "The phone number" below | 0% by default | 0% by default | 0% by default |
undisplayedContactIncluded | true when the row carries a phone or website the site does not display (option on only; billed as the add-on) | false by default | false by default | false by default |
licences | Trade licences: number + issuer (e.g. 252716C, NSW Fair Trading) | 73.4% | 18.3% | 3% |
suburb, state, postcode, locationText | Base location | 99.7% | 100% | 100% |
latitude, longitude | Map coordinates from the profile's structured data | 100% | 100% | 100% |
rating, reviewCount | ServiceSeeking rating (1-5) and number of reviews. No reviews gives a null rating, never a 0. | 62.8% | 82.7% | 20% |
latestReviewDate | Date of the newest review | 62.8% | 81.7% | - |
hiredCount | Times hired through ServiceSeeking | 48.8% | 70.7% | 7% |
lastQuotedText, lastQuotedApproxDaysAgo | When they last quoted ("20 days ago"), and that phrase as approximate days | 100% | 100% | 100% |
responseTime | The profile's stated response time | as shown | as shown | - |
memberSince, memberSinceYear | When the business joined ServiceSeeking | 100% | 100% | 100% |
contactFirstName | The first name the profile shows as its contact | 100% | 100% | 100% |
serviceCategories, services | Service categories and the individual services listed | 100% | 100% | 100% |
badges, awards, awardsCount | Identity / ABN / Licenced / Insured badges, and awards such as "2025 Top 10 Plumber in Brisbane" | as shown | as shown | - |
abnVerifiedBadge, identityVerifiedBadge | ServiceSeeking's "Provided a valid ABN" and "Provided proof of name and address" badges | as shown | as shown | - |
pricing | Stated rate, e.g. $180/hour Excludes GST | 24.4% | 26.3% | - |
about | The business's own description | as shown | as shown | - |
fullProfileDisplayed | true when ServiceSeeking shows the website and licences on this profile | - | - | 43% |
onlineBookingAvailable, logoUrl | Online-booking link present; logo image | - | - | - |
profileId, profileUrl | ServiceSeeking's id and the canonical profile URL | 100% | 100% | 100% |
listedInCategories, discoveredVia, sitemapLastModified | How the row was found; the sitemap's last-modified date in whole-directory mode | 100% | 100% | - |
The trade frame holds every electrician ServiceSeeking lists. The directory frame is the 300 most recently updated profiles. That is why rating, hires and websites run higher there. Profiles deep in the sitemap are often dormant: in the random 30, 15 had never sent a quote. Use quotedWithinDays or minReviews to keep only live businesses.
☎️ The phone number
ServiceSeeking's page data holds a contact phone for every profile we sampled (55 of 55). Its profile pages do not show that number to visitors unless the business has made it viewable, and none of the 55 had. The site's own profile code draws the "Call Now" button only when a viewableMobilePhone flag is true. It also shows the website and licences only on full profiles (fullProfileDisplayed).
This actor follows the site's display rule by default:
phoneisnullunless the profile displays it.phoneWithheld: truetells you a number exists.websiteandlicencescome only from profiles that display them.websiteWithheldandlicencesWithheldflag the rest.- Numbers and e-mails the business wrote into its own public About text are always delivered, in
aboutPhonesandaboutEmails.
includeUndisplayedContacts: true also delivers the phone and website the page data carries but the site does not display. With it on, phone is filled on 100% of rows (55 of 55 sampled), along with phoneE164 (for mobiles and landlines) and phoneType (mobile, landline, local-rate for 13/1300, freecall for 1800).
Price with this option on: $0.0035 per business, plus $0.001 for each row that actually carries such a phone or website. That is $0.0045 for those rows. Such rows have undisplayedContactIncluded: true. Rows without a hidden phone or website still cost $0.0035. With the option off, the add-on is never charged.
Example row (real, from a live run on 2026-09-23)
{"profileId": 124130,"profileUrl": "https://www.serviceseeking.com.au/profile/124130-kjb-electricians","businessName": "KJB Electricians","contactFirstName": "Jay","phone": null,"phoneE164": null,"phoneType": null,"phoneDisplayedOnProfile": false,"phoneWithheld": true,"website": "https://www.google.co.uk/search?q=kjb+electrical+contractors&ie=UTF-8&oe=UTF-8&hl=en-gb&client=safari#trex=m_t:lcl_akp,rc_f:nav,rc_ludocids:7364676222621268368,rc_q:KJB%2520Electrical%2520Contractors,ru_q:KJB%2520Electrical%2520Contractors,trex_id:AJR6kf","websiteDomain": "google.co.uk","websiteType": "maps-or-search","websiteWithheld": false,"aboutPhones": ["0416339882"],"aboutEmails": [],"abn": "62680360284","abnFormatted": "62 680 360 284","abnChecksumValid": true,"abnVerifiedBadge": true,"identityVerifiedBadge": true,"licences": [{ "number": "252716C", "issuer": "NSW Fair Trading Government Licensing Service" }],"licencesWithheld": false,"suburb": "Randwick","state": "NSW","postcode": "2031","locationText": "Randwick, NSW, 2031","latitude": -33.913164,"longitude": 151.241993,"rating": 5,"reviewCount": 22,"latestReviewDate": "2022-11-23T14:35:10+11:00","hiredCount": 33,"lastQuotedText": "20 days ago","lastQuotedApproxDaysAgo": 20,"responseTime": "Within minutes","memberSince": "February 2016","memberSinceYear": 2016,"badges": ["Identity", "Licenced", "ABN"],"awards": [],"awardsCount": 0,"serviceCategories": ["Electrician"],"services": ["Electrician", "Electrical safety inspection", "Light switch installation and repair", "Smoke alarm installation and replacement", "Cabling"],"pricing": null,"about": "Hello. I'm Jay, the owner and operator of KJB, a business I started 8 years ago. [...] Contact me today for a quote.\nJay 0416339882","fullProfileDisplayed": true,"onlineBookingAvailable": false,"logoUrl": "https://s3-ap-southeast-2.amazonaws.com/uploads2.serviceseeking.com.au/provider_accounts/124130/small.png","listedInCategories": ["electricians"],"discoveredVia": "category:electricians","sitemapLastModified": null,"scrapedAt": "2026-09-23T05:23:36.818Z"}
This row comes from build 0.1.3. websiteType and undisplayedContactIncluded (here false) were added in later builds, so the values shown for them here were computed from the same fields. about is shortened at [...]. The business entered a Google search link as its "website", and the row delivers it as entered. websiteType: "maps-or-search" flags it so you can skip it when enriching. This happens on 6 of 273 websites measured (another 18 are Facebook or Instagram pages).
⚙️ Input
| Input | Default | What it does |
|---|---|---|
categories | ["plumbers"] | Trades by name or URL slug: plumbers, electricians, cleaners, builders, painters, air-conditioner-installation... A full category URL works too. |
states | all | NSW, VIC, QLD, WA, SA, TAS, ACT, NT. In trade mode this is checked against the listing card before the profile is fetched. |
wholeDirectory | false | Walk every profile in ServiceSeeking's sitemap instead of trades, most recently updated first. |
profileUrls | - | Specific profiles, as URLs or bare IDs. |
serviceKeywords | - | Keep businesses whose services contain any of these words (hot water, solar, strata). "plumbers" also matches "Plumber". |
requireWebsite / requireAbn / requireContact | false | Keep only rows with a website, with an ABN, or with any delivered phone, website or About-text contact. |
minReviews | 0 | Minimum number of ServiceSeeking reviews. |
quotedWithinDays | 0 | Liveness filter: last quote within about N days. Businesses that never quoted are excluded. |
memberSinceFrom | 0 | Joined in this year or later, e.g. 2025 for newly listed businesses. |
includeUndisplayedContacts | false | See "The phone number" above. |
maxResults | 50 | Cap on businesses delivered and charged. 0 = no cap. |
maxPagesPerCategory | 0 | Stop each trade after N listing pages (10 businesses each). |
proxyConfiguration | off | ServiceSeeking needs no proxy. Turn one on only if direct requests start failing. |
Example: every NSW and VIC electrician who quoted in the last 3 months and has a website:
{"categories": ["electricians"],"states": ["NSW", "VIC"],"quotedWithinDays": 90,"requireWebsite": true,"maxResults": 0}
💰 Pricing
Two options, pay per event, no start fee:
| Option | Price | What you get |
|---|---|---|
Default (includeUndisplayedContacts off) | $0.0035 per business ($3.50 per 1,000) | Every field, with the phone and website only where the profile displays them |
includeUndisplayedContacts on | $0.0035 per business + $0.001 per row carrying a hidden phone or website (= $0.0045 for those rows) | Also the phone (100% of rows in a 150-row live run) and the website the site does not display |
The per-business price is charged once per business delivered to your dataset. The $0.001 add-on (undisplayed-contact-unlocked) is charged once per delivered row with undisplayedContactIncluded: true. Neither is charged for any of these:
- a business listed under two of your trades (fetched and charged once)
- a profile that no longer exists (13 of 333 listed electricians)
- a profile unreachable after retries
- a business your filters excluded
An empty-input run delivers at most 50 plumbers: $0.175 (the option is off by default). Every electrician ServiceSeeking lists (320) costs $1.12. The whole directory of about 10,300 profiles costs at most about $36. Profiles that no longer exist are not charged, so the real bill is lower.
⏱️ Speed
ServiceSeeking rate-limits each IP. Above about 1.5 requests a second it answers HTTP 429. This actor paces every request through one shared gate (about 1.4 requests a second). A 429 pauses the whole run and is then retried. Any profile or listing page still failing is retried once more at the end of the run. Measured speeds:
- 50 businesses (the default): about a minute
- all 320 electricians: 7.5 minutes
- 300 directory profiles: 6 minutes
- the whole directory (10,312 profiles): about 3.5 hours at that pace. The default run timeout is 5 hours. If you set a shorter one, every row delivered before it is kept and charged, and nothing else is.
Both measured runs finished with 0 unreachable profiles and 0 lost listing pages, after 17 and 21 rate-limit pauses.
🛡️ What the actor guarantees
- Pagination is floor-checked. A trade crawled to its end must reach the last page its own pager links. If it stops short, the run fails loudly and does not hand you a partial list. It also fails if more than 10% of a trade's listing pages stay unreachable.
- Pages are checked before parsing. A page without its closing
</html>or its own data markers is a transport failure and is retried. It is never parsed as half a record. - Deduplicated on ServiceSeeking's own business id across trades, pages and retries, before anything is charged.
- Three kinds of nothing are kept apart in the
RUN_SUMMARYrecord:notFound(the profile id no longer exists; ServiceSeeking answers with its homepage),unreachable(failed after retries) andrejectedByFilter. None is charged. - Nothing is invented. ABNs, phone numbers and postcodes come out exactly as printed. A Darwin postcode printed as
800stays800. A placeholder website such ashttps://N/Abecomesnull. A business with no reviews has anullrating, not 0. Platform e-mail addresses are never delivered as a business's own.
Limits (measured, not guessed)
- No e-mail field. ServiceSeeking publishes no business e-mail.
aboutEmailsholds only what businesses wrote into their About text (2.2% to 4.3% of rows). - The phone is off by default. See above. Without the switch, reachable contact means website (40% to 48%) plus About-text phones and e-mails. In the measured frames, 45.0% to 53.3% of rows carry at least one of these.
- A trade listing is ServiceSeeking's list, not every business with that skill.
/plumberslisted 188 businesses. Another 82 profiles in the sitemap have "plumb" in their name but are not in that listing. To catch those, usewholeDirectorywithserviceKeywords. lastQuotedApproxDaysAgois approximate. The site prints phrases like "About 1 month ago" (30 days) or "Over 2 years ago" (730 days).
Where the data comes from
Public pages on www.serviceseeking.com.au: the category listings, the business profile pages and the profile sitemap.
FAQ
Is there another ServiceSeeking actor? Not as of 2026-09-23. We searched the Apify Store and its full sitemap census, and none targets ServiceSeeking.
Can I monitor new businesses? Yes. Run wholeDirectory with memberSinceFrom set to this year, on a schedule, and diff on profileId.
Why is the ABN on rows where the website is hidden? ServiceSeeking prints the ABN in every profile's page description, including profiles that hide the website.