Discover/Artsy API
live

Artsy APIartsy.net

Access 300,000+ Artsy artist profiles, auction results, and shows. Search by name, browse alphabetically, and retrieve biographies, genres, and artwork counts.

Endpoint health
verified 4d ago
search_artists
list_artists
search_shows
search_auctions
get_artist
5/5 passing latest checkself-healing
Endpoints
5
Updated
26d ago

What is the Artsy API?

The Artsy API exposes 5 endpoints covering artist discovery, auction search, and show search across Artsy's database of 300,000+ artists. Use get_artist to retrieve a full artist profile — including biography fields, genre classifications, nationality, and artwork counts — or use search_artists for fast name-based lookup returning up to 7 matched records with images.

Try it
Page number (1-based).
Number of artists per page (max 100).
Filter by first letter (a-z). Omit to list all artists.
api.parse.bot/scraper/432d8fd8-0d14-4c65-831d-e06c39b39a25/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/432d8fd8-0d14-4c65-831d-e06c39b39a25/list_artists?page=1&size=5&letter=o' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace artsy-net-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Artsy Artists API — browse, search, and explore artist profiles."""
from parse_apis.artsy_artists_api import Artsy, Letter, ArtistNotFound

client = Artsy()

# List artists starting with a specific letter, bounded.
for artist_summary in client.artists.list(letter=Letter.P, size=5, limit=5):
    print(artist_summary.name, artist_summary.nationality, artist_summary.formatted_label)

# Search for an artist, drill into the first result's full profile.
match = client.artists.search(query="andy warhol", limit=1).first()
if match:
    full = match.details()
    print(full.name, full.nationality, full.formatted_label)
    print(full.counts.artworks, full.counts.for_sale_artworks)
    for gene in full.genes[:3]:
        print(gene)

# Direct get by slug.
try:
    picasso = client.artists.get(slug="pablo-picasso")
    print(picasso.name, picasso.biography[:80])
    for insight in picasso.insights[:2]:
        print(insight.label, insight.description)
except ArtistNotFound as exc:
    print(f"Artist not found: {exc.artist_id}")

# Search auctions.
for auction in client.auctions.search(query="contemporary", limit=3):
    print(auction.name, auction.slug)

# Search shows.
for show in client.shows.search(query="photography", limit=3):
    print(show.name, show.href)

print("exercised: artists.list / artists.search / artists.get / match.details / auctions.search / shows.search")
All endpoints · 5 totalmissing one? ·

List artists alphabetically with optional letter filtering. Returns paginated results with basic info including nationality and date labels. The total_pages field is capped at 100 by the upstream API regardless of actual total count.

Input
ParamTypeDescription
pageintegerPage number (1-based).
sizeintegerNumber of artists per page (max 100).
letterstringFilter by first letter (a-z). Omit to list all artists.
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "count": "number of artists in this page",
    "letter": "filter letter applied or 'all'",
    "artists": "array of artist summary objects",
    "total_count": "total artists matching filter",
    "total_pages": "total pages available (capped at 100)",
    "has_next_page": "boolean indicating more pages exist"
  },
  "sample": {
    "data": {
      "page": 1,
      "count": 5,
      "letter": "a",
      "artists": [
        {
          "href": "/artist/a",
          "name": "A",
          "slug": "a",
          "birthday": "",
          "deathday": "",
          "internal_id": "653bbf4da2bcbf000de2d235",
          "nationality": "",
          "formatted_label": ""
        }
      ],
      "total_count": 17404,
      "total_pages": 100,
      "has_next_page": true
    },
    "status": "success"
  }
}

About the Artsy API

Artist Discovery and Profiles

The list_artists endpoint returns paginated artist records browsable alphabetically. Pass a letter parameter (a–z) to filter by first letter, and use page and size (up to 100) to page through results. Each page response includes total_count, total_pages (capped at 100), and a has_next_page boolean. The search_artists endpoint accepts a query string and returns up to 7 matching artists with images and basic metadata, suited for autocomplete or name-resolution workflows.

Detailed Artist Profiles

get_artist takes an artist slug (e.g. andy-warhol, pablo-picasso) and returns a single record with fields including name, genes (an array of genre and category label strings), counts (object containing follows, forSaleArtworks, and artworks integers), gender, birthday, deathday, hometown, and any awards text. If the slug does not match a known artist, the endpoint emits an input_not_found error rather than returning an empty result.

Auctions and Shows

search_auctions and search_shows both accept a keyword query and return up to 10 matching records each, with name, slug, href URL, and image per result. These endpoints use autosuggest-style matching, so broad terms like photography or contemporary work well for discovery. Results are not paginated — each call returns a single batch of up to 10 items.

Reliability & maintenanceVerified

The Artsy API is a managed, monitored endpoint for artsy.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when artsy.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official artsy.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build an artist lookup tool that resolves typed names to Artsy slugs via search_artists before fetching full profiles.
  • Aggregate artwork counts and genre tags from get_artist to classify artists by medium or movement.
  • Enumerate all artists beginning with a specific letter using the letter filter in list_artists for directory-style browsing.
  • Find upcoming or past photography auctions by querying search_auctions with genre keywords.
  • Discover gallery shows related to a specific medium or style using search_shows with keyword queries.
  • Cross-reference artist nationality and birth/death years from get_artist for art-historical research datasets.
  • Track forSaleArtworks counts from the counts field to monitor market availability for specific artists.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Artsy have an official developer API?+
Yes. Artsy provides a public API documented at https://developers.artsy.net/. It requires registration for client credentials and covers a broader set of resources including artworks and partners.
What does `get_artist` return beyond a biography?+
The endpoint returns the genes array (genre and movement labels), a counts object with integer values for artworks, forSaleArtworks, and follows, plus gender, birthday, deathday, hometown, and any awards text. It does not return free-form biography prose as a distinct field in the current response shape.
How does pagination work in `list_artists`, and is there a hard cap?+
Pagination is controlled by the page and size parameters, with size capped at 100 artists per page. The total_pages value is capped at 100 regardless of how many total artists match the filter, so deep browsing beyond page 100 is not supported. The has_next_page boolean in each response tells you whether an additional page exists within that limit.
Does the API return individual artwork listings or auction sale prices for an artist?+
Not currently. The API returns artist profiles (including forSaleArtworks and artworks integer counts) and lets you search auctions and shows by keyword, but it does not expose individual artwork records, lot-level auction results, or hammer prices. You can fork this API on Parse and revise it to add an endpoint targeting artwork or auction-result data.
Can I filter artists by nationality, movement, or medium rather than just by letter?+
The list_artists endpoint supports filtering only by the first letter of the artist's name. Genre and movement data is available in the genes field on individual artist records from get_artist, but it cannot be used as a filter in the list endpoint. You can fork this API on Parse and revise it to add genre- or nationality-based filtering.
Page content last updated . Spec covers 5 endpoints from artsy.net.
Related APIs in EntertainmentSee all →
fineartamerica.com API
Search and discover millions of artworks by style, medium, and artist, then browse detailed artist profiles and portfolios to connect directly with creators. Reach out to artists through integrated contact forms to inquire about commissions, purchases, or collaborations.
riseart.com API
Search and explore artworks by title, artist, or style, then view detailed information and high-quality images of paintings and artist portfolios from Rise Art's curated collection. Discover new artists and browse their complete galleries to find pieces that match your taste.
invaluable.com API
Search and browse fine art auction listings from Invaluable.com, discovering items by artist, auction house, or upcoming lots. Get detailed information about artworks, artists, and auction house catalogs to track pieces and stay informed about upcoming sales.
christies.com API
Browse and search Christie's auction catalogs to discover artworks, explore lots across live and online auctions, and access detailed information about specific pieces and their departments. Quickly find auction results, compare items, and research private sales all in one place.
arts.ca.gov API
Discover California arts funding opportunities by browsing grant programs, searching awarded grantees, and accessing resources from the California Arts Council. Find relevant grants and grantee information while staying updated with the latest news and resources in California's arts funding landscape.
axs.com API
Search for events, performers, and venues across AXS.com to find tickets, pricing, and availability information in your area or by category. Browse featured events, explore venues by city, and access detailed event information all in one place.
lacma.org API
Search LACMA's art collection, discover current and upcoming exhibitions, browse events and programs, and view detailed artwork information all from one place. Plan your museum visit with access to exhibition details, visitor information, and the complete catalog of artworks on display.
lyrics.com API
Search and retrieve song lyrics, artist biographies, and album information across multiple genres and artists. Browse music content by artist, letter, or genre, and discover new or random songs to explore.