AuctionZip Auctioneer Directory Scraper — Leads + Auctions
Pricing
$3.00 / 1,000 auctioneer scrapeds
AuctionZip Auctioneer Directory Scraper — Leads + Auctions
Scrape the AuctionZip auctioneer directory into US auction-house leads: company, contact name, street address, city/state/ZIP, phone, email, website, bio — plus each auctioneer's upcoming auction calendar (title, date, town, listing URL). Filter by state. No login.
Pricing
$3.00 / 1,000 auctioneer scrapeds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
AuctionZip Auctioneer Directory Scraper — US Auction-House Leads + Their Auction Calendar
Turn the AuctionZip auctioneer directory into a clean US auction-house lead list. One row per auctioneer: companyName, contactName, streetAddress, city, state, zipCode, phone, email, website, bio, licenseNumber — and that auctioneer's upcoming auction calendar nested on the row (title, ISO sale date, town, blurb, listing URL, photo). 100% of rows carry a phone number, a full street address and a ZIP — measured on 100 live profiles, not estimated. No login. No CAPTCHA solving.
Scope: 5,013 auctioneers in the whole directory — counted live by walking all 27 index pages on 2026-08-15, not quoted off a marketing page. 1,893 of them (37.8%) have at least one auction on the calendar right now, and the Actor filters to those by default.
{"states": [],"onlyWithUpcomingAuctions": true,"maxAuctioneers": 100,"includeAuctionDetails": false,"requestConcurrency": 4,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Click Try for free and hit Start — that block is literally the input the Actor ships with. A run on those shipped defaults returned 100 auctioneers carrying 377 upcoming auctions in 1 minute 10 seconds, with phone 100%, contactName 100%, city/ZIP 100%, streetAddress 99%, email 86% and website 85%. It costs $0.30.
The wedge: the auctioneer, not just the auction
Every other auction scraper on the Store — including our own hibid, proxibid, estatesales.net, auctionninja and maxsold Actors — returns auctions and lots. This one returns the businesses running them, with a direct phone number and a named human on every single row, and the auctions hanging off that row as context.
That inverts who you can sell to:
| You are | What you do with a row |
|---|---|
| Auction-software / online-bidding platform | 5,013 named US auction houses with phone + email = your entire addressable market, and upcomingAuctionCount tells you which ones are actually active |
| Estate-sale & auction aggregator | Seed your directory with the auctioneer and their live calendar in one pull |
| Antique / collectibles reseller | Filter to a state, get the auctioneers near you and every sale they have coming up |
| Liquidator, appraiser, shipping/logistics vendor | Sell services to auction houses that are provably running sales this month |
| Auctioneer-association / trade media | A current, deduped roster with contact details |
upcomingAuctionCount is the qualification signal: an auctioneer with 7 sales on the calendar
is a live business, one with 0 may be dormant. The directory index publishes that count, so
the Actor filters on it before spending a request (and before charging you) on the profile.
Measured field fill — read this before you buy
Measured on the 100 rows the shipped default input returned on 2026-08-15. Sorted descending; sparse fields are bold so you know what you are and are not getting.
| Field | Fill | Note |
|---|---|---|
companyName | 100% | the auction business |
contactName | 100% | a named human, e.g. "Jed Acker" |
phone | 100% | as published, e.g. 330-749-6248 |
city, state, zipCode | 100% | parsed apart from the raw locality line |
fullAddress | 100% | the site's own single-line address |
auctioneerId | 100% | AuctionZip's public auctioneer number |
upcomingAuctions | 100% | because the default filters to auctioneers who have some |
streetAddress | 99% | |
email | 87% | a real published mailbox, not a contact form. The other 13% is the site printing the label Email: with no address behind it — verified on the raw HTML, not inferred |
website | 84% | the site renders an unset website as a bare http://; the Actor emits null for those rather than a fake URL — verified on the raw HTML |
bio | 53% | free-text self-description. The other 47% have the bio container on the page but empty (10 bytes of whitespace) — the auctioneer never wrote one |
licenseNumber | 0% by default · 83% with includeAuctionDetails: true | state licence, e.g. 6232. It lives on the auction listing page, not the profile, so it is null unless you turn that option on |
Nested upcomingAuctions[], measured on 367 auctions: listingId, listingUrl, title,
dateText, year, location, description, imageUrl all 100%; saleDate 98.6%
(the 5 misses are auctions the site itself lists as Date TBA).
venueAddress is 0% by default and 100% with includeAuctionDetails: true — same reason as
licenseNumber: it only exists on the listing page.
Re-measured on 2026-08-19 across three live runs (100 rows on the shipped defaults, 12 rows with
includeAuctionDetails: true, 25 rows with onlyWithUpcomingAuctions: false).
saleDate is a real sortable timestamp (2026-08-21T10:00:00). AuctionZip prints the day and
time in one element and hides the year in a separate element, so a naive scrape of this
site gets year-less dates; this Actor joins the two before emitting.
What is deliberately NOT here
- Individual lots. This Actor stops at the auction level. Lot-by-lot catalogue data is a different record shape and belongs in a different Actor — merging the two would give you a dataset where half the rows are auctioneers and half are lots.
- Auction category. AuctionZip's own
Categoriesattribute was empty on every one of the 35 listings measured. It is not emitted rather than shipped as a permanently-null column. Category only exists on the site's category landing pages, not per listing. - Prices realized / bidding data. Behind the login.
How the anti-bot wall was beaten
AuctionZip is served by CloudFront with an AWS WAF challenge rule. This is worth stating
precisely, because a casual look at this site says it is wide open and it is not:
- A burned IP gets HTTP 202 +
x-amzn-waf-action: challengeand a 2,243-bytetoken.awswaf.cominterstitial (gokuProps+challenge.js). Not Cloudflare, not DataDome, not PerimeterX. - The bucket is exactly 6 requests per IP. Requests 1-6 return 200; request 7 onward is challenged, and that IP then stays burned. Reproduced twice — once on profile pages, once on the A-Z directory pages. That is precisely why a quick probe of this site looks clean and a real crawl collapses on page 7.
robots.txtis exempt and always answers 200.
The fix is the one that beat PagineGialle's AWS WAF: lease each proxy IP for at most 4 requests, then rotate to a fresh session, and give every concurrent worker its own lease so parallel requests cannot secretly overshoot one IP's bucket. Measured through Apify:
| Transport | Result |
|---|---|
| Apify RESIDENTIAL + US, lease 4, concurrency 4 (the shipped default) | 40/40 = 100%, all first try |
| Full shipped-default run, 102 fetches | 0 WAF challenges |
| Apify datacenter (auto), lease 4, concurrency 4 | 30/30 rows, but ~15% of sessions burned and retried |
| Contiguous A-Z directory sweep, lease 4 | 27/27 = 100% |
| One pinned session, no rotation | 6/703 — burned at request 7 |
Datacenter works but its smaller IP pool keeps getting sessions burned, so the Actor ships on residential and self-escalates to residential if you pick datacenter and it starts failing.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
states | array | [] (all) | USPS codes, e.g. ["OH","PA"]. The three biggest are OH (598 auctioneers), PA (587), IN (391) |
onlyWithUpcomingAuctions | boolean | true | Skip auctioneers with an empty calendar. Turn off to pull the whole 5,013-row directory as a flat lead list |
maxAuctioneers | integer | 100 | Row cap — and your budget control, since you are charged per row |
includeAuctionDetails | boolean | false | Open each auction's listing page to add venueAddress + licenseNumber. Slower, does not change what you are charged |
letters | array | [] (all) | Advanced: which A-Z index pages to sweep (auctioneers are indexed by surname initial; 1 holds numeric names) |
profileUrls | array | [] | Advanced: scrape only these profile URLs and skip the sweep entirely |
requestConcurrency | integer | 4 | Drop to 2 if you ever see challenges in the log |
proxyConfiguration | object | RESIDENTIAL, US | Required — the site is behind a WAF rate rule |
Output
One row per auctioneer, upcoming auctions nested:
{"profileId": "354407","auctioneerId": "33491","companyName": "Acker Auction Service","contactName": "Jed Acker","streetAddress": "8393 Millbrook Rd","city": "Shreve","state": "OH","zipCode": "44676","fullAddress": "8393 Millbrook Rd, Shreve,OH 44676","phone": "330-749-6248","email": "jed.acker@gmail.com","website": "http://gant-realty.com/auctions-2/","licenseNumber": null,"bio": null,"upcomingAuctionCount": 4,"upcomingAuctions": [{"listingId": "4165014","listingUrl": "https://www.auctionzip.com/Listings/4165014.html","title": "Wile Auction - Real Estate & Personal Property","dateText": "Fri Aug 21 - 10:00AM - Wooster, OH","year": "2026","saleDate": "2026-08-21T10:00:00","location": "Wooster, OH","description": "WILE AUCTION 3 BEDROOM CUSTOM HOME & SHOP ON 2+ ACRES …","imageUrl": "https://content.auctionzip.com/listing/4165014/pv","venueAddress": "2608 Brenn Rd, Wooster, OH"}],"profileUrl": "https://www.auctionzip.com/OH-Auctioneers/354407.html","scrapedAt": "2026-08-15T15:41:02.118Z"}
Export as JSON, CSV, Excel or XML, or pull it from the API.
Pricing
$3.00 per 1,000 auctioneers ($0.003/row), pay-per-event, nothing else charged — no per-run fee, no per-second compute fee.
You are billed once per auctioneer row delivered. Directory index pages are free. Auction
listing pages fetched by includeAuctionDetails are free. A profile that every proxy session
failed to fetch is never billed, and rows are deduplicated on the auctioneer's stable profile
id before billing — a run asserts 0% duplicates rather than hand you a dirty dataset. If you
set a maximum total charge on the run, the Actor trims the batch to what your budget covers
before delivering it, so rows delivered always equals rows billed in both directions.
- The shipped default (100 auctioneers) costs $0.30.
- Every auctioneer with a live auction (1,893) costs $5.68.
- The complete 5,013-auctioneer directory costs $15.04.
Notes, limits and compliance
- A run that returns nothing tells you why. An empty dataset from a silently "successful" run is the canonical broken scraper, so this Actor ends with an explicit status message naming the cause — the WAF rate rule, a filter that matched nobody, or the run's charge limit — rather than handing you an unexplained empty file. A transient block is never turned into a failed run.
- Run-time budget. The Actor reads the run's own timeout and stops starting new page fetches a
safety margin before it, then pushes everything already collected and exits successfully with a
status message. A short timeout costs you rows it had not fetched yet — never rows it had.
Measured:
maxAuctioneers: 10000under a deliberately brutal 120-second run timeout returns a partial dataset instead of being killed. robots.txt(fetched 2026-08-15 fromhttps://www.auctionzip.com/robots.txt) disallows exactly:/cgi-bin/launcher.cgi,/cgi-bin/readinfo.cgi,/search,/search-results,/aboard,/my-account,/login,/bidNow,/cgi-bin/userpanel.cgi,/cgi-bin/azlogin.cgi,/cgi-bin/favpanel.cgi,/azThankYou.html. Every route this Actor touches —/Auctioneer-Directory/,/<ST>-Auctioneers/,/Listings/— is outside that list, and the Actor never touches the disallowed search or account routes.- The calendar is a snapshot.
upcomingAuctionsis whatever AuctionZip is showing at the moment of the run. Re-run on a schedule if you need it fresh. - Personal data. Many auctioneers are sole traders, so
contactName,phoneandemailcan be personal data. You are the data controller for anything you collect: comply with AuctionZip's Terms of Service, and with GDPR/CCPA and applicable anti-spam law (CAN-SPAM, CASL) when you contact anyone. This Actor only reads pages that AuctionZip publishes to anonymous visitors and to search engines.