Discover/Sothebys API
live

Sothebys APIsothebys.com

Access Sotheby's auction metadata, lot details, estimates, images, and provenance via 2 endpoints. Retrieve auction sessions, lot lists, and creator info.

This API takes change requests — .
Endpoint health
verified 7d ago
get_lot_details
get_auction_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
28d ago

What is the Sothebys API?

The Sotheby's API exposes 2 endpoints covering auction metadata and individual lot details from sothebys.com. Use get_auction_details to retrieve session schedules, lot listings, and location data for any auction by UUID, or use get_lot_details to pull estimate ranges, provenance, images, and creator attribution for a specific lot. Both endpoints return structured JSON ready for art valuation research, collection tracking, and market analysis.

Try it
The UUID of the auction (e.g., 0abdc7da-6b95-4019-aaff-ecdd194f4bd9)
api.parse.bot/scraper/07b74ea0-86a6-4474-b947-6555a7edf5a4/<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/07b74ea0-86a6-4474-b947-6555a7edf5a4/get_auction_details?auction_id=0abdc7da-6b95-4019-aaff-ecdd194f4bd9' \
  -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 sothebys-com-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.

from parse_apis.sothebys_auction_api import Sothebys, Auction, Lot, ItemNotFound

sothebys = Sothebys()

# Fetch auction details by UUID
auction = sothebys.auctions.get(auction_id="0abdc7da-6b95-4019-aaff-ecdd194f4bd9")
print(auction.title, auction.currency)
print(auction.location.name)
print(auction.dates.accepts_bids, auction.dates.goes_live)

# Browse sessions
for session in auction.sessions:
    print(session.title, session.scheduled_opening_date)
    if session.lot_range:
        print(session.lot_range.from_lot_nr, session.lot_range.to_lot_nr)

# Browse lot cards from the auction
for card in auction.lot_cards:
    print(card.lot_id, card.title, card.creators_display_title)

# Drill into a specific lot for full details
lot = auction.lots.get(lot_id=auction.lot_cards[0].lot_id)
print(lot.title, lot.description)
print(lot.creators_display_title)

if lot.estimate:
    if lot.estimate.estimate_upon_request:
        print("Estimate upon request")
    elif lot.estimate.low_estimate and lot.estimate.high_estimate:
        print(lot.estimate.low_estimate.amount, lot.estimate.high_estimate.amount)

if lot.media:
    for image in lot.media.images:
        for rendition in image.renditions:
            print(rendition.url, rendition.image_size, rendition.width, rendition.height)
All endpoints · 2 totalmissing one? ·

Retrieve full details of a specific auction by its UUID. Returns auction metadata including title, location, dates, sessions, and a list of lots (lotCards) with their titles, creators, and UUIDs.

Input
ParamTypeDescription
auction_idrequiredstringThe UUID of the auction (e.g., 0abdc7da-6b95-4019-aaff-ecdd194f4bd9)
Response
{
  "type": "object",
  "fields": {
    "slug": "object with name and year for URL construction",
    "dates": "object with auction timing info (acceptsBids, goesLive or startsToClose)",
    "title": "string auction title",
    "currency": "string currency code (e.g. USD)",
    "location": "object with name and displayLocation sub-object",
    "lotCards": "array of lot summary objects with lotId, title, creatorsDisplayTitle, lotNumber, slug",
    "overview": "string HTML description of the auction",
    "sessions": "array of session objects with sessionId, title, scheduledOpeningDate, lotRange",
    "auctionId": "string UUID of the auction"
  },
  "sample": {
    "data": {
      "slug": {
        "name": "contemporary-day-sale",
        "year": "2024"
      },
      "dates": {
        "goesLive": "2024-11-21T15:00Z",
        "__typename": "LiveAuctionDates",
        "acceptsBids": "2024-11-04T17:00Z"
      },
      "title": "Contemporary Day Auction",
      "currency": "USD",
      "location": {
        "name": "New York",
        "displayLocation": {
          "name": "New York",
          "timezone": "America/New_York"
        }
      },
      "lotCards": [
        {
          "slug": {
            "lotSlug": "taos"
          },
          "lotId": "9f85676c-96e5-497b-bc5e-92e69190bd13",
          "title": "Taos",
          "lotNumber": {
            "lotDisplayNumber": "101"
          },
          "creatorsDisplayTitle": "Richard Mayhew"
        }
      ],
      "overview": "<p>...</p>",
      "sessions": [
        {
          "title": "Session 1",
          "lotRange": {
            "toLotNr": 255,
            "fromLotNr": 101
          },
          "sessionId": 0,
          "scheduledOpeningDate": "2024-11-21T15:00Z"
        }
      ],
      "auctionId": "0abdc7da-6b95-4019-aaff-ecdd194f4bd9"
    },
    "status": "success"
  }
}

About the Sothebys API

Auction Data via get_auction_details

The get_auction_details endpoint accepts a single required parameter, auction_id (a UUID string such as 0abdc7da-6b95-4019-aaff-ecdd194f4bd9), and returns a full auction record. The response includes the auction title, currency, location object (with name and displayLocation), and a dates object that surfaces timing fields like acceptsBids and goesLive. The sessions array breaks the auction into discrete sale sessions, each with a sessionId, scheduledOpeningDate, and lotRange. The lotCards array provides a pageable summary of every lot in the auction, with each entry carrying lotId, lotNumber, title, creatorsDisplayTitle, and slug — the fields you need to feed into the lot detail endpoint.

Lot Data via get_lot_details

The get_lot_details endpoint requires both lot_id and auction_id UUIDs. It returns a detailed lot record including title, creatorsDisplayTitle, description (HTML string or null), and estimateV2 — an object that contains either lowEstimate/highEstimate monetary amounts or an estimateUponRequest flag. The media object holds an images array with multiple renditions at different sizes, suitable for display or archiving. Parent auction context is embedded in the auction sub-object, giving you auctionId, title, currency, slug, and locationV2 without a second lookup.

Coverage and Identifiers

Both endpoints are keyed on Sotheby's internal UUID format. Auction UUIDs and lot UUIDs are stable identifiers — lot UUIDs appear in the lotCards array returned by get_auction_details, so the typical workflow is to fetch an auction first, collect lotId values from lotCards, then query each lot individually. The slug fields on both auctions and lots correspond to the URL path structure on sothebys.com and can be used to construct canonical links.

Reliability & maintenanceVerified

The Sothebys API is a managed, monitored endpoint for sothebys.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sothebys.com 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 sothebys.com 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
7d ago
Latest check
2/2 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
  • Track hammer estimates and sale results for a specific artist by collecting estimateV2 data across multiple auctions.
  • Build an auction calendar app using sessions[*].scheduledOpeningDate and dates.goesLive fields.
  • Archive lot images at multiple resolutions using the media.images renditions array from get_lot_details.
  • Research provenance and collection history using the description HTML field returned per lot.
  • Aggregate lot counts per auction by measuring the lotCards array length from get_auction_details.
  • Map auction geography using location.displayLocation and locationV2 fields across multiple auction records.
  • Cross-reference creator names via creatorsDisplayTitle to compile sales histories for individual 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 Sotheby's offer an official public developer API?+
Sotheby's does not publish an official public developer API. Data access for developers is not documented or offered through any official developer portal on sothebys.com.
What does get_lot_details return for estimate information?+
The estimateV2 object contains either a lowEstimate and highEstimate pair (monetary amounts in the auction's currency) or an estimateUponRequest flag when Sotheby's has not published a numeric range for that lot. Realized sale prices are not included in the current response shape.
Does the API return sold/realized prices for lots?+
Not currently. The API covers pre-sale estimates via estimateV2, lot metadata, images, and provenance descriptions. Realized hammer prices and buyer's premium totals are not fields in the current response. You can fork this API on Parse and revise it to add a realized-price endpoint if that data becomes accessible.
Is there pagination for the lotCards array in get_auction_details?+
The lotCards array is returned as part of the single get_auction_details response for a given auction_id. Large auctions with many lots may return a truncated list — there is no built-in pagination parameter exposed in the current endpoint. You can fork the API on Parse and revise it to add offset or page-based parameters for large auction lots.
What data is required to call get_lot_details, and where do I get it?+
Both lot_id and auction_id are required UUID strings. The intended workflow is to call get_auction_details first with a known auction_id, then extract lotCards[*].lotId values from the response to use as inputs to get_lot_details.
Page content last updated . Spec covers 2 endpoints from sothebys.com.
Related APIs in MarketplaceSee all →
bonhams.com API
Search and browse fine art, collectibles, cars, and more across Bonhams auctions—find upcoming sales, view detailed lot listings, check past auction results, and filter by department. Instantly discover specific items and auction details with powerful search and filtering capabilities.
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.
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.
auctionzip.com API
Search and browse auction lots across the AuctionZip marketplace, view detailed lot information and complete auction catalogs, track historical prices realized, and discover auctioneers by name or location. Access auction schedules, item specifications, seller terms, and top-performing auctioneers.
encheres-publiques.com API
Search and browse real estate, vehicle, art, and equipment auctions across France, viewing detailed lot information and upcoming auction events from various organizers. Filter auction listings by category and type to find specific items and compare auction details to make informed bidding decisions.
artsy.net API
Browse and search across 300,000+ artists to discover detailed profiles with biographies, nationalities, career insights, and artwork counts. Find artists alphabetically or by name to explore their complete creative background and body of work.
auction.com API
auction.com API
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.