Artprice.com Artist & Artwork Scraper
Pricing
from $5.00 / 1,000 results
Artprice.com Artist & Artwork Scraper
Scrape Artprice.com's marketplace artworks and artist directory with real per-artist rollup stats and built-in delta mode. No login required.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Artsiom Kunitsyn
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
artprice-scraper
Scrapes both current marketplace artworks and artist profiles from Artprice.com, the world's largest art-market database โ via the site's own public, unauthenticated JSON APIs. No login, no HTML scraping.
Contents
- Key features
- Output
- Input
- Input examples
- Incremental (delta) mode
- How to scrape Artprice.com
- You might also like
- FAQ
๐ Key features
- Two entity types, one Actor. Set
entityTypetoartworksorartists. - No detail-page fetch at all. Artprice's own public marketplace/artist-search APIs already return every field this Actor emits โ no separate "discover a URL, then fetch its detail page" step.
- Fast, concurrent fetching. Both marketplace pages and per-artist rollups are fetched in
parallel (
concurrencyinput, default 20) โ validated live against Artprice's own endpoints with zero blocking at concurrency up to 40 (~46 req/s in testing). - Real per-artist rollup stats.
entityType: "artists"computestotal_artworks,avg_price_eur, andmediumsfrom an artist's complete current marketplace listing. - Multi-currency pricing. Every artwork carries its price in all 6 currencies the site itself
reports (EUR, USD, GBP, CNY, BTC, ETH) โ
price/currencyis the listing's own native pair,price_eur/price_usd/etc. give every conversion without you having to do it yourself. - Full artwork detail for specific artists. Set
artistIdsonentityType: "artworks"to fetch every current listing for exactly those artists instead of the full site-wide catalog. Pair with anentityType: "artists"run to first collect the artist ids you want. - Delta mode built in. Every run classifies each item as
new,changed,unchanged, ordelistedagainst a persisted baseline โ pay for what changed, not a full re-scrape every time. maxItemsdefaults to 50 โ a fast preview, and what keeps an unconfigured run within Apify's automated 5-minute QA check. Clear it (null) for a full crawl of the catalog (~70,000 artworks or the full ~916,000-artist directory as of this build).
๐ Output
One dataset item per artwork or artist, depending on entityType โ see
.actor/dataset_schema.json for the full field list, or the
Output tab's Artworks / Artists views for a readable table.
Example artwork record:
{"source": "artprice","entity_type": "artworks","external_id": "2993521","url": "https://www.artprice.com/marketplace/2993521?category=&title=bouquet-a-la-pomme-a-r-306","title": "Bouquet a la pomme (A. R. 306)","artist_id": 22796,"artist_name": "Pablo PICASSO","artist_url": "https://www.artprice.com/artist/22796","price": 7500,"currency": "eur","price_eur": 7500,"price_usd": 8690,"price_gbp": 6418,"price_cny": 58397,"price_btc": 0.1117,"price_eth": 3.5612,"dealer_name": "PMGALLERY","dealer_url": "https://www.artprice.com/store/PMGALLERY","category": "Ceramics - Glass","material": "Ceramic","condition": "excellent","year": 1956,"width_cm": 25.5,"height_cm": 26.0,"length_cm": 3.0,"has_certificate": true,"has_signature": false,"has_bill": false,"description": "Pablo Picasso (1881-1973), Bouquet a la pomme(A.R.306) Unglazed ceramic Signed on the reverse. Diameter: 26x 25.5 cm. Provenance: Private Collection, Israel","image_url": "https://imgprivate2.artprice.com/get/classifieds/.../450/450/....jpg","full_image_url": "https://imgprivate2.artprice.com/get/classifieds/.../1024/1024/....jpg","change_type": "new"}
Example artist record:
{"source": "artprice","entity_type": "artists","external_id": "22796","url": "https://www.artprice.com/artist/22796/pablo-picasso?cl=en","name": "Pablo PICASSO","birth_year": 1881,"death_year": 1973,"is_blue_chip": true,"total_artworks": 404,"avg_price_eur": 6793.01,"mediums": "Ceramics - Glass","change_type": "new"}
๐ง Input
| Field | Type | Default | Description |
|---|---|---|---|
entityType | string | artworks | artworks or artists. |
artistIds | array | โ | artworks only. List of Artprice artist ids โ fetches every current listing for exactly those artists instead of the full catalog. Not supported for entityType: "artists" (no id-based artist lookup exists on this site โ see FAQ). |
maxItems | integer | 50 | Stop after pushing this many items. Set to null for a full crawl. |
mode | string | auto | auto / full / incremental โ see Incremental mode. |
concurrency | integer | 20 | How many requests (marketplace pages, or per-artist rollup fetches) to run in parallel. |
impersonate | string | chrome | curl_cffi TLS-impersonation target โ not required (bare requests work fine), kept for consistency. |
proxyConfiguration | object | off | Apify Proxy config โ not needed; no anti-bot friction found. |
๐ฅ Input examples
Default preview (50 artworks):
{ "entityType": "artworks" }
Full artist directory:
{ "entityType": "artists", "maxItems": null }
Full artwork detail for specific artists:
{ "entityType": "artworks", "artistIds": ["22796"], "maxItems": null }
๐ Incremental (delta) mode
auto mode does a full scan the first time it runs for a given entityType/scope combination, then
only pushes new/changed items on later runs โ cutting cost on repeat runs by not re-charging for
items that haven't changed. Only an uncapped run (no maxItems limit reached, and no page errors)
can detect delistings or update the baseline.
๐ How to scrape Artprice.com
Artprice's frontend calls its own public JSON APIs directly (artist_search, marketplace) โ this
Actor replicates exactly those calls, the same requests your own browser makes when you browse the
site, just automated and exhaustive. Historical/realized auction prices are a separate, paywalled
product on this site and are not covered by this Actor โ see the FAQ below.
๐ You might also like
- SaatchiArt Artist & Artwork Scraper, Artmajeur, Artsper, Artfinder, Artsy, Bluethumb, Kunsthaus ARTES, Ars Mundi, and Riseart โ independent art-marketplace sources with the same entity-type/rollup-stats design.
โ FAQ
Does this Actor give me historical/realized auction prices? No. Artprice's core product โ its "Cote" historical auction-price index โ sits behind both a paywall and a JS-based bot-check challenge on every page that would show it. This Actor covers what is genuinely public: the artist directory and current marketplace (dealer/gallery for-sale) listings, via Artprice's own open JSON APIs.
Can I get full detail on a specific artist's artworks by id?
Yes for entityType: "artworks" โ set artistIds. Not for entityType: "artists": there is no
id-based artist lookup API on this site (only name-based search), so a specific artist's base
record (name/dates/image) can't be re-fetched by id alone; only a fresh rollup can. Run
entityType: "artists" unscoped/with maxItems instead to (re)discover artist records.
Does total_artworks on an artist record include sold pieces?
No โ it's the count of that artist's current marketplace listings. Sold-item data isn't exposed
by this site's public API (a real, checked finding, not a guess โ see the Actor's build docs).
Does this need a proxy? No โ no anti-bot friction was found anywhere on the JSON APIs this Actor uses.