davidrumsey.com APIwww.davidrumsey.com ↗
Search and retrieve metadata from the David Rumsey Map Collection. Access IIIF URLs, georeferencing status, image dimensions, and map details via 2 endpoints.
curl -X GET 'https://api.parse.bot/scraper/e62c82ea-9333-413b-9115-6db7e68e5acf/search_maps' \ -H 'X-API-Key: $PARSE_API_KEY'
Search the David Rumsey Historical Map Collection by keyword. Returns paginated results with metadata including title, date, author, item ID, IIIF image service URL, full-resolution image URL, download URL, image dimensions, and georeferencing status for each map.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (starts at 1). |
| keyword | string | Search keyword to query the map collection. |
| page_size | integer | Number of results per page (1-100). |
{
"type": "object",
"fields": {
"page": "integer",
"results": "array of map result objects",
"page_size": "integer",
"total_results": "integer"
},
"sample": {
"page": 1,
"results": [
{
"date": "1876",
"type": "Atlas Map",
"title": "New railroad map of the United States and Dominion of Canada.",
"author": "Andreas, A. T. (Alfred Theodore), 1839-1900; Baskin, Forster and Company",
"item_id": "RUMSEY~8~1~22982~790006",
"list_no": "0019.006",
"image_width": 11043,
"download_url": "https://www.davidrumsey.com/rumsey/download.pl?image=/D0079/0019006.sid",
"image_height": 6624,
"georeferenced": true,
"iiif_manifest_url": "https://www.davidrumsey.com/luna/servlet/iiif/m/RUMSEY~8~1~22982~790006/manifest",
"georeferencer_status": "georeferenced",
"iiif_image_service_url": "https://www.davidrumsey.com/luna/servlet/iiif/RUMSEY~8~1~22982~790006",
"full_resolution_image_url": "https://www.davidrumsey.com/luna/servlet/iiif/RUMSEY~8~1~22982~790006/full/full/0/default.jpg"
}
],
"page_size": 3,
"total_results": 7413
}
}About the davidrumsey.com API
The David Rumsey Historical Map Collection API provides access to one of the largest digitized historical map archives through 2 endpoints. Use search_maps to query the collection by keyword and retrieve paginated results including IIIF image service URLs, full-resolution image URLs, and georeferencing status. Use get_map_details to pull comprehensive metadata for a specific map by its unique item ID, including publisher, scale, physical dimensions, and IIIF manifest URL.
Searching the Collection
The search_maps endpoint accepts a keyword string and returns paginated results controlled by page and page_size (1–100 items per page). Each result object includes the map's title, author, date, item_id, iiif_image_service_url, full_resolution_image_url, download_url, image dimensions, and georeferencing status. The item_id follows the format RUMSEY~8~1~XXXXXX~XXXXXXXX and serves as the key to fetch deeper metadata.
Retrieving Map Details
The get_map_details endpoint takes a required item_id and returns a richer metadata record. Fields include title, author, date, publisher, scale, type, list_no, image_no, note, image dimensions, iiif_image_service_url, iiif_manifest_url, full_resolution_image_url, download_url, and georeferencing data. The IIIF manifest URL is particularly useful for integrating the map into viewers like OpenSeadragon or Universal Viewer.
IIIF and Georeferencing
Every map result exposes a iiif_image_service_url, enabling tile-based rendering at arbitrary zoom levels through any IIIF-compliant image viewer. The get_map_details response additionally provides a iiif_manifest_url for full presentation metadata. Georeferencing status indicates whether a map has been spatially registered, which is relevant for overlaying historical maps onto modern basemaps in GIS applications.
Coverage and Scope
The collection spans several centuries of cartographic history with global geographic coverage. Keyword search surfaces maps by place name, cartographer, date, or subject. Pagination via page and total_results lets you iterate the full result set for a given query. Physical dimension fields (scale, image width/height) support research workflows that need to reason about map resolution or reproduction quality.
- Overlay georeferenced historical maps onto modern web maps using the IIIF image service URL for tile rendering
- Build a research tool that surfaces David Rumsey maps by place name keyword and displays full-resolution images
- Filter maps by georeferencing status to identify candidates for spatial analysis in a GIS pipeline
- Populate a digital humanities database with structured map metadata including author, date, publisher, and scale
- Integrate IIIF manifest URLs into deep-zoom viewers like Universal Viewer or Mirador for scholarly annotation
- Compare physical and digital image dimensions across maps to assess scan resolution for reproduction projects
- Enumerate a cartographer's full output by searching their name and paginating through all matching results
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does David Rumsey provide an official developer API?+
What does the `get_map_details` endpoint return beyond what `search_maps` provides?+
get_map_details adds fields not present in search results: publisher, scale, type, list_no, image_no, note, and a iiif_manifest_url. The manifest URL is absent from search_maps results, making get_map_details the right call when you need to feed a IIIF-compliant viewer or need bibliographic detail beyond title, author, and date.Can I retrieve a list of all maps in the collection without a keyword?+
search_maps endpoint accepts an optional keyword parameter, so you can call it without a keyword to browse the collection. Pagination is controlled via page and page_size, and total_results tells you the full set size. Iterating all results without a keyword will surface the entire indexed collection across pages.Does the API expose collection-level browse categories, curator notes, or user annotations?+
note field of get_map_details, but collection folders, curator-defined categories, and any user annotation layers are not exposed. You can fork this API on Parse and revise it to add an endpoint targeting those browse structures.Is there a known limitation on how many results a single search query can return?+
page_size is capped at 100 per request. For queries with large result sets, you need to paginate using the page parameter and total_results to determine how many pages exist. There is no single-call method to retrieve more than 100 maps at once.