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 Image, 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 3 more developer resources.

35.3/100 thin ▬ flat Agent 42/100 agent ready Full breakdown ↓
scored 2026-08-20 · rubric v0.12.0
AccessFreemiumSelf serve⚡ Free to try
3 APIs
ImageAudioCreative CommonsOpen MediaSearchOpen DataCultural HeritageMuseums

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-08-20 · rubric v0.12.0
Composite quality — 35.3/100 · thin
Contract Quality 12.3 / 21
Developer Ergonomics 2.4 / 17
Access Clarity 6.7 / 17
Operational Transparency 0.0 / 11
Contract Governance 1.0 / 10
Discoverability 6.3 / 9
Regulatory Posture 4.7 / 15
Agent readiness — 42/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
Documented Reversibility 0 / 6
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 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
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Regulatory Posture applies to this provider. Its tags matched the Government & Public Sector regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
The six quality facets above are damped to 85 points between them, because the conditional facet above carries the other 15. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 85% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
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.

Open Collections 4

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

API Collection

OPEN COLLECTION

Openverse audio API

OPEN COLLECTION

Openverse audio auth API

OPEN COLLECTION

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

Commercial 1

Pricing, plans, and the legal terms of use

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:
- Image
- Audio
- Creative Commons
- Open Media
- Search
- Open Data
- Cultural Heritage
- Museums
tags_raw:
- 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
  tags_raw:
  - 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:
  - Authentication
  tags_raw:
  - 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:
  - Image
  tags_raw:
  - 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.23'
common:
- type: License
  name: MIT
  url: https://github.com/WordPress/openverse/blob/main/LICENSE
- 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