Fine Art America Artist & Artwork Scraper avatar

Fine Art America Artist & Artwork Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Fine Art America Artist & Artwork Scraper

Fine Art America Artist & Artwork Scraper

Scrape FineArtAmerica.com artist profiles (including agencies/brands) and print-on-demand artworks, with real Followers/Visitors popularity signals and per-product-type pricing. 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

2 days ago

Last modified

Categories

Share

fineartamerica-scraper

Scrapes artist/business profiles and print-on-demand artworks from FineArtAmerica.com, one of the largest print-on-demand art marketplaces โ€” via the site's own public sitemaps, no login required.

Contents

๐Ÿ”‘ Key features

  • Two entity types, one Actor. Set entityType to artworks or artists.
  • By far the largest artist directory covered by this collection โ€” ~300,000 individual artist profiles plus ~6,000 agency/brand accounts (Alamy, Getty Images, and other stock houses/galleries share the identical page template). Set accountType to artist or business for a clean dataset of just one, or leave it at all for both.
  • Real popularity signals no sibling Actor exposes: followers and visitors (a cumulative profile-view count) on every artist/business record, plus an exact total_artworks count read directly from the page.
  • Real per-product pricing. Every artwork is print-on-demand โ€” priced as a range across several product types (canvas print, framed print, metal print, etc.), each with its own SKU and price.
  • artistIds input for a genuinely exhaustive per-artist catalog โ€” the default artworks crawl samples a large, real (but non-exhaustive) set of the site's own sitemaps; set artistIds to walk specific artists' full galleries to completion instead.
  • 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. Clear maxItems (null) for a full run.

๐Ÿ“‹ Output

One dataset item per artwork or artist/business, 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": "fineartamerica",
"entity_type": "artworks",
"external_id": "25769634",
"url": "https://fineartamerica.com/featured/poolside-glamour-slim-aarons.html",
"title": "Poolside Glamour",
"medium_type": "Photograph",
"category_path": "Wall Art > Photographs > mountain",
"artist_name": "Slim Aarons",
"artist_url": "https://fineartamerica.com/profiles/gettyimages",
"low_price": 68.97,
"high_price": 141.72,
"currency": "USD",
"offer_count": 6,
"offers": [
{ "sku": "poolside-glamour-canvas-print", "name": "Poolside Glamour Canvas Print", "price": 78.49, "availability": "InStock" }
],
"comment_count": 5,
"change_type": "new"
}

Example artist record:

{
"source": "fineartamerica",
"entity_type": "artists",
"external_id": "aaronblaise",
"url": "https://fineartamerica.com/profiles/aaronblaise",
"name": "Aaron Blaise",
"account_type": "artist",
"location": "Jensen Beach, FL, United States",
"total_artworks": 112,
"joined_year": "2013",
"followers": 1562,
"visitors": 1438196,
"change_type": "new"
}

๐Ÿ”ง Input

FieldTypeDefaultDescription
entityTypestringartworksartworks or artists.
artistIdsarrayโ€”artworks only. Profile slugs or URLs to walk exhaustively instead of the general sample.
accountTypestringallartists only. all / artist / business โ€” filter out agency/brand accounts (or individual artists).
maxItemsinteger50Stop after pushing this many items. Set to null for a full crawl.
modestringautoauto / full / incremental โ€” see Incremental mode.
concurrencyinteger10How many pages to fetch in parallel โ€” validated clean up to 20 at real large-scale on both entity types, see FAQ.
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/business directory:

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

One artist's complete catalog:

{ "entityType": "artworks", "artistIds": ["aaronblaise"], "maxItems": null }

Individual artists only, no agencies/brands:

{ "entityType": "artists", "accountType": "artist", "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, error-free run can detect delistings, price changes, or update the baseline.

๐ŸŒ How to scrape FineArtAmerica.com

FineArtAmerica has no JSON API โ€” this Actor discovers its scope entirely via the site's own public sitemaps and reads each artwork/profile page's own embedded schema.org data and server-rendered HTML, the same content your browser sees.

โ“ FAQ

Does this include sold/unsold status? No โ€” this is a print-on-demand catalog. Every artwork is reproduced to order, so there's no concept of a piece selling out; every product offer always shows availability: "InStock".

Is entityType=artworks (default) an exhaustive catalog of the whole site? No, and it doesn't claim to be โ€” FineArtAmerica has no exhaustive artwork sitemap, only tiered "popular"/"grouped"/"new" sitemaps (a large, real sample, but not every artwork on the site). For a specific artist's complete catalog, use artistIds instead.

Why does entityType=artists include businesses/agencies like Alamy or Getty Images? FineArtAmerica uses the exact same profile page template for individual artists and agency/brand/stock-house accounts โ€” there's no structural reason to split them into separate entity types. account_type on each record says which; set accountType to artist or business if you only want one.

Does this need a proxy? No โ€” no anti-bot friction was found anywhere on this site (plain Apache, no Cloudflare or equivalent challenge).

Why does an occasional item take longer than expected? A real, confirmed-live pattern on this site: individual pages occasionally (a handful per thousand requests) hit a ~30-second connection stall, unrelated to concurrency or rate limiting โ€” every instance observed so far has self-healed on retry within a couple of short attempts. This is expected, not a sign of blocking.