LACMA APIlacma.org ↗
Access LACMA exhibitions, art collection search, events, and visitor info via a structured API. 9 endpoints returning titles, images, dates, and metadata.
What is the LACMA API?
The LACMA API provides 9 endpoints for retrieving structured data from the Los Angeles County Museum of Art, covering current, upcoming, and past exhibitions, a searchable art collection, events calendar, and visitor information. The search_collection endpoint accepts a keyword query and returns paginated artwork records including artist, date, medium, and image URL, while get_artwork_detail resolves any numeric artwork ID to its full metadata.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/65ccd905-8c35-47f2-b77b-326dd029b03d/get_current_exhibitions' \ -H 'X-API-Key: $PARSE_API_KEY'
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 lacma-org-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.
"""Walkthrough: LACMA API — browse exhibitions, search artworks, check events."""
from parse_apis.lacma_api import Lacma, NotFound
client = Lacma()
# List current exhibitions — limit caps total items fetched
for exh in client.exhibitionsummaries.current(limit=3):
print(exh.title, exh.dates, exh.location)
# Drill into the first current exhibition's full details
summary = client.exhibitionsummaries.current(limit=1).first()
if summary:
detail = summary.details()
print(detail.title, detail.dates, detail.description[:100])
# Search the art collection by keyword
artwork = client.artworks.search(query="monet", limit=1).first()
if artwork:
print(artwork.title, artwork.artist, artwork.dated)
# Fetch a specific artwork by ID — typed error handling
try:
piece = client.artworks.get(id="12776")
print(piece.title, piece.artist, piece.medium)
except NotFound as exc:
print(f"Artwork not found: {exc}")
# Browse upcoming events
for event in client.events.list(limit=3):
print(event.title, event.date, event.category)
print("exercised: exhibitionsummaries.current / details / artworks.search / artworks.get / events.list")
Get current exhibitions at LACMA. Returns exhibitions currently on view with titles, dates, locations, images, and descriptions. Results are a single page of all current exhibitions.
No input parameters required.
{
"type": "object",
"fields": {
"exhibitions": "array of exhibition objects with title, url, image, dates, location, and description"
},
"sample": {
"data": {
"exhibitions": [
{
"url": "https://www.lacma.org/art/exhibition/andrew-thomas-huang-deer-nine-colors",
"dates": "May 31 - June 14, 2026",
"image": "https://www-images.lacma.org/s3fs-public/styles/exhibition_listing/public/2026-05/EX9644_02.jpg",
"title": "Andrew Thomas Huang: The Deer of Nine Colors",
"location": "BCAM, Level 2",
"description": "Andrew Thomas Huang's The Deer of Nine Colors is a cyber-futuristic retelling of a Buddhist folktale..."
}
]
},
"status": "success"
}
}About the LACMA API
Exhibitions and Events
Three listing endpoints — get_current_exhibitions, get_upcoming_exhibitions, and get_past_exhibitions — each return a full page of exhibition objects. Every object includes title, url, image, dates, location, and description. For deeper detail on any single exhibition, get_exhibition_detail accepts a slug (the last path segment of an exhibition URL) and returns the same fields plus the full description text. The get_events_and_programs endpoint returns the events calendar with title, date, time, category, status, description, location, and image per event.
Art Collection Search
search_collection accepts a required query string and an optional 0-based page integer. Each page returns up to 48 results, and the response includes a total count of all matches so you can calculate how many pages to iterate. Each result in the results array carries an id, title, artist, dated, image, and url. Pass any id value to get_artwork_detail to retrieve metadata fields — Artist, Date, and Medium — along with the primary image URL and artwork page URL.
Visitor Information
Two endpoints cover practical visit planning. get_museum_info returns the museum address, an hours array, and a social_media URL list sourced from the LACMA homepage. get_visit_info returns a longer description string covering ticketing, dining, the museum store, and policies, along with the URL to the plan-your-visit page. These endpoints require no input parameters.
The LACMA API is a managed, monitored endpoint for lacma.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when lacma.org 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 lacma.org 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a gallery app that surfaces current LACMA exhibitions with images and date ranges from
get_current_exhibitions - Create an art research tool that lets users search the collection by artist name and retrieve medium and date metadata via
get_artwork_detail - Sync a travel itinerary platform with LACMA's events calendar using
get_events_and_programsdata including date, time, and location - Power a museum discovery widget that shows upcoming exhibitions with cover images and descriptions from
get_upcoming_exhibitions - Aggregate LACMA visitor logistics — hours, address, ticketing — into a city guide app using
get_museum_infoandget_visit_info - Track exhibition turnover by diffing
get_past_exhibitionsresponses over time to detect newly closed shows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does LACMA have an official developer API?+
What does `search_collection` return, and how does pagination work?+
id, title, artist, dated, image, and url. The total field in the response tells you the full result count. Pages are 0-based, so pass page=1 for the second page. Iterate until (page + 1) * 48 >= total to exhaust results.Do the exhibition endpoints return exhibition wall text or catalog essays?+
description field in get_exhibition_detail returns the full descriptive text available on the exhibition page, but extended catalog essays or wall-panel text are not currently part of the response. You can fork this API on Parse and revise it to add an endpoint targeting that content if the source page exposes it.Is artwork provenance or acquisition history available through `get_artwork_detail`?+
get_artwork_detail returns Artist, Date, and Medium from the metadata object, plus the primary image and page URL. Provenance, credit lines, and acquisition history are not included in the current response shape. You can fork this API on Parse and revise it to capture additional metadata fields from the artwork page.Are exhibition listing results paginated?+
get_current_exhibitions, get_upcoming_exhibitions, get_past_exhibitions) returns a single page containing all available exhibitions in that category. There are no pagination parameters for these endpoints.