Skip to content
    ↑↓ to choose · Enter to open

    · 12 min read

    Heritage Auctions Scraper: 20 Data Fields per Record (2026)

    By CrawlerBros Engineering Team

    Each record carries 20 output fields covering live bid amounts, third-party certification grades, lot numbers, and department categories across eight collectible disciplines. Priced at $5.00 per 1,000 results on the free-plan price, it retrieves live auction listings and all-time top sale leaderboards without requiring login or API keys. This is built for collectors, appraisers, and market analysts tracking live bidding activity across coins, comics, sports, and fine art. It is not for anyone who needs past historical sales archive searches, which the underlying site does not expose in a searchable public index.

    Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Heritage Auctions Scraper on Apify and run the prefilled example.

    How reliable is Heritage Auctions Scraper in production?

    Across the last 30 days of public runs on the Apify platform, Heritage Auctions Scraper recorded 360 runs with the following outcomes.

    Outcome Runs Share
    Succeeded 357 99.2%
    Failed 3 0.8%
    Aborted by the user 0 0.0%
    Timed out 0 0.0%
    Total 360 100.0%

    Fewer than one in a hundred runs fail or time out in production environments. When scheduling automated jobs, configure standard automated retries for failed runs rather than manual interventions. The high completion rate means cron jobs can deliver consistent updates to live catalog pipelines without persistent monitoring.

    What does it cost to run Heritage Auctions Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. With 0.8% of runs failing or timing out in the last 30 days, budget for re-running a portion of those batches rather than assuming every run completes.

    The maxItems parameter is the single control that dictates total result charges, as billing is calculated per dataset item emitted. Setting a tight item ceiling allows you to test queries and verify schema outputs before scaling extraction limits. Optional filters like price bounds or auction dates narrow the returned listings but do not alter the cost calculation per returned item.

    How do you run Heritage Auctions Scraper from the API?

    The schema marks 1 of its 9 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~heritage-auctions-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"search","searchQuery":"lincoln","department":"","maxItems":20,"proxyConfiguration":{"useApifyProxy":true}}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "search",
      "searchQuery": "lincoln",
      "department": "",
      "maxItems": 20,
      "proxyConfiguration": {
        "useApifyProxy": True
      }
    }
    
    run = client.actor("crawlerbros~heritage-auctions-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "search",
      "searchQuery": "lincoln",
      "department": "",
      "maxItems": 20,
      "proxyConfiguration": {
        "useApifyProxy": true
      }
    }
    
    const run = await client.actor('crawlerbros~heritage-auctions-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.

    Which Heritage Auctions Scraper inputs matter, and which can you skip?

    The mode selector determines whether the run performs keyword searches, browses full department catalogs, or retrieves top realized sale leaderboards. For live listing searches, provide a searchQuery and optionally narrow the request with department. Beginners should keep proxyConfiguration on its default proxy setting and keep maxItems capped at 20.

    • mode (string): What to fetch. Default: "search".
    • searchQuery (string): Free-text keyword search (mode=search), e.g. lincoln, spider-man, mickey mantle. Default: "lincoln".
    • department (string): Heritage Auctions department/category. Required for mode=browseDepartment; optional filter for mode=search and mode=topRealizedPrices (all departments if omitted). Default: "".
    • minPriceUSD (number): Drop lots priced below this (USD). Applies to current bid for search/browseDepartment, or realized price for topRealizedPrices.
    • maxPriceUSD (number): Drop lots priced above this (USD). Applies to current bid for search/browseDepartment, or realized price for topRealizedPrices.
    • saleDateFrom (string): Drop lots whose auction date is before this date.
    • saleDateTo (string): Drop lots whose auction date is after this date.
    • maxItems (integer): Hard cap on emitted records. Default: 20.
    • proxyConfiguration (object): Apify proxy (free AUTO/datacenter group is sufficient). Default: {"useApifyProxy":true}.

    Fixed-choice controls: mode accepts search (Search live lots by keyword), browseDepartment (Browse a department (no keyword)), topRealizedPrices (Top all-time realized prices per department); department accepts 9 values (default ""), including "" ((all departments)), coins, comics (Comics & Comic Art), art (Fine Art).

    What does Heritage Auctions Scraper return?

    Output datasets provide structured lot metadata including current bids, subcategories, certification details, and canonical auction URLs. They do not contain bidder identities or a searchable database of past historical sale results.

    • lotId - Heritage's internal lot identifier
    • auctionNumber, lotNumber - the auction/sale and lot number
    • title - full lot description
    • subcategory - department sub-category (e.g. Colonials), when shown
    • gradingService, grade, certNumber - third-party grading info, when present
    • status - auction state (e.g. Current Auctions, Sold / Prices Realized)
    • priceLabel, priceUSD - the price label (Current Bid or Realized) and its dollar value
    • minimumBidUSD - minimum next-bid amount, when shown (live lots only)
    • auctionDate - the auction's date (YYYY-MM-DD), when shown
    • imageUrl, imageUrlLarge
    • department
    • sourceUrl - canonical lot page URL
    • auctionUrl - link to the full auction listing (live lots)
    • recordType: "lot", scrapedAt

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open Heritage Auctions Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Run once with mode set to search, searchQuery set to lincoln, and department set to coins to confirm live lot recall.
    2. Verify that returned records contain non-null lotId, sourceUrl, and priceUSD fields before expanding your query.
    3. Set minPriceUSD and maxPriceUSD to filter out entry-level lots or listings exceeding your appraisal budget.
    4. Populate saleDateFrom and saleDateTo with YYYY-MM-DD formatted strings to scope extraction to lots closing in a specific auction window.
    5. Switch mode to browseDepartment and choose a valid department string like sports or comics to pull full catalog listings without keywords.
    6. Inspect output fields gradingService and grade on certified lots to ensure third-party slab details are captured properly.
    7. Set maxItems to a strict ceiling like 20 or 50 to cap dataset records and prevent unnecessary result charges on high-volume runs.

    How do you apply it? Three worked playbooks

    These are Heritage Auctions Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Collectors

    Outcome: Track specific coins, comics, art pieces, or sports memorabilia across upcoming auctions

    Configure: Set mode to "search", searchQuery to "lincoln", department to "coins", and maxItems to 30.

    Working method: Execute a single search run for target keywords, check that returned items show valid lotId and gradingService values, and store the output dataset.

    Deliverable: A structured dataset of matching live auction lots with current bid figures, certification grades, and canonical item URLs.

    Stop condition: Zero records returned for a known high-volume query term.

    Use case 2: Price research

    Outcome: Gauge current bidding activity by keyword or department

    Configure: Set mode to "search", searchQuery to "spider-man", department to "comics", and maxItems to 40.

    Working method: Schedule daily keyword queries across target subcategories, aggregate priceUSD values, and monitor bidding velocity leading up to auction end dates.

    Deliverable: A pricing snapshot showing current bidding pressure, minimum next bids, and listing statuses across active lots.

    Stop condition: Output records missing priceUSD or priceLabel fields.

    Use case 3: Market monitoring

    Outcome: Watch a department's live catalog for new listings within a budget

    Configure: Set mode to "browseDepartment", department to "sports", minPriceUSD to 100, maxPriceUSD to 5000, saleDateFrom to "2026-01-01", and maxItems to 25.

    Working method: Compare successive department catalog extracts filtered by price boundaries to isolate newly published listings matching acquisition budgets.

    Deliverable: A filtered batch of new catalog lots falling strictly within defined budgetary and scheduling constraints.

    Stop condition: Emitted records returning priceUSD values outside the minPriceUSD and maxPriceUSD range.

    What breaks, and how do you design around it?

    • Over the last 30 days, 0.8% of public runs failed and 0.0% timed out. Build retries and alerting around those rates rather than assuming every run completes.

    Historical data extraction is confined to the fixed topRealizedPrices leaderboard rather than a searchable historical archive. To build historical price trends, schedule daily runs of live auctions to log final bid values before listings close. Keep single runs targeted using department or keyword parameters to avoid excessive request volumes.

    When should you not use Heritage Auctions Scraper?

    Do not use this Actor if your project requires searching historical sale results across past auction archives using custom keywords. Heritage Auctions does not expose a public, keyword-searchable archive of all past sales without account login. For comprehensive numismatic historical archives spanning international auction houses, use CoinArchives Numismatic Auction Results Scraper instead. If you need fine art, silver, or estate auction records, use Doyle Auctions Scraper or Catawiki Auction Scraper.

    What should you check before trusting the output?

    • Verify that lotId is present and non-empty on every emitted lot record.
    • Check that priceUSD contains a numeric value whenever priceLabel is present.
    • Ensure sourceUrl contains a valid ha.com URL string.
    • Confirm that department matches your input parameter when using browseDepartment mode.
    • Check that auctionDate follows the YYYY-MM-DD pattern when present on live auction listings.

    None of this proves a record is correct. It gives a scheduled Heritage Auctions Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    What does a run cost on the free plan?

    At $5.00 per 1,000 results on the free-plan price, each extracted lot costs $0.005. Apify also bills platform usage for compute and memory. Apify's free plan includes $5.00 of monthly usage with no credit card, covering up to 1,000 results of this Actor.

    Can I search past realized prices by keyword?

    No. The topRealizedPrices mode pulls each department's curated leaderboard of all-time highest sales, which is not keyword-searchable. Full historical archives are not exposed on the public site.

    Why are gradingService and grade missing on some items?

    Empty fields are omitted by design. Lots that are uncertified, raw, or do not feature third-party grading simply do not return those fields in the output dataset.

    How reliable is this Actor for scheduled daily tracking?

    Telemetry shows 357 succeeded out of 360 runs in the last 30 days, giving a 99.2% success rate with zero aborted runs and zero timeouts, making it suitable for automated monitoring.

    How do price and date filters apply across modes?

    The minPriceUSD and maxPriceUSD filters evaluate current bid amounts for live search and browse modes, and realized prices for topRealizedPrices mode. Date filters apply only to live lots.

    Where to go next

    When you are ready to run it, open Heritage Auctions Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the Heritage Auctions Scraper Actor page for the current input schema, pricing tier, and run history.

    Other Actors we maintain for related data:

    • Doyle Auctions Scraper: Scrape Doyle Auctions (doyle.com) - one of the world's leading fine art, jewelry, silver, coins, and decorative arts auction houses.
    • Catawiki Auction Scraper: Scrape live auction lots from Catawiki - Europe's curated auction marketplace for art, watches, jewellery, classic cars, wine, and collectibles.
    • CoinArchives Numismatic Auction Results Scraper: Scrape coinarchives.com's numismatic auction-results archive -- search ancient or world coin auction lots by keyword and get auction house, lot number, description, estimate, sale price/status, date, and images.
    • AuctionZip Auction & Auctioneer Directory Scraper: Scrape AuctionZip.com - search live and upcoming auctions by keyword, category or zip code, browse auctions by US state, or pull an auctioneer's current listings.
    • StorageTreasures Auctions Scraper: Scrape StorageTreasures.com self-storage unit auctions - browse active or upcoming lien/charity/manager-special auctions nationwide, filter by state, city, zip, category, unit size or keyword, look up specific auctions or facilities by ID, and track in-person live auction events.
    • Wright Auctions Scraper: Scrape Wright (wright20.com) - America's leading auction house for art and design.
    • Toomey & Co Auctions Scraper: Scrape Toomey & Co (toomeyco.com) - a leading American auction house specializing in art, design, and decorative arts.
    • Christie's Lot & Auction Scraper: Scrape Christie's - one of the world's leading auction houses.

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-26.

    • Actor last updated by its maintainers on 2026-07-04.

    • Run outcome figures cover the 30 day public window ending 2026-09-26.

    • Heritage Auctions Scraper on Apify

    Featured actors

    Heritage Auctions Scraper

    Scrape Heritage Auctions (ha.com) - the world's largest collectibles auctioneer. Search live auction lots by keyword across coins, comics, fine art and sports collectibles, or browse a department directly, with price and auction-date filters.

    Run on Apify ↗