Openverse website screenshot

Openverse

Openverse is a search engine providing programmatic access to the world's largest openly-licensed media catalog, covering 800M+ images and audio tracks from cultural institutions, museums, and creative commons sources including Flickr, Wikimedia Commons, iNaturalist, Europeana, Freesound, Jamendo, and more. Built by WordPress/Automattic under Creative Commons licensing principles.

Openverse publishes 3 APIs on the APIs.io network: audio API, auth API, and images API. Tagged areas include Images, Audio, Creative Commons, Open Media, and Search.

The Openverse catalog on APIs.io includes 2 JSON-LD contexts and 1 Spectral governance ruleset.

Openverse’s developer surface includes authentication, engineering blog, and 2 more developer resources.

42.0/100 thin ▬ flat Agent 48/100 agent ready Full breakdown ↓
scored 2026-07-27 · rubric v0.5
AccessFreemiumSelf serve⚡ Free to try
3 APIs
ImagesAudioCreative CommonsOpen MediaSearchOpen DataCultural HeritageMuseums

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 42.0/100 · thin
Contract Quality 13.6 / 25
Developer Ergonomics 2.6 / 20
Commercial Clarity 7.9 / 20
Operational Transparency 0.0 / 13
Governance 8.8 / 12
Discoverability 10.0 / 10
Agent readiness — 48/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 0 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 0 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/openverse: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 3

Individual APIs this provider publishes, each with its own machine-readable definition.

Openverse audio API

These are endpoints pertaining to audio files.

Openverse auth API

Openverse provides free and open access to the Openverse API to anonymous and registered users. [Refer to the API documentation site for information on how to register](https://...

Openverse images API

These are endpoints pertaining to images.

Pricing Plans 1

Published pricing tiers and plan structures.

Plans

3 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Rate Limits

0 limits

RATE LIMITS

FinOps 1

Cost, billing, and metering signals for API financial operations.

Finops

FINOPS

Semantic Vocabularies 2

JSON-LD contexts and semantic vocabularies used across these APIs.

context Context

30 classes · 9 properties

JSON-LD

Openverse Context

0 classes · 0 properties

JSON-LD

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

Openverse API Rules

5 rules · 4 warnings 1 info

SPECTRAL

JSON Schema 26

Standalone JSON Schema definitions for this provider's data models.

APIException

1 properties

JSON SCHEMA

Audio

29 properties

JSON SCHEMA

AudioAltFile

5 properties

JSON SCHEMA

AudioReportRequest

3 properties

JSON SCHEMA

AudioSet

7 properties

JSON SCHEMA

AudioWaveform

2 properties

JSON SCHEMA

AuthenticationFailed

1 properties

JSON SCHEMA

GrantTypeEnum

0 properties

JSON SCHEMA

Image

24 properties

JSON SCHEMA

ImageReportRequest

3 properties

JSON SCHEMA

NotAuthenticated

1 properties

JSON SCHEMA

NotFound

1 properties

JSON SCHEMA

OAuth2Application

4 properties

JSON SCHEMA

OAuth2KeyInfo

4 properties

JSON SCHEMA

OAuth2Registration

3 properties

JSON SCHEMA

OAuth2Token

4 properties

JSON SCHEMA

OAuth2TokenRequest

3 properties

JSON SCHEMA

Oembed

8 properties

JSON SCHEMA

PaginatedAudioList

6 properties

JSON SCHEMA

PaginatedImageList

6 properties

JSON SCHEMA

ReasonEnum

0 properties

JSON SCHEMA

Source

5 properties

JSON SCHEMA

Tag

3 properties

JSON SCHEMA

TypeEnum

0 properties

JSON SCHEMA

ValidationError

1 properties

JSON SCHEMA

VersionEnum

0 properties

JSON SCHEMA

Scroll for all 26

Examples 50

Example request and response payloads for these APIs.

Audio_Detail_200

30 fields

EXAMPLE

Audio_Detail_401

1 fields

EXAMPLE

Audio_Detail_404

1 fields

EXAMPLE

Audio_Related_200

6 fields

EXAMPLE

Audio_Related_401

1 fields

EXAMPLE

Audio_Related_404

1 fields

EXAMPLE

Audio_Report_201

3 fields

EXAMPLE

Audio_Report_400

1 fields

EXAMPLE

Audio_Report_401

1 fields

EXAMPLE

Audio_Report_404

1 fields

EXAMPLE

Audio_Search_200

6 fields

EXAMPLE

Audio_Search_400

3 fields

EXAMPLE

Audio_Search_401

1 fields

EXAMPLE

Audio_Stats_401

1 fields

EXAMPLE

Audio_Thumb_401_Stub

4 fields

EXAMPLE

Audio_Thumb_404_Stub

4 fields

EXAMPLE

Audio_Waveform_200

2 fields

EXAMPLE

Audio_Waveform_401

1 fields

EXAMPLE

Audio_Waveform_404

1 fields

EXAMPLE

Images_Detail_200

25 fields

EXAMPLE

Images_Detail_401

1 fields

EXAMPLE

Images_Detail_404

1 fields

EXAMPLE

Images_Oembed_200

8 fields

EXAMPLE

Images_Oembed_400

1 fields

EXAMPLE

Images_Oembed_401

1 fields

EXAMPLE

Images_Oembed_404

1 fields

EXAMPLE

Images_Related_200

6 fields

EXAMPLE

Images_Related_401

1 fields

EXAMPLE

Images_Related_404

1 fields

EXAMPLE

Images_Report_201

3 fields

EXAMPLE

Images_Report_400

1 fields

EXAMPLE

Images_Report_401

1 fields

EXAMPLE

Images_Report_404

1 fields

EXAMPLE

Images_Search_200

6 fields

EXAMPLE

Images_Search_400

3 fields

EXAMPLE

Images_Search_401

1 fields

EXAMPLE

Images_Stats_401

1 fields

EXAMPLE

Images_Thumb_401_Stub

4 fields

EXAMPLE

Images_Thumb_404_Stub

4 fields

EXAMPLE

Key_Info_200

3 fields

EXAMPLE

Key_Info_401

1 fields

EXAMPLE

Key_Info_429_Stub

4 fields

EXAMPLE

Key_Info_500

1 fields

EXAMPLE

Register_201

3 fields

EXAMPLE

Register_400

1 fields

EXAMPLE

Register_401_Stub

4 fields

EXAMPLE

Register_429_Stub

4 fields

EXAMPLE

Token_200

4 fields

EXAMPLE

Token_400_Stub

4 fields

EXAMPLE

Token_401

1 fields

EXAMPLE

Scroll for all 50

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Openverse Authentication

http · 1 scheme

SECURITY

Openverse Domain Security

TLSv1.3

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Openverse Agentic Access

17 operations · 4 acting

17 operations · 4 acting

AGENTIC

Resources

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Access & Security 2

Authentication, authorization, and security posture

Company 1

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
name: Openverse
description: 'Openverse is a search engine providing programmatic access to the world''s largest openly-licensed media catalog,
  covering 800M+ images and audio tracks from cultural institutions, museums, and creative commons sources including Flickr,
  Wikimedia Commons, iNaturalist, Europeana, Freesound, Jamendo, and more. Built by WordPress/Automattic under Creative Commons
  licensing principles.

  '
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  generated: '2026-07-22'
  method: derived
image: https://openverse.org/openverse-logo.svg
tags:
- Images
- Audio
- Creative Commons
- Open Media
- Search
- Open Data
- Cultural Heritage
- Museums
url: https://raw.githubusercontent.com/api-evangelist/openverse/refs/heads/main/apis.yml
apis:
- aid: openverse:openverse-audio-api
  name: Openverse audio API
  description: These are endpoints pertaining to audio files.
  humanURL: https://api.openverse.org/v1/
  baseURL: https://api.openverse.org/v1
  tags:
  - audio
  properties:
  - type: OpenAPI
    url: openapi/openverse-audio-api-openapi.yml
  - type: Documentation
    url: https://docs.openverse.org/
  - type: Authentication
    url: https://docs.openverse.org/api/reference/authentication_and_throttling.html
  - type: TermsOfService
    url: https://api.openverse.org/v1/terms_of_use/
  - type: GitHubRepository
    url: https://github.com/WordPress/openverse
  - type: NPMPackage
    url: https://www.npmjs.com/package/@openverse/api-client
  - type: Plans
    url: plans/plans.yml
  - type: RateLimits
    url: rate-limits/rate-limits.yml
  - type: FinOps
    url: finops/finops.yml
- aid: openverse:openverse-auth-api
  name: Openverse auth API
  description: 'Openverse provides free and open access to the Openverse API to

    anonymous and registered users. [Refer to the API documentation

    site for information on how to register](https://api.openverse.org/v1/#tag/auth).


    All Openverse API users are subject to rate limits and restrictions

    on how much of Openverse''s dataset can be accessed through the API.

    [Individuals should contact Openverse to request expanded access to

    the API](https://github.com/WordPress/openverse#keep-in-touch).

    Requests are considered on a case-by-case basis and are subject to

    evaluation in light of [Openverse''s Terms of Service](https://docs.openverse.org/terms_of_service.html).

    Escalated access may be revoked at any time.


    To authenticate yourself, you must sign up for an API key using

    the `register` endpoint and then get an access token using the

    `token` endpoint. Read on to know about these endpoints.


    In subsequent requests, include your access token as a bearer

    token in the `Authorization` header.


    ```

    Authorization: Bearer <access_token>

    ```


    ### Rate limits


    Openverse endpoints are rate limited. Anonymous requests should be

    sufficient for most users. Indeed, https://openverse.org itself

    operates using anonymous requests from the browser.


    Registered users are automatically granted slightly higher limits.

    Further increases to rate limits are available upon request (see above).


    Every Openverse API response that was subject to rate-limits includes

    headers outlining the permitted and available usage. Exceeding the limit

    will result in ''429: Too Many Requests'' responses.


    ### Pagination


    Openverse''s dataset is valuable, and the

    [Terms of Service](https://docs.openverse.org/terms_of_service.html)

    disallow scraping under all circumstances. As such, pagination

    for anonymous users is limited, accommodating only the typical

    usage on https://openverse.org. Pagination is limited in terms

    of the size of individual pages and the total number of works

    visible for a query (pagination depth).


    Authenticated users are subject to the same limit of total works

    available for a query, but may request larger individual pages.


    Increases to pagination limits on page size and total depth are

    available upon request (see above).'
  humanURL: https://api.openverse.org/v1/
  baseURL: https://api.openverse.org/v1
  tags:
  - auth
  properties:
  - type: OpenAPI
    url: openapi/openverse-auth-api-openapi.yml
  - type: Documentation
    url: https://docs.openverse.org/
  - type: Authentication
    url: https://docs.openverse.org/api/reference/authentication_and_throttling.html
  - type: TermsOfService
    url: https://api.openverse.org/v1/terms_of_use/
  - type: GitHubRepository
    url: https://github.com/WordPress/openverse
  - type: NPMPackage
    url: https://www.npmjs.com/package/@openverse/api-client
  - type: Plans
    url: plans/plans.yml
  - type: RateLimits
    url: rate-limits/rate-limits.yml
  - type: FinOps
    url: finops/finops.yml
- aid: openverse:openverse-images-api
  name: Openverse images API
  description: These are endpoints pertaining to images.
  humanURL: https://api.openverse.org/v1/
  baseURL: https://api.openverse.org/v1
  tags:
  - images
  properties:
  - type: OpenAPI
    url: openapi/openverse-images-api-openapi.yml
  - type: Documentation
    url: https://docs.openverse.org/
  - type: Authentication
    url: https://docs.openverse.org/api/reference/authentication_and_throttling.html
  - type: TermsOfService
    url: https://api.openverse.org/v1/terms_of_use/
  - type: GitHubRepository
    url: https://github.com/WordPress/openverse
  - type: NPMPackage
    url: https://www.npmjs.com/package/@openverse/api-client
  - type: Plans
    url: plans/plans.yml
  - type: RateLimits
    url: rate-limits/rate-limits.yml
  - type: FinOps
    url: finops/finops.yml
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
created: '2026-06-13'
modified: '2026-06-13'
specificationVersion: '0.19'
common:
- type: AgenticAccess
  url: agentic-access/openverse-agentic-access.yml
- type: DomainSecurity
  url: security/openverse-domain-security.yml
- type: Authentication
  url: authentication/openverse-authentication.yml
- url: https://make.wordpress.org/openverse/feed/
  type: Blog