Ars Mundi Artist & Artwork Scraper
Pricing
from $5.00 / 1,000 results
Ars Mundi Artist & Artwork Scraper
Scrape Arsmundi.de artworks (paintings/sculptures/jewelry) and artist profiles, with 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
ars-mundi-scraper
Scrapes both artworks (paintings/sculptures/jewelry) and artist profiles from Arsmundi.de, a German art gallery/marketplace, via the site's own sitemap and real schema.org microdata β no login required.
Contents
π Key features
- Two entity types, one Actor. Set
entityTypetoartworksorartists. - A real availability signal. Every artwork is classified as
for_sale(has a price),price_on_request(price-on-request, still genuinely for sale),reserved(temporarily unavailable), orsoldβ the same real signal confirmed on this Actor's siblingkunsthaus-artes-scraper(same underlying platform); see the FAQ below for its confirmed status on this specific site. - Rich, structured fields from real schema.org microdata β SKU, artist name, dimensions (mm), GTIN-13 barcode, and a pipe-delimited edition/medium/framing summary, all read directly from the page's own structured data rather than scraped from display text.
- 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. - Confirmed-dead listings are never re-fetched. A removed artwork or artist returns a plain HTTP 404 on this site β tracked in a persisted registry so a future run skips it without a wasted request.
maxItemsdefaults to 50 β a fast, cheap preview, and what keeps an unconfigured run within Apify's automated 5-minute QA check. Clear it (null) for a full crawl (~2,700 artworks or ~900 artists as of this build).
Not included yet: artist records are base bio data only (name + short biography) β no artwork rollup (total/avg price/sold count). See the FAQ below for why.
π Output
One dataset item per artwork or artist, depending on entityType β see
.actor/dataset_schema.json for the full field list.
Example artwork record:
{"source": "arsmundi","entity_type": "artworks","external_id": "IN-688439.R1","url": "https://www.arsmundi.de/salvador-dali-bild-die-meditative-rose-1958-gerahmt-688439-r1/","title": "Bild \"Die meditative Rose\" (1958), gerahmt","artist_name": "Salvador DalΓ","artist_url": "https://www.arsmundi.de/kuenstler/dali-salvador/","artist_id": "9999e6142ed82e47dbf87be816301147","price": 480,"currency": "EUR","availability_status": "for_sale","width_mm": 610,"height_mm": 720,"gtin13": "4044991560613","image_url": "https://www.arsmundi.de/thumbnails/g0/85/d6/1619633493/688439.R1_1_320x320.jpg","change_type": "new"}
Example artist record:
{"source": "arsmundi","entity_type": "artists","external_id": "0199abc1234de5f6a7b8c9d0e1f2a3b4","url": "https://www.arsmundi.de/kuenstler/heber-peter/","name": "Peter Heber","bio": "Peter Heber ...","change_type": "new"}
π§ Input
| Field | Type | Default | Description |
|---|---|---|---|
entityType | string | artworks | artworks or artists. |
startUrls | array | β | Specific artwork/artist URLs to scrape directly instead of the full sitemap. |
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 | 12 | How many detail pages to fetch in parallel. |
impersonate | string | chrome | curl_cffi TLS-impersonation target. |
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 }
π Incremental (delta) mode
auto mode does a full scan the first time it runs for a given entityType/scope, then only pushes
new/changed items on later runs. Only an uncapped, unscoped run (no maxItems limit reached, no
startUrls, no item errors) can detect delistings or update the baseline.
π You might also like
- SaatchiArt Artist & Artwork Scraper β the same entity-type design pointed at a first, independent art marketplace, with a real per-artist rollup (avg price, medium mix, sold count) computed from an artist's full catalog.
- Artmajeur Artist & Artwork Scraper β a second independent art marketplace source, same rollup-stats design.
- Artsper Artist & Artwork Scraper β a third, independent art marketplace source, same design.
- Artfinder Artist & Artwork Scraper β a fourth, independent art marketplace source, same design.
- Artsy Artist, Artwork & Gallery Scraper β a fifth, independent art marketplace source, plus a genuine dealer/gallery angle (real represented-artist rollups per gallery) this collection doesn't otherwise have.
- Bluethumb Artist & Artwork Scraper β a sixth, independent art marketplace source (Australia's largest), with real per-artist sold/available/total counts read from a single profile-page fetch, no rollup fan-out needed.
- Riseart Artist & Artwork Scraper β a seventh, independent art marketplace source, built entirely on the site's own public GraphQL search API (no HTML scraping, no per-item detail fetch), with a real per-artist rollup (total artworks, avg price, for-sale vs. enquire-only split).
- Kunsthaus ARTES Artist & Artwork Scraper β an eighth, independent art marketplace source (a sibling German gallery running the same underlying platform as this Actor).
- Artprice.com Artist & Artwork Scraper β a tenth, independent art marketplace source, built on Artprice.com's own public unauthenticated JSON APIs (artist directory + current marketplace listings), with real per-artist rollup stats and multi-currency pricing (EUR/USD/GBP/CNY/BTC/ETH) on every artwork.
β FAQ
Does this Actor tell me how many artworks an artist has sold?
No. This Actor's sibling kunsthaus-artes-scraper (the same underlying platform) investigated this
thoroughly and confirmed the site has no per-artist "all works by this artist" listing anywhere β
not on the bio page, not through the generic listing widgets, and not through the platform's own
dedicated "artist directory" component either (referenced on the page but never actually rendered
there). Given both sites share the identical page template, the same conclusion is expected to hold
here; entityType: "artists" gives base bio data only.
Is the "reserved"/"sold"/"price-on-request" status confirmed on this specific site?
Partially. for_sale is confirmed on many real Ars Mundi listings. The other three states use the
same parsing logic as this Actor's sibling kunsthaus-artes-scraper (confirmed to run on the same
underlying platform, same page template, same German status text) β but a live sample of 140 real
product pages during this build, including a targeted sample of well-known/high-value artists, did
not turn up a real example of any of them on Ars Mundi specifically. They may be rarer here, or the
current catalog may simply not have one right now. Reported honestly rather than presented as fully
verified β if you spot one, the field is there and should be correct, but treat it as
less-battle-tested than for_sale.
Why do some artists have no bio? A real, confirmed absence on the site itself: well-known artists (e.g. Friedensreich Hundertwasser) have a real biography block on their profile page, but many lesser-known artists simply don't β the block is entirely absent from the page, not just empty. A real 20-artist sample during this build came back with 17/20 missing a bio for exactly this reason.
Why do some artworks have no artist_url or dimensions?
Both are real, confirmed absences on the site itself, not scraping gaps: some artists don't have a
dedicated bio page linked from their artwork pages, and some listings describe their size only in
free text (short_info/description), not as separate structured width/height fields.
Does this need a proxy? No β no anti-bot friction was found anywhere on this site while building this Actor.