Art Institute of Chicago Search API

Cross-resource Elasticsearch-style search.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-artwork-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-place-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-gallery-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-exhibition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-product-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-schema/art-institute-of-chicago-tour-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-artwork-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-agent-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-place-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-gallery-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-exhibition-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-product-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-structure/art-institute-of-chicago-tour-structure.json

Other Resources

🔗
License
https://creativecommons.org/publicdomain/zero/1.0/
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-artworks-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-agents-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-exhibitions-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-galleries-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-places-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-products-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-tours-list-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/examples/art-institute-of-chicago-exhibitions-search-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/art-institute-of-chicago/refs/heads/main/json-ld/art-institute-of-chicago-context.jsonld

OpenAPI Specification

art-institute-of-chicago-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Art Institute of Chicago Public Agent Roles Search API
  description: 'The Art Institute of Chicago publishes an open, REST + Elasticsearch-style API for ~120,000 artworks plus artists/agents, places, galleries, exhibitions, tours, mobile sounds, products, publications, sections, sites, educational resources, digital and printed publications, and static archive images. Most data is CC0 1.0; descriptions and places are CC-BY 4.0. No API key required. Anonymous limit: 60 requests/minute per IP. Clients should send an AIC-User-Agent header (recommended for courtesy tracking).'
  termsOfService: https://www.artic.edu/terms/terms-and-conditions
  contact:
    email: engineering@artic.edu
    url: https://api.artic.edu/docs/
  license:
    name: CC0 1.0 (data) / CC-BY 4.0 (descriptions and place data)
    url: https://creativecommons.org/publicdomain/zero/1.0/
  version: '1.14'
servers:
- url: https://api.artic.edu/api/v1
  description: Public API v1
tags:
- name: Search
  description: Cross-resource Elasticsearch-style search.
paths:
  /search:
    get:
      tags:
      - Search
      operationId: searchAll
      summary: Search All Resources
      description: Full-text and Elasticsearch DSL search across all indexed resources.
      parameters:
      - $ref: '#/components/parameters/SearchQ'
      - $ref: '#/components/parameters/SearchQuery'
      - $ref: '#/components/parameters/SearchSort'
      - $ref: '#/components/parameters/SearchFrom'
      - $ref: '#/components/parameters/SearchSize'
      - $ref: '#/components/parameters/SearchFacets'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  preference:
                    type:
                    - string
                    - 'null'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SearchHit'
                  info:
                    $ref: '#/components/schemas/Info'
                  config:
                    $ref: '#/components/schemas/Config'
        default:
          description: Error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    SearchFrom:
      name: from
      in: query
      description: Elasticsearch offset pagination starting record.
      required: false
      schema:
        type: integer
        minimum: 0
    SearchQuery:
      name: query
      in: query
      description: Elasticsearch Query DSL JSON (URL-encoded).
      required: false
      schema:
        type: string
    SearchSize:
      name: size
      in: query
      description: Elasticsearch page size (max 100).
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
    SearchSort:
      name: sort
      in: query
      description: Sort specification (Elasticsearch sort syntax).
      required: false
      schema:
        type: string
    SearchFacets:
      name: facets
      in: query
      description: Comma-separated list of fields to facet on for aggregations.
      required: false
      schema:
        type: string
    SearchQ:
      name: q
      in: query
      description: Free-text search string.
      required: false
      schema:
        type: string
  schemas:
    SearchHit:
      type: object
      description: A single search hit (Elasticsearch _source projected fields).
      properties:
        _score:
          type: number
        id:
          type: integer
        api_model:
          type: string
        api_link:
          type: string
          format: uri
        title:
          type: string
        timestamp:
          type: string
          format: date-time
    Info:
      type: object
      properties:
        license_text:
          type: string
        license_links:
          type: array
          items:
            type: string
            format: uri
        version:
          type: string
    Pagination:
      type: object
      properties:
        total:
          type: integer
        limit:
          type: integer
        offset:
          type: integer
        total_pages:
          type: integer
        current_page:
          type: integer
        next_url:
          type: string
          format: uri
    Error:
      type: object
      properties:
        status:
          type: integer
        error:
          type: string
        detail:
          type: string
    Config:
      type: object
      properties:
        iiif_url:
          type: string
          format: uri
        website_url:
          type: string
          format: uri