University of California, San Diego Search API

Faceted search across publicly discoverable digital objects and collections.

Operations 1

GET /dc/search.json Search digital collections #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ucsd-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ucsd-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: UC San Diego Library Digital Collections JSON Search API
  description: 'Public, read-only JSON search-and-retrieval interface over the UC San Diego Library Digital Collections (DC), the Library''s locally developed Digital Asset Management System (DAMS). The stack is Fedora-backed and Blacklight/Solr-fronted, and the JSON representations are the same documents that back the public HTML interface — request `.json` on a search or object path and the Solr response is returned directly.

    UC San Diego operates this service itself: `library.ucsd.edu` resolves inside UC San Diego address space (132.239.119.5) and is served from the Library''s own Apache origin, not from a repository vendor''s platform. It is registered on re3data as an institutional data provider (r3d100011577) and mints DOIs under the DataCite repository account CDL.UCSD (prefix 10.6075).

    UC San Diego does NOT publish an OpenAPI description for this interface. This document was written by API Evangelist from live probes of the endpoints and their responses on 2026-08-19; it is a description of observed behaviour, not a contract the institution has committed to.

    Note for automated clients: `library.ucsd.edu` fronts browser-like User-Agent strings with an Anubis proof-of-work bot challenge that returns HTTP 200 with a challenge body. Plain non-browser User-Agents (curl, python-requests) are served normally.'
  version: 2026-08-19
  contact:
    name: UC San Diego Library — Research Data Curation
    email: research-data-curation@ucsd.edu
    url: https://library.ucsd.edu/dc/p/about
  license:
    name: Rights vary per object; see the Digital Collections rights statements
    url: https://library.ucsd.edu/dc/p/collection_policies
servers:
- url: https://library.ucsd.edu
  description: UC San Diego Library Digital Collections (production)
tags:
- name: search
  description: Faceted search across publicly discoverable digital objects and collections.
paths:
  /dc/search.json:
    get:
      tags:
      - search
      summary: Search digital collections
      operationId: searchDigitalCollections
      description: Runs a dismax keyword search across publicly discoverable objects and returns the raw Solr response, including facet counts and highlighting. The service applies a server-side filter of `discover_access_group_ssim:public OR discover_access_group_ssim:unknown`, so restricted and embargoed material is never returned to anonymous clients. `GET /dc/search?format=json` returns the same body.
      parameters:
      - name: q
        in: query
        required: false
        description: Keyword query. Boosted across title, name, subject, scope/content note and full text.
        schema:
          type: string
        example: ocean
      - name: rows
        in: query
        required: false
        description: Number of documents to return in the response page.
        schema:
          type: integer
          minimum: 1
          default: 10
      - name: page
        in: query
        required: false
        description: 1-indexed result page.
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: sort
        in: query
        required: false
        description: Solr sort clause, e.g. `score desc` or `title_ssi asc`.
        schema:
          type: string
      responses:
        '200':
          description: Solr search response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolrSearchResponse'
        '404':
          description: Unknown path under /dc.
          content:
            text/html:
              schema:
                type: string
components:
  schemas:
    DigitalObject:
      type: object
      description: Solr document for a digital object. Field names follow the Samvera/Hydra dynamic field suffix convention (_tesim text stored indexed multivalued, _ssi string stored indexed, _sim string indexed multivalued, _dtsi date stored indexed).
      properties:
        id:
          type: string
          description: ARK name segment, also the object's public identifier.
          example: bb38236995
        active_fedora_model_ssi:
          type: string
          description: Fedora model of the record.
          example: DamsObject
        object_state_ssi:
          type: string
          example: A
        title_tesim:
          type: array
          items:
            type: string
        date_tesim:
          type: array
          items:
            type: string
        unit_code_tesim:
          type: array
          items:
            type: string
        collection_name_tesim:
          type: array
          items:
            type: string
        resource_type_tesim:
          type: array
          items:
            type: string
        rightsHolder_tesim:
          type: array
          items:
            type: string
        otherRights_tesim:
          type: array
          description: Serialized rights/permission statements including basis and permission type.
          items:
            type: string
        discover_access_group_ssim:
          type: array
          description: Access groups permitted to discover the object; `public` for open material.
          items:
            type: string
        system_create_dtsi:
          type: string
          format: date-time
        system_modified_dtsi:
          type: string
          format: date-time
      additionalProperties: true
    SolrSearchResponse:
      type: object
      description: Raw Solr response envelope as returned by the Blacklight front end.
      properties:
        responseHeader:
          type: object
          properties:
            status:
              type: integer
              example: 0
            QTime:
              type: integer
              example: 15
            params:
              type: object
              additionalProperties: true
        response:
          type: object
          properties:
            numFound:
              type: integer
              example: 12939
            start:
              type: integer
            maxScore:
              type: number
            numFoundExact:
              type: boolean
            docs:
              type: array
              items:
                $ref: '#/components/schemas/DigitalObject'
        facet_counts:
          type: object
          description: Facet field counts. Observed facets include unit_sim, collection_sim, creator_sim, decade_sim, object_type_sim, subject_topic_sim, subject_cruise_sim, subject_lithology_sim, subject_common_name_sim, subject_scientific_name_sim, subject_anatomy_sim, subject_series_sim and subject_cultural_context_sim.
          additionalProperties: true
        highlighting:
          type: object
          additionalProperties: true