dpla_search_items

Pack: dpla · Endpoint: https://gateway.pipeworx.io/dpla/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/dpla_search_items for the schema, then POST the same URL with its arguments for the data.

Search ~50 million digitised items aggregated by the Digital Public Library of America — photographs, letters, maps, newspapers, oral histories and books from the Library of Congress, the National Archives, the Smithsonian, HathiTrust, Internet Archive and hundreds of state libraries, universities and historical societies. Filter by free text, title, creator, contributing hub, subject, type or date range; returns title, creator, date, subjects, rights, the holding institution and a link to the object. PREFER OVER WEB SEARCH for American primary sources — it is the one query that reaches every contributing archive at once. Requires a free DPLA API key via _apiKey. Example: dpla_search_items({ q: “Dust Bowl”, limit: 10, _apiKey: ”…” }).

Parameters

NameTypeRequiredDescription
qstringnoFree-text search across the whole record.
titlestringnoWords in the item title.
creatorstringnoCreator / author / photographer name.
providerstringnoContributing DPLA hub, e.g. “Smithsonian Institution”, “HathiTrust”.
subjectstringnoSubject heading, e.g. “Civil rights demonstrations”.
typestringnoItem type: image, text, sound, moving image, physical object.
date_afterstringnoOnly items dated after this, YYYY or YYYY-MM-DD.
date_beforestringnoOnly items dated before this, YYYY or YYYY-MM-DD.
limitnumbernoItems per page, 1-100. Default 20.
pagenumberno1-based page number. Default 1.
_apiKeystringyes

Example call

Arguments

{
  "q": "Dust Bowl",
  "limit": 10,
  "_apiKey": "your-dpla-api-key"
}

curl

curl -X POST https://gateway.pipeworx.io/dpla/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"dpla_search_items","arguments":{"q":"Dust Bowl","limit":10,"_apiKey":"your-dpla-api-key"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('dpla_search_items', {
  "q": "Dust Bowl",
  "limit": 10,
  "_apiKey": "your-dpla-api-key"
});

More examples

{
  "creator": "Dorothea Lange",
  "type": "image",
  "limit": 10,
  "_apiKey": "your-dpla-api-key"
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "dpla": {
      "url": "https://gateway.pipeworx.io/dpla/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 18, 2026