Metropolitan Museum of Art
Art & Design
Met Museum of Art
The Met's open-access API — 470k+ objects across all curatorial departments.
Auth
No Auth
HTTPS
Yes
CORS
No
API URL
Common Use Cases
- •Integrate this API into your web or mobile application
- •Build data-driven dashboards and visualization tools
- •Create automated workflows using the API endpoints
Integration Guide
Review the API Documentation
Visit the official Metropolitan Museum of Art documentation to understand available endpoints, request formats, and response structures. Familiarize yourself with the API's rate limits and usage policies before integration.
No Authentication Required
Good news — Metropolitan Museum of Art does not require any authentication. You can start making API requests directly without registering for an API key or setting up OAuth credentials.
Use HTTPS for Secure Requests
Metropolitan Museum of Art supports HTTPS, ensuring encrypted communication. Always use HTTPS endpoints in production to protect data in transit and comply with modern web security standards.
No CORS — Use a Backend Proxy
Metropolitan Museum of Art does not support CORS. To use it in a browser-based app, set up a backend proxy server that forwards requests to the API and returns the response with appropriate CORS headers.
Implement and Test
Write your API integration code, start with a simple test request to verify connectivity. Implement proper error handling for network failures, rate limits, and invalid responses. Monitor your API usage to stay within any limits.
Code Examples
JavaScript / Fetch API:
// JavaScript example
fetch("https://metmuseum.github.io/")
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => {
console.log("API response:", data);
})
.catch(error => {
console.error("Error fetching from Metropolitan Museum of Art:", error);
});Python / Requests:
# Python example
import requests
response = requests.get("https://metmuseum.github.io/")
if response.status_code == 200:
data = response.json()
print("API response:", data)
else:
print(f"Error: {response.status_code}")Frequently Asked Questions
Is Metropolitan Museum of Art free to use?
Do I need an API key for Metropolitan Museum of Art?
Can I use Metropolitan Museum of Art in a browser-based application?
What category does Metropolitan Museum of Art belong to?
Is Metropolitan Museum of Art secure?
Editor's Notes & Deep Dive
Key Features
- →GET /objects returns all object IDs (paginated, 1000 per page)
- →GET /objects/{objectID} returns full metadata: artist, period, medium, dimensions
- →GET /search?q={query} returns matching object IDs sorted by relevance
- →All CC0 images are directly downloadable via primaryImage URLs
Rate Limits & Quotas
Documented limit: 80 requests/second. The API is hosted on Azure and is generally very stable.
Known Issues & Pitfalls
- !isPublicDomain=true doesn't always mean the primaryImage is non-empty — check both
- !Object IDs are not contiguous; don't assume ID+1 is the next object
- !Search relevance is basic — combine with department filter for better results
How It Compares
The largest free museum API by collection size (~470k objects). The Art Institute of Chicago API is smaller (~100k) but has cleaner IIIF support.
Sample Response
{
"objectID": 45734,
"title": "The Great Wave off Kanagawa",
"artistDisplayName": "Katsushika Hokusai",
"objectDate": "1830–32",
"primaryImage": "https://images.metmuseum.org/CRDImages/...",
"isPublicDomain": true
}Pro Tips
- ✓Use ?hasImages=true on /search to filter out records without images