Skip to content
Eden Engine

Smithsonian Collections Search (Museum Objects, Specimens and Archives Metadata)

smithsonian/search-objects

Searches the Smithsonian Institution's open-access collections (American History, Natural History, Air and Space, American Art, Portrait Gallery, Cooper Hewitt, the Libraries and Archives and more) and returns catalogue metadata for the matching objects, artworks, specimens, photographs and publications: title, owning museum, dates, makers, places, materials, dimensions, credit line, identifiers and the museum's own description, in the Smithsonian's relevance order, one page at a time. Only records the Smithsonian marks CC0 are returned, metadata only: no image or media links. q takes plain words, AND / OR, and fielded terms such as unit_code:NMAH or topic:Gastropoda. rowCount is the total number of matches and rows is the page you asked for (start is the zero-based offset). Dates are the museum's free text ("ca 1976", "17th century", "n.d."), not machine dates. Attribution: Smithsonian Institution Open Access (CC0); not endorsed by the Smithsonian.

activeper callv2

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Smithsonian Institution

Metadata from the Smithsonian Institution Open Access collections (si.edu/openaccess), released under Creative Commons Zero (CC0). Served by Eden Engine; not an official Smithsonian product and not endorsed by the Smithsonian.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "smithsonian/search-objects" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "smithsonian/search-objects" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "smithsonian/search-objects", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "smithsonian/search-objects", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "What to search for: plain words (apollo 11), AND / OR, or fielded terms such as unit_code:NMAH (National Museum of American History), topic:Gastropoda. unit_code values are the Smithsonian's unit acronyms (NMAH, NMNHBOTANY, NASM, SAAM, NPG, CHNDM, NMAI, SIL ...). A malformed expression is not an error: it returns zero matches."
    },
    "rows": {
      "type": "integer",
      "default": 10,
      "maximum": 50,
      "minimum": 1,
      "description": "How many records to return in this page, 1 to 50. Default 10."
    },
    "start": {
      "type": "integer",
      "default": 0,
      "maximum": 1000000,
      "minimum": 0,
      "description": "Zero-based offset of the first record to return, for paging: 0, then rows, then 2*rows. Reaches 1,000,000; a query with more matches than that should be narrowed instead."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "rowCount",
    "rows"
  ],
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "url",
          "title",
          "unitCode",
          "content"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The Smithsonian's row id for the record."
          },
          "url": {
            "type": "string",
            "description": "The record's identifier, for example edanmdm:nmah_1464762. The part after edanmdm: is the record_id Smithsonian Collections Object takes."
          },
          "type": {
            "type": "string",
            "description": "The record type, edanmdm for an object."
          },
          "title": {
            "type": "string",
            "description": "The object's title or name."
          },
          "content": {
            "type": "object",
            "required": [
              "descriptiveNonRepeating",
              "freetext",
              "indexedStructured"
            ],
            "properties": {
              "freetext": {
                "type": "object",
                "description": "The record's text fields (date, name, place, notes, physicalDescription, identifier, objectType, creditLine, topic ...), each a list of {label, content}.",
                "additionalProperties": true
              },
              "indexedStructured": {
                "type": "object",
                "description": "The search facets: object_type, date (decade or century buckets), place, name, topic, geoLocation, online_media_type.",
                "additionalProperties": true
              },
              "descriptiveNonRepeating": {
                "type": "object",
                "required": [
                  "metadata_usage"
                ],
                "properties": {
                  "metadata_usage": {
                    "type": "object",
                    "required": [
                      "access"
                    ],
                    "properties": {
                      "access": {
                        "enum": [
                          "CC0"
                        ],
                        "type": "string"
                      }
                    },
                    "additionalProperties": true
                  }
                },
                "description": "record_ID (the museum's own id, for example nmah_1464762), data_source (the owning unit's name), guid (a persistent link to the record), record_link (the museum's own page, when it has one) and metadata_usage.access, always CC0.",
                "additionalProperties": true
              }
            },
            "description": "The metadata: descriptiveNonRepeating (record_ID, data_source, guid, record_link, metadata_usage), freetext (fields as lists of {label, content}, in the museum's wording) and indexedStructured (the search facets: object_type, date buckets, place, name, topic, coordinates).",
            "additionalProperties": false
          },
          "unitCode": {
            "type": "string",
            "description": "The owning unit's acronym, for example NMAH or NMNHBOTANY."
          },
          "timestamp": {
            "type": "string",
            "description": "When the index first took the record in, Unix seconds as a string."
          },
          "lastTimeUpdated": {
            "type": "string",
            "description": "When the index last re-read the record, Unix seconds as a string. Not the date the object was made."
          }
        },
        "additionalProperties": false
      },
      "description": "The requested page, in the Smithsonian's relevance order."
    },
    "rowCount": {
      "type": "integer",
      "description": "The total number of records matching q, not the number returned. 0 for no match and for a malformed expression."
    },
    "notCc0Omitted": {
      "type": "integer",
      "description": "Present only when records the Smithsonian did not mark CC0 were dropped from this page; it counts them."
    }
  },
  "description": "The page of matching records and the total match count. Records are CC0 metadata only.",
  "additionalProperties": false
}