ParseForge Scrapers

Metropolitan Museum of Art Scraper

parseforge/met-museum-scraper

OtherEducationAutomation

Scrapes artwork records from the Metropolitan Museum of Art's open-access collection by search query, department ID, or object ID. Returns each artwork as a flat row with full metadata and image URLs.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
123
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

Metropolitan Museum of Art Scraper

Scrape the Metropolitan Museum of Art's open collection of 470,000+ artworks, filtered by keyword, department, or object ID. Every record returns title, artist, date, medium, dimensions, and high-resolution image URLs. No API key required. Export to CSV, JSON, Excel, or XML.

The Metropolitan Museum of Art's official API requires registration and rate limits your requests. This Actor reads the public open-access collection feeds directly, letting you search by artist, title, or culture, browse entire departments, or fetch specific object records by their numeric ID. Each artwork lands in your dataset as one flat row with its full metadata and image links.

Who uses it What they scrape The Metropolitan Museum of Art for
Art historians Gathering a corpus of works by a specific artist or period for a research paper.
Data scientists Building a training dataset of labeled artwork images and metadata for a machine learning model.
App developers Populating an art discovery app with high-resolution public-domain images and descriptions.
Educators Creating a visual syllabus of artworks from a particular culture or medium for a course.

What it does

This Actor collects artwork records from the Metropolitan Museum of Art's open-access collection by search query, department ID, or specific object IDs, and returns each one as a flat row.

  • ๐Ÿ” Search Artworks: Free-text query across artist, title, culture, and keyword fields.
  • ๐Ÿ›๏ธ List by Department: Pull every object in a curatorial department by its numeric ID.
  • ๐Ÿ†” Fetch by Object IDs: Supply a list of known MET object IDs and get their full records back.
  • ๐Ÿ“‹ List All Departments: Discover every department ID and name before you scrape.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with The Metropolitan Museum of Art data

๐Ÿ“š Build an art history dataset.

A researcher searches for 'impressionism' with the highlights filter on, collects 500 records, and exports them to CSV for a publication on curatorial selection.

๐Ÿ–ผ๏ธ Power a public-domain art app.

A developer pulls the entire European Paintings department, filters to records with images, and uses the high-resolution URLs to populate a mobile gallery app.

๐Ÿ›๏ธ Audit what is on view.

A journalist runs a department scrape with the 'on view' filter to compare the MET's online catalog against the physical galleries before a review.

๐Ÿค– Train an artwork classifier.

A data scientist fetches 50,000 object IDs, downloads the linked images, and pairs them with medium and culture labels for a computer vision model.

Why choose this scraper

What you get
No API key Reads the public open-access feeds directly with no registration or authentication.
High-res images Every record includes the primary image URL and additional image links when available.
Curator filters Restrict results to only highlights, only items currently on view, or only records with images.
Fixed schema Every artwork arrives as one flat row, ready for CSV, JSON, Excel, or XML export.

How it compares

This Actor covers all four access modes and three search filters in one run, while the listed competitors focus on keyword search and image availability.

Feature ParseForge Met Museum Scraper - Art Collection Data ๐Ÿ–ผ๏ธ Art Museum Intelligence - Met & Art Institute Data Metropolitan Museum of Art Scraper
Search by keyword Yes Yes Yes Yes
Browse by department ID Yes Not listed Not listed Yes
Fetch by specific object IDs Yes Not listed Not listed Not listed
List all departments Yes Not listed Not listed Not listed
Filter to highlights only Yes Not listed Not listed Not listed
Filter to on-view only Yes Not listed Not listed Not listed
Multi-museum search MET only MET only Yes (MET + Art Institute) MET only

Configure the run

Drive the Actor from a search term, a department ID, or a list of object IDs, and apply filters for images, highlights, and on-view status so only matching artworks reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "mode": "search",
  "query": "sunflowers"
}

A larger pull:

{
  "maxItems": 200,
  "mode": "search",
  "query": "sunflowers"
}

Pricing

Pay-per-result: $0.01099 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.10
1,000 results $10.99
10,000 results $109.90

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Metropolitan Museum of Art Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to The Metropolitan Museum of Art through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/met-museum-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results for my search query?

Check that your search term is spelled correctly and is not too narrow. Also verify that you have not enabled 'Only Highlights' or 'Only Items Currently On View' if those filters are too restrictive for your query. Try a broader term like 'landscape' or 'portrait' first.

The Actor returns fewer results than the max I set.

This is expected when the collection has fewer matching artworks than your maximum. The Actor stops when it exhausts the available records. Try removing filters or broadening your search term to get more results.

My department scrape returns nothing.

Run the Actor in 'List All Departments' mode first to confirm the department ID you are using is valid. Department IDs are integers between 1 and 21. Make sure you have entered the numeric ID, not the department name.

Some records are missing the primary image URL.

Not every artwork in the MET collection has been photographed. If you need images, enable the 'Only Items with Images' filter in Search mode. In other modes, records without images will have an empty primary image field.

My object ID list is not being read correctly.

In 'Fetch by Object IDs' mode, enter one numeric ID per line with no commas or extra characters. The Actor expects plain integers. Check that your IDs are valid MET object IDs by looking one up on the museum's website.

FAQ

Question Answer
Do I need a MET API key to use this scraper? No. This Actor reads the public open-access feeds that the Metropolitan Museum of Art provides without authentication. You do not need to register an application or obtain a key.
What artwork metadata does each record include? Each row returns the object ID, title, artist display name, artist bio, object date, medium, dimensions, culture, period, dynasty, classification, department, credit line, and the primary image URL plus additional image links.
Can I filter to only artworks that have images? Yes. In Search mode, enable the 'Only Items with Images' checkbox and the Actor will skip any record that lacks a primary image.
How do I find the numeric department ID I need? Run the Actor in 'List All Departments' mode first. It returns every department ID and its display name. Copy the ID you want into the 'Department ID' field for a department scrape.
Can I scrape only the curator-picked highlights? Yes. In Search mode, check 'Only Highlights' and the Actor will return only the artworks the MET's curators have designated as highlights of the collection.
How do I get artworks that are currently hanging in the museum? In Search mode, enable the 'Only Items Currently On View' filter. The Actor restricts results to pieces that are physically on display at the MET.
What is the maximum number of artworks I can scrape in one run? You can set the maximum up to 1,000,000 artworks per run. The Actor will stop when it reaches your limit or when there are no more matching records.
Can I fetch specific artworks if I already know their object IDs? Yes. Switch to 'Fetch by Object IDs' mode and paste your list of numeric MET object IDs, one per line. The Actor fetches the full record for each one.
Are the images free to use? The Metropolitan Museum of Art designates many of its collection images as public domain under Creative Commons Zero (CC0). This Actor returns the image URLs; you are responsible for verifying the rights status of each image before use.
What export formats are supported? You can export your dataset to CSV, JSON, Excel, or XML directly from your Apify run. The flat row schema works with all four formats.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by The Metropolitan Museum of Art. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of artworks to collect per run. 10
mode string (4 options) Search: query artworks by keyword. Department: list objects in a department. ObjectIds: fetch specific object records by numeric ID. search
query string Search mode. Free text query (artist, title, culture, keyword). sunflowers
departmentId integer Department mode. Numeric department ID (1-21). Run in 'List All Departments' mode first to discover IDs. not set
objectIds array ObjectIds mode. List of MET object IDs to fetch (one per line). not set
hasImages boolean Search mode. Restrict to records that have at least one primary image. true
isHighlight boolean Search mode. Restrict to curator-picked highlight artworks. false
isOnView boolean Search mode. Restrict to pieces currently displayed at the MET. false

Pricing

from $8.24 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.00824 to $0.01099

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~met-museum-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Metropolitan Museum of Art Scraper on Apify All scrapers