Metropolitan Museum of Art

Art API · 490K+ artworks · Museum collection · Rich metadata · No auth

TL;DR

The Metropolitan Museum of Art Collection API provides programmatic access to over 490,000 artworks and objects from the Met's collection. Search by keyword, department, artist, culture, period, or medium. Each record includes a high-resolution image (when available), title, artist, date, medium, dimensions, credit line, and classification. It's one of the most comprehensive museum APIs available.

Quick start: https://collectionapi.metmuseum.org/public/collection/v1/objects/437133

No API key needed — just make a request!

How to Use This API

1. Search for Artworks

https://collectionapi.metmuseum.org/public/collection/v1/search?q=sunflowers&hasImages=true

Search the full collection by keyword. Add hasImages=true to filter only objects with images.

2. Get Object Details by ID

https://collectionapi.metmuseum.org/public/collection/v1/objects/437133

Returns full details for object ID 437133 (Van Gogh's "Sunflowers"). Includes primaryImage, artistDisplayName, medium, dimensions, creditLine, classification, and more.

3. Search by Department

https://collectionapi.metmuseum.org/public/collection/v1/search?departmentId=11&q=painting&hasImages=true

Search within a specific department. Department IDs include: 1 (American Decorative Arts), 6 (Asian Art), 9 (Drawings and Prints), 10 (Egyptian Art), 11 (European Paintings), 19 (Modern Art), 21 (Photographs).

4. List All Departments

https://collectionapi.metmuseum.org/public/collection/v1/departments

Returns all museum departments with IDs and display names for filtering.

5. JavaScript — Art Search

async function searchMet(query, departmentId) {
  const params = new URLSearchParams({
    q: query,
    hasImages: true
  });
  if (departmentId) params.set('departmentId', departmentId);
  
  const resp = await fetch(
    `https://collectionapi.metmuseum.org/public/collection/v1/search?${params}`
  );
  const searchData = await resp.json();
  
  // Fetch details for first 5 results
  const details = await Promise.all(
    searchData.objectIDs?.slice(0, 5).map(async id => {
      const r = await fetch(
        `https://collectionapi.metmuseum.org/public/collection/v1/objects/${id}`
      );
      return r.json();
    }) || []
  );
  
  return details.map(o => ({
    title: o.title,
    artist: o.artistDisplayName,
    date: o.objectDate,
    medium: o.medium,
    image: o.primaryImage
  }));
}

searchMet('water lilies', 11).then(artworks => {
  artworks.forEach(a => {
    console.log(`${a.title} — ${a.artist} (${a.date})`);
  });
});
6. Python — Get Artwork with Image
import requests

def get_artwork(object_id):
    resp = requests.get(
        f'https://collectionapi.metmuseum.org/public/collection/v1/objects/{object_id}'
    )
    obj = resp.json()
    
    print(f"Title: {obj['title']}")
    print(f"Artist: {obj.get('artistDisplayName', 'Unknown')}")
    print(f"Date: {obj.get('objectDate', 'N/A')}")
    print(f"Medium: {obj.get('medium', 'N/A')}")
    print(f"Dimensions: {obj.get('dimensions', 'N/A')}")
    print(f"Classification: {obj.get('classification', 'N/A')}")
    if obj.get('primaryImage'):
        print(f"Image: {obj['primaryImage']}")
    return obj

get_artwork(436535)  # Starry Night
Try Starry Night: https://collectionapi.metmuseum.org/public/collection/v1/objects/436535

Frequently Asked Questions

How many objects are in the API?
The API covers over 490,000 objects from the Met's collection. Not all objects have images — use hasImages=true to filter for those that do.
What image sizes are available?
The primaryImage field returns a high-resolution JPG URL. The Met also provides additional image sizes through their IIIF image server — modify the URL for different resolutions.
What search fields are supported?
Full-text keyword search across title, artist, culture, period, medium, description. Also supports artistOrCulture=true and medium filters.
Can I use the images commercially?
The Met's Open Access Policy makes all public domain works freely available for any use, including commercial. Check the isPublicDomain field — if true, the image is free to use.
Are there rate limits?
No strict rate limits, but the API is rate-limited to prevent abuse. Reasonable usage for educational and hobby projects is fine.
How do I find object IDs to start with?
Use the search endpoint first, or browse the Met's online collection to find specific object IDs.

API Details

API URL
https://collectionapi.metmuseum.org/public/collection/v1
Documentation
metmuseum.github.io
Category
Art
Authentication
Not Required
Geographic Coverage
Global — Art from all cultures and periods in the Met collection

What You Can Build