MyArtBroker.com Artist & Print Scraper avatar

MyArtBroker.com Artist & Print Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
MyArtBroker.com Artist & Print Scraper

MyArtBroker.com Artist & Print Scraper

Scrape MyArtBroker.com artist profiles and print editions with real cross-auction realized prices and a per-artist market-index rollup. No login required.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

myartbroker-scraper

Scrapes artist profiles and prints/editions from MyArtBroker.com, a UK-based secondary-market print brokerage and price-guide platform (Banksy, Warhol, Hockney, Hirst, and 290+ other artists) โ€” via the site's own embedded page data, no login required.

Contents

๐Ÿ”‘ Key features

  • Two entity types, one Actor. Set entityType to artworks (prints/editions) or artists.
  • A genuinely free, rich artist rollup. One fetch per artist returns a real, server-computed market index: recorded auction sale count, annual growth %, average and total sale value across 8 currencies, and a full historical price-index time series going back years โ€” no per-artwork fan-out needed at all, unlike most per-artist rollups in this space.
  • Real cross-auction-house realized-price history per edition โ€” hammer price, buyer's-premium price, and seller net return, in 8 currencies, sourced from real houses (Christie's, Sotheby's, Phillips, and others). Closer to an auction house's realized-price archive than a typical marketplace listing.
  • No fabricated "sold" flag. MyArtBroker prices fungible print editions, not unique inventory โ€” instead of a sold/unsold boolean, artwork records carry real demand signals: how many people are registered wanting to buy, sell, or already own a copy. Every artist/artwork is scraped and pushed as-is โ€” no push-time filter narrows what you pay for.
  • All 8 currencies, always. Every price field ships as GBP/USD/EUR/AUD/CAD/JPY/HKD/CNY columns โ€” pick the one you need, or use them all. Never an opt-in currency selector to configure.
  • Delta mode built in. Every run classifies each item as new, changed, unchanged, or delisted against a persisted baseline.
  • maxItems defaults to 50 โ€” a fast preview, and what keeps an unconfigured run within Apify's automated 5-minute QA check. MyArtBroker is a curated, relatively small marketplace (293 artists) โ€” clear maxItems (null) for a full run. Real-scale tested: a full 292-artist run and a 5,000-artwork run both completed with 0 errors on real Apify infra.

๐Ÿ“‹ 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 (a print that's part of a series):

{
"source": "myartbroker",
"entity_type": "artworks",
"external_id": "aw-7",
"url": "https://www.myartbroker.com/artist-banksy/series-girl-with-balloon/artwork-girl-with-balloon-unsigned-print-2004",
"title": "Girl With Balloon",
"artist_id": "at-8",
"artist_name": "Banksy",
"artist_slug": "banksy",
"artist_url": "https://www.myartbroker.com/artist-banksy",
"collection_slug": "girl-with-balloon",
"collection_title": "Girl With Balloon",
"collection_taxonomy": "series",
"format": "Unsigned Print",
"signed": "unsigned",
"year": 2004,
"medium": "Screenprint",
"genre": "Street & Urban",
"edition_size": 600,
"condition": "excellent",
"width_cm": 50,
"height_cm": 70,
"poa": false,
"list_price_min_gbp": 40000,
"list_price_min_usd": 55000,
"list_price_min_eur": 45000,
"list_price_min_aud": 80000,
"list_price_min_cad": 80000,
"list_price_min_jpy": 8660000,
"list_price_min_hkd": 420000,
"list_price_min_cny": 360000,
"list_price_max_gbp": 80000,
"list_price_max_usd": 110000,
"list_price_max_eur": 90000,
"list_price_max_aud": 150000,
"list_price_max_cad": 150000,
"list_price_max_jpy": 17320000,
"list_price_max_hkd": 850000,
"list_price_max_cny": 730000,
"aagr": -7,
"buy_interest_count": 302,
"sell_interest_count": 0,
"owned_count": 0,
"auction_appearance_count": 7,
"auction_sale_count": 1,
"last_auction_date": "March 2026",
"last_auction_house": "Christie's London - United Kingdom",
"last_hammer_price_gbp": 70000,
"last_realized_price_gbp": 88900,
"change_type": "new"
}

Example artist record:

{
"source": "myartbroker",
"entity_type": "artists",
"external_id": "at-8",
"url": "https://www.myartbroker.com/artist-banksy",
"name": "Banksy",
"slug": "banksy",
"tier_level": 1,
"total_artworks": 269,
"total_collections": 64,
"num_recorded_sales": 425,
"annual_growth_pct": -8,
"avg_sale_price_gbp": 32318,
"avg_sale_price_usd": 43367,
"avg_sale_price_eur": 37358,
"total_sale_value_gbp": 13735289,
"total_sale_value_usd": 18431151,
"market_index_latest": 55.69,
"market_index_date": "2026-08-16",
"change_type": "new"
}

๐Ÿ”ง Input

FieldTypeDefaultDescription
entityTypestringartworksartworks (prints/editions) or artists.
maxItemsinteger50Stop after pushing this many items. Set to null for a full crawl.
modestringautoauto / full / incremental โ€” see Incremental mode.
concurrencyinteger10How many artist/artwork pages to fetch in parallel (validated live up to 20, no blocking).
impersonatestringchromecurl_cffi TLS-impersonation target.
proxyConfigurationobjectoffApify Proxy config โ€” not needed; no anti-bot friction found.

๐Ÿ“ฅ Input examples

Default preview (50 artworks):

{ "entityType": "artworks" }

Full artist directory (293 artists, ~1 fetch each):

{ "entityType": "artists", "maxItems": null }

Full artwork catalog (every print/edition for every artist โ€” one listing-page fetch per 12 items plus one detail-page fetch per item, so this is the slower, more thorough option):

{ "entityType": "artworks", "maxItems": null }

๐Ÿ” Incremental (delta) mode

auto mode does a full scan the first time it runs for a given entityType, then only pushes new/changed items on later runs. Only an uncapped run (no maxItems limit reached) can detect delistings or update the baseline.

๐ŸŒ How to scrape MyArtBroker.com

Every page on the site is a Next.js server-rendered page that embeds its own data as a __NEXT_DATA__ JSON blob โ€” this Actor reads that directly rather than parsing rendered HTML text. Any single artist page also embeds the site's entire current 293-artist directory, so no sitemap or separate crawl is needed to discover the artist roster; entityType: "artworks" then walks each artist's own paginated print listing to discover every edition.

โ“ FAQ

Why don't artwork records have a sold field? MyArtBroker prices fungible print editions โ€” a format like "Girl With Balloon (Unsigned Print)" represents up to 600 individual copies, not one unique object โ€” so there's no meaningful sold/unsold state the way there is on a marketplace selling unique originals. buy_interest_count/ sell_interest_count/owned_count are the real demand signals MyArtBroker itself surfaces instead.

Is auction_history the complete sale history for an edition? Not necessarily for anonymous (non-logged-in) access โ€” MyArtBroker's own interface shows a "you've reached your data view limit" message on deeper auction history. In testing, a real, actively-traded Banksy edition came back with 7 listed auction appearances but only 1 carrying actual realized-price data. auction_appearance_count and auction_sale_count are reported separately for exactly this reason โ€” check both rather than assuming the list is exhaustive.

Why is total_collections/num_recorded_sales/market_index_latest empty for some artists? total_collections is 0 for artists whose catalog isn't organized into named series โ€” a real, common case, not a bug. The market-index fields (num_recorded_sales, annual_growth_pct, avg_sale_price_gbp, market_index_series) only populate for artists MyArtBroker has enough real auction-sale history to compute an index for โ€” an artist with no recorded sales legitimately has nothing to index yet.

Can I get prices in a specific currency, or all of them? Both, always โ€” every price field (list prices on artworks, average/total sale value on artists) ships as 8 separate columns (GBP/USD/EUR/AUD/CAD/JPY/HKD/CNY), so "a specific one" is just the column you read and "all of them" is the default output, no currency-selector input needed.

Does the currency data have any known quirks? One real one in MyArtBroker's own source data, observed on multiple artists (including Banksy): their sales-summary data occasionally lists one currency twice. This Actor takes the first occurrence (every duplicate seen carried an identical value anyway) rather than letting the second silently overwrite it โ€” invisible in the final output either way, but noted here for transparency.

Why do some artwork URLs have two path segments and others three? An artwork that belongs to a named series (e.g. Banksy's "Girl With Balloon") gets a three-segment URL (/artist-X/series-Y/artwork-Z); a standalone artwork with no series gets a two-segment one (/artist-X/artwork-Z) โ€” both are real, confirmed-live URL shapes, not an inconsistency.

Does this need a proxy? No โ€” no anti-bot friction was found anywhere on this site. Cloudflare sits in front, but a plain request with a normal browser User-Agent passes cleanly (tested at concurrency 20, zero blocking).