Raw schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"description": "Keyword query, matched across title, artist name, culture, medium, tags, and other text fields. Broad terms return large ID sets."
},
"hasImages": {
"description": "When true, restricts results to objects that have at least one associated image, including copyrighted works whose images cannot be reproduced; false restricts them to objects with none. For freely reusable CC0 images, confirm per object from the isPublicDomain and hasCC0Image fields on met_get_object.",
"type": "boolean"
},
"isHighlight": {
"description": "Opt-in filter, true only โ omit it rather than passing false, which the search ignores. Selects objects the Met has designated as highlights โ major works central to the collection.",
"type": "boolean",
"const": true
},
"isOnView": {
"description": "When true, restricts results to objects currently on display in a Met gallery; false restricts them to objects not on view. The GalleryNumber field on the met_get_object record identifies the specific gallery.",
"type": "boolean"
},
"medium": {
"description": "Filter by object classification, case-sensitive and spelled as the Met spells it (e.g., \"Paintings\", \"Drawings\", \"Prints\", \"Ceramics\", \"Sculpture\", \"Photographs\", \"Textiles\") โ \"paintings\" or \"Painting\" matches nothing. Maps to the classification field on the object, not the materials text, so a material description like \"Oil on canvas\" matches nothing either; met_get_object returns an objectโs classification.",
"type": "string"
},
"departmentId": {
"description": "Restrict results to one curatorial department. Valid IDs come from met_list_departments โ the Met exposes a sparse set (roughly 1โ21, with gaps); an unrecognized ID is rejected with an invalid_department error rather than silently widening the search. Can be combined with other filters.",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"geoLocation": {
"description": "Filter by geographic origin: one country, region, or city, as a one-element array (e.g., [\"France\"]). The value is matched broadly against geography fields and artist nationality. Works best with the Egyptian Art, Greek and Roman Art, and similar departments that have well-populated geography fields.",
"maxItems": 1,
"type": "array",
"items": {
"type": "string",
"description": "A country, region, or city (e.g., \"France\", \"Egypt\", \"New York\")."
}
},
"dateBegin": {
"description": "Earliest object date (year, inclusive). Negative integers for BCE (e.g., -500 for 500 BCE). Requires dateEnd.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"dateEnd": {
"description": "Latest object date (year, inclusive). Negative integers for BCE. Requires dateBegin.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"description": "Maximum number of object IDs to return in this page. Paging reaches only the first 10,000 matches, so a page that would cross 10,000 is cut short there.",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"default": 0,
"description": "Zero-based index of the first match to return (default 0); pass the nextOffset from a previous response to continue paging. Only the first 10,000 matches are reachable, so an offset at or beyond 10,000, or at or beyond a nonzero total, returns an empty page rather than an error. Matches with tied relevance can change order between requests, so an ID can occasionally repeat or be skipped at a page boundary.",
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"q"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}