OrbTop

CoinArchives Numismatic Auction Price Archive Scraper

OTHERBUSINESSECOMMERCE

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

CoinArchives Numismatic Auction Price Archive Scraper

Realized and passed auction lot records from the CoinArchives and BanknoteArchives price archives — ancient coins, world coins, and banknotes sold or offered by roughly 200 specialist auction houses (CNG, Roma Numismatics, Fritz Rudolf Künker, Heritage World Coin Auctions, Leu Numismatik, Stack's Bowers, and many others). Each record carries the auction house and sale, the lot description, denomination, parsed catalogue reference numbers (RIC, Crawford, Sear, SNG, and more), a realized price normalized to USD, the pre-sale estimate, and whether the lot sold.

What it does

Searches the CoinArchives (ancient and world coin) and BanknoteArchives price archives using a broad built-in term list — major denominations, rulers, mints, and currencies — and returns one record per lot with a completed auction outcome. Only lots that actually sold or went to auction and passed are returned; lots listed for a sale that hasn't happened yet are skipped and will appear once that sale concludes and you run the actor again.

Input

Field Type Description
archiveSections array (enum) Which sections to search: ancient, world, banknotes. Default: all three.
searchTerms array of strings Extra search terms to run in addition to the built-in list, in every selected section. Use this to target a specific ruler, coin type, or catalogue number. Optional.
maxItems integer Maximum number of lot records to return. Default: 15.

Output

Each record includes:

  • lot_id, auction_id, lot_number, lot_url — identifiers and the canonical lot page
  • auction_house, auction_title, auction_date
  • lot_description — full catalogued description
  • denomination, ruler_or_issuer, mint, catalogue_references, grade — parsed from the description; null where the source text doesn't match a recognized term
  • estimate, estimate_currency — pre-sale estimate or starting price, where published
  • price_realized, price_currency, price_usd — the hammer price, in its original currency and normalized to USD via a live exchange rate fetched at run time
  • is_unsold — true if the lot went to auction and did not sell
  • image_urls — lot photo
  • archive_sectionancient, world, or banknotes
  • scraped_at

Example output record

{
  "lot_id": "2817458",
  "auction_id": "7347",
  "lot_number": "3501",
  "lot_url": "https://www.coinarchives.com/a/lotviewer.php?LotID=2817458&AucID=7347&Lot=3501&Val=1f4705af079f704776b4277e66c28372",
  "auction_house": "Timeline Auctions",
  "auction_title": "Auction 175",
  "auction_date": "2026-09-15",
  "lot_description": "Augustus AE Dupondius. 16 BC. Rome mint. C. Gallius Lupercus, moneyer. ... RIC 378; BN 421. 8.60gr, 25mm, 7h. Near Very Fine. From a UK private collection.",
  "denomination": "Dupondius",
  "ruler_or_issuer": "Augustus AE Dupondius.",
  "mint": "Rome",
  "catalogue_references": ["RIC 378"],
  "grade": "Near Very Fine",
  "estimate": null,
  "estimate_currency": null,
  "price_realized": 30,
  "price_currency": "GBP",
  "price_usd": 40.03,
  "is_unsold": false,
  "image_urls": ["https://media.coinarchives.com/f24a6d947f620a6023f7d16cd4646a04/img/timeline/175/image03501.jpg"],
  "archive_section": "ancient",
  "scraped_at": "2026-09-21T12:00:25.920Z"
}

Notes

  • denomination, ruler_or_issuer, mint, catalogue_references, and grade are parsed from the free-text lot description, which auction houses write in several languages (English, French, German, Italian, Spanish). They populate reliably on well-formed listings and are null on unusual phrasing the parser doesn't recognize — treat a null as "not confidently determined," not "absent."
  • price_usd uses a live exchange rate fetched once per run. It is null when the realized currency isn't one of the common convertible currencies, or when the rate fetch fails.
  • Coverage reflects each auction house's most recently catalogued lots — this is a rolling archive, not a fixed historical snapshot. Run the actor again periodically to pick up newly concluded sales.

Resuming a large crawl

Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

  • You are not re-charged for records the earlier run already delivered.
  • Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its resumeCursor is no longer valid.
  • resumeCursor is opaque — supply it unmodified.