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 8 more developer resources.

42.2/100 developing ▬ flat Agent 31/100 agent ready open core · MIT Full breakdown ↓
scored 2026-09-08 · rubric v0.20.0
AccessFreemiumSelf serve⚡ Free to try
1 APIs
ImageAudioCreative CommonsOpen MediaSearchOpen DataCultural HeritageMuseums

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-08 · rubric v0.20.0
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.
Open Source Surface applies to this provider. This product is open source and we read its repository directly, so Open Source Surface carries 10 points of the composite. It is scored from what the repository actually publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the provider rather than inferred from our own catalog pointers. This facet adds; nothing was taken away to make room for it. An open-source project is not excused from the commercial facets, because exemption would strip it of the points it does earn. If we have the wrong repository, or this product is not open source, say so on your provider repo and we will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 65 points between them, because both conditional facets apply and carry 35 points together. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 65% 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/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. 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. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

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

Documentation 1

Reference material describing how the API behaves

Agent Surfaces 1

MCP servers, agent skills, and machine-readable catalogs

Build 1

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 2

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

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.

  '
deliveryModel:
  model: open-core
  license: MIT
  open_source: true
  commercial: true
  callable_host: true
  label: Open core · an OSS project plus a commercial hosted product
  confidence: high
  source:
  - license
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  label: Freemium · Self-serve signup
  confidence: medium
  source:
  - plans
  - authentication
  - security
  generated: '2026-09-03'
  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: CapabilityMap
  url: capabilities/openverse-capability-edges.yml
  name: Openverse Business Capability Map
- type: IssueTracker
  url: https://github.com/WordPress/openverse/issues
- type: Releases
  url: https://github.com/WordPress/openverse/releases
- type: CodeOfConduct
  url: https://github.com/WordPress/.github/blob/trunk/CODE_OF_CONDUCT.md
- type: ContributionGuide
  url: https://github.com/WordPress/openverse/blob/main/CONTRIBUTING.md
- 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

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/openverse"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/openverse/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/openverse/evidence"

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.