Search for objects in our collection. You can try this method out right here in your browser!

Request Method

GET

Arguments

  • access_token (required) — A valid OAuth2 access token
  • format — The format in which to return the data. Supported formats are json, jsonp, dson. The default format is json.
  • query — Search for objects matching terms across all the text fields.
  • accession_number — Search for objects with a particular accession number.
  • color — Search for objects containing a particular color. Colors must be defined as valid hexidecimal color strings or as CSS color names
  • department_id — Search for objects belonging to a particular department, by department ID.
  • description — Search for objects matching terms in an object's description field.
  • on_display — Search for objects that are or are not currently on display.
  • display_date — Search for objects that match a given display date. Because we collect this data as a string, we are not currently able to perform advanced date queries on this field.
  • exhibition — Search for objects that were part of an exhibition, matching terms in the exhibition title.
  • exhibition_id — Search for objects that were part of an exhibition, by exhibition ID.
  • has_images — Search for objects that have images (or not).
  • has_no_known_copyright — Search for permanent collection objects which either have no known copyright (true) or are copyrighted / have an indeterminable copyright status (false)
  • justification — Search for objects matching terms in an object's justification statement (why we acquired an object).
  • location — Search for objects matching terms in the name of the country the object is from.
  • woe_id — Search for objects matching a specific country, by Where on Earth (WOE) ID. Multiple countries can be queried by passing a comma-separated list of WOE IDs.
  • medium — Search for objects matching terms for the medium associated with an object.
  • medium_id — Search for objects matching a specific medium, by medium ID
  • period — Search for objects matching terms for the period associated with an object.
  • period_id — Search for objects matching a specific period, by period ID.
  • person — Search for objects matching terms in one or more of the people associated with an object.
  • person_id — Search for objects matching a specific person, by person ID. Multiple people can be queried by passing a comma-separated list of person IDs.
  • role — Search for objects matching terms in one or more the roles associated with an object.
  • role_id — Search for objects matching a specific role, by role ID. Multiple roles can be queried by passing a comma-separated list of role IDs.
  • person_role_id — Search for objects with which a certain person has had a certain role. Format your query as person_id:role_id. For example, the value 18049321:35351535 would return objects for which Sarah Cooper Hewitt was the donor. Use commas to separate multiple person id/role id pairs.
  • tag — Search for objects matching a specific tag. Multiple tags can be queried by passing a comma-separated list of tag strings.
  • tag_id — Search for objects matching a specific tag, by ID. Multiple tag IDs can be queried by passing a comma-separated list of IDs.
  • title — Search for objects matching terms in an object's title field.
  • type — Search for objects matching terms in the type associated with an object.
  • type_id — Search for objects matching a specific medium, by type ID. Multiple types can be queried by passing a comma-separated list of type IDs.
  • year_acquired — Search for objects that were acquired in a given year. You can query for a range of years by passing two years separated by a hyphen, or by prefixing a year with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • year_end — Search for objects that "ended" in a given year. You can query for a range of years by passing two years separated by a hyphen, or by prefixing a year with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • year_start — Search for objects that "started" in a given year. You can query for a range of years by passing two years separated by a hyphen, or by prefixing a year with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • width — Search for objects having a given width (in centimeters). You can query for a range of widths by passing in two numbers separated by a hyphen, or by prefixing a number with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • height — Search for objects having a given height (in centimeters). You can query for a range of heights by passing in two numbers separated by a hyphen, or by prefixing a number with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • depth — Search for objects having a given depth (in centimeters). You can query for a range of depths by passing in two numbers separated by a hyphen, or by prefixing a number with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • longestside — Search for objects having a given length for its longest side (in centimeters). You can query for a range of lengths by passing in two numbers separated by a hyphen, or by prefixing a number with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • shortestside — Search for objects having a given length for its shortest side. You can query for a range of lengths by passing in two numbers separated by a hyphen, or by prefixing a number with one of the following: gt (greater-than), gte (greater-than-or-equal), lt (less-than), lte (less-than-of-equal)
  • page — The default is 1.
  • per_page — The default is 100 and the maximum is 500.

Example Request

curl -X GET 'https://api.collection.cooperhewitt.org/rest/?method=cooperhewitt.search.objects&access_token=<TOKEN>&query=<QUERY> &accession_number=<ACCESSION_NUMBER> &color=<COLOR> &department_id=<DEPARTMENT_ID> &description=<DESCRIPTION> &on_display=<ON_DISPLAY> &display_date=<DISPLAY_DATE> &exhibition=<EXHIBITION> &exhibition_id=<EXHIBITION_ID> &has_images=<HAS_IMAGES> &has_no_known_copyright=<HAS_NO_KNOWN_COPYRIGHT> &justification=<JUSTIFICATION> &location=<LOCATION> &woe_id=<WOE_ID> &medium=<MEDIUM> &medium_id=<MEDIUM_ID> &period=<PERIOD> &period_id=<PERIOD_ID> &person=<PERSON> &person_id=<PERSON_ID> &role=<ROLE> &role_id=<ROLE_ID> &person_role_id=<PERSON_ROLE_ID> &tag=<TAG> &tag_id=<TAG_ID> &title=<TITLE> &type=<TYPE> &type_id=<TYPE_ID> &year_acquired=<YEAR_ACQUIRED> &year_end=<YEAR_END> &year_start=<YEAR_START> &width=<WIDTH> &height=<HEIGHT> &depth=<DEPTH> &longestside=<LONGESTSIDE> &shortestside=<SHORTESTSIDE>'

Important

This API method uses OAuth2 and allows you to pass parameters as part of the URL (or as GET requests). One of those parameters is your access token which is extra special and has super-powers. Requests to and from the API are done over an encrypted channel so no one can see what's going on BUT that also means there are a couple things you need to be conscious of:

  1. That the request URL always starts with https:// and not just http:// — that little s is what tells your browser to use an encrypted connection.
  2. If you are copy-paste-ing those URLs in to an email or some other place where someone else might be able to read them you should make sure to remove the access token — remember the access token is what links your account to Cooper Hewitt, Smithsonian Design Museum Collections on behalf of an application and has super-powers.