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
| Name | Type | Required | Description |
|---|---|---|---|
q | string | no | Free-text search across the whole record. |
title | string | no | Words in the item title. |
creator | string | no | Creator / author / photographer name. |
provider | string | no | Contributing DPLA hub, e.g. “Smithsonian Institution”, “HathiTrust”. |
subject | string | no | Subject heading, e.g. “Civil rights demonstrations”. |
type | string | no | Item type: image, text, sound, moving image, physical object. |
date_after | string | no | Only items dated after this, YYYY or YYYY-MM-DD. |
date_before | string | no | Only items dated before this, YYYY or YYYY-MM-DD. |
limit | number | no | Items per page, 1-100. Default 20. |
page | number | no | 1-based page number. Default 1. |
_apiKey | string | yes |
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.