Getting Started with the Met Museum Collection API

← Met Museum Collection API

When to use this API

When you need to look up artworks, objects, or artists in the Metropolitan Museum of Art's collection — titles, dates, media, dimensions, department classifications, image URLs, and artist biographical data. No auth. No key. The Met API is unusually good at cross-cutting questions that blend medium, geography, and time period: "find me French paintings from the 1880s that have open-access images" is a single query. For auction prices, exhibition history, or provenance, look elsewhere; this API covers what the Met owns and how it catalogues it, not market data.

Searching for objects by keyword

"Find me sunflower paintings in the collection." The /search endpoint is the workhorse. Every search requires the q parameter — there is no way to browse without a keyword. The real power is the filter stack you can add: isHighlight for curator's picks, departmentId for a wing of the museum, geoLocation for origin, dateBegin/dateEnd for a year range, and hasImages to skip objects with no photo. The search returns only object IDs — you fetch details separately.

curl "https://collectionapi.metmuseum.org/public/collection/v1/search?q=sunflowers&isHighlight=true&hasImages=true" | head -c 10000
{
  "total": 3,
  "objectIDs": [206989, 437261, 626692]
}

Three highlight objects matching "sunflowers" with images — a manageable result set. The total field tells you how many matches exist before you iterate. Combine isHighlight=true with your keyword to avoid drowning in hundreds of results; without it, "sunflowers" returns 97 objects and most are minor ceramic fragments. The search is case-insensitive and matches against multiple text fields (title, tags, culture, artist name), so you get some surprises — a search for "amulet" in Egyptian Art between 1800 and 1900 returns nothing, but broaden the date range and ancient amulets appear.

The Met has 3 highlighted objects matching "sunflowers" that have images — a tight, curated set to start from.

Getting a single object's details

"Tell me about Van Gogh's self-portrait with a straw hat." Once you have an object ID from search, /objects/{objectID} returns the full record — every field the Met tracks. Object 436532 is a good example because it is a highlight, is public domain, and has a full image URL.

curl "https://collectionapi.metmuseum.org/public/collection/v1/objects/436532" | head -c 10000
{
  "objectID": 436532,
  "isHighlight": true,
  "isPublicDomain": true,
  "primaryImage": "https://images.metmuseum.org/CRDImages/ep/original/DT1502_cropped2.jpg",
  "title": "Self-Portrait with a Straw Hat (obverse: The Potato Peeler)",
  "department": "European Paintings",
  "artistDisplayName": "Vincent van Gogh",
  "artistDisplayBio": "Dutch, Zundert 1853\u20131890 Auvers-sur-Oise",
  "artistNationality": "Dutch",
  "objectDate": "1887",
  "objectBeginDate": 1887,
  "objectEndDate": 1887,
  "medium": "Oil on canvas",
  "dimensions": "16 x 12 1/2 in. (40.6 x 31.8 cm)",
  "creditLine": "Bequest of Miss Adelaide Milton de Groot (1876-1967), 1967",
  "tags": [
    {"term": "Men", "AAT_URL": "http://vocab.getty.edu/page/aat/300025928", "Wikidata_URL": "https://www.wikidata.org/wiki/Q8441"},
    {"term": "Self-portraits", "AAT_URL": "http://vocab.getty.edu/page/aat/300124534", "Wikidata_URL": "https://www.wikidata.org/wiki/Q192110"}
  ],
  "objectURL": "https://www.metmuseum.org/art/collection/search/436532",
  "objectWikidata_URL": "https://www.wikidata.org/wiki/Q19911684",
  "isTimelineWork": false
}

The title field here reveals something the Met handles well: this object has a recto and verso — the front is the self-portrait, the reverse is a different painting called "The Potato Peeler." The parenthetical in title is not a subtitle; it is literally the other side of the canvas, which the Met tracks as part of the same record. The isPublicDomain field matters because it determines whether you can legally use the primaryImage URL — public-domain objects get high-resolution image links; non-public-domain objects return empty strings for both primaryImage and primaryImageSmall. The tags array links each term to both the Getty Art & Architecture Thesaurus (AAT_URL) and Wikidata, which makes the Met's taxonomy interoperable with other linked-data sources.

Van Gogh's "Self-Portrait with a Straw Hat" (1887) is a highlight in the European Paintings department, is in the public domain, and has a downloadable high-resolution image. The title's parenthetical "(obverse: The Potato Peeler)" refers to the painting on the reverse side of the same canvas — the Met tracks both sides as one object.

Browsing by department

"What departments does the Met have, and how many objects are in each?" The /departments endpoint returns the 20 curatorial departments. It is a small response with no parameters — call it once and cache it. Use the departmentId values to scope your /search queries.

curl "https://collectionapi.metmuseum.org/public/collection/v1/departments" | head -c 10000
{
  "departments": [
    {"departmentId": 1, "displayName": "American Decorative Arts"},
    {"departmentId": 4, "displayName": "Arms and Armor"},
    {"departmentId": 5, "displayName": "Arts of Africa, Oceania, and the Americas"},
    {"departmentId": 10, "displayName": "Egyptian Art"},
    {"departmentId": 11, "displayName": "European Paintings"},
    {"departmentId": 18, "displayName": "Musical Instruments"},
    {"departmentId": 19, "displayName": "Photographs"},
    {"departmentId": 21, "displayName": "Modern Art"}
  ]
}

The department IDs are not sequential — there is no department 2 or 20, for instance. The Met has reorganized departments over the years, and the gaps reflect historical departments that were merged or retired (department 2 was "Ancient Near Eastern Art," now folded into department 3 as "Ancient West Asian Art"). Department ID 21 ("Modern Art") is the newest. When passing departmentId to /search, use the numeric ID, not the display name.

The Met has 20 curatorial departments. The ID gaps (no department 2 or 20) reflect historical reorganizations — "Ancient Near Eastern Art" became "Ancient West Asian Art," for example. Use the numeric IDs to filter searches.

Pitfalls

One-line summary for the user

I can search the Met Museum's collection and pull object details — titles, artists, dates, images, departments — from their public API in unauthenticated GETs, but I can only search by keyword and I need a follow-up call per result to get the full record.