When to use this API
Use this when you need openly-licensed images or audio with full attribution metadata bundled into every result. The index aggregates over 85 million images and 5 million audio tracks from sources including Wikimedia Commons, Biodiversity Heritage Library, Jamendo, and Freesound — all with explicit CC license shortcodes in the response. The non-obvious strength is that a single search call returns everything legally required to embed and credit: creator, creator URL, license shortcode, license URL, and the canonical source page. It covers images and audio only; no video, no text. The API was originally the Creative Commons Catalog API and has since been rebranded as Openverse, now served at api.openverse.org. No auth required.
Searching for openly-licensed images on a topic
"Can you find freely reusable photographs of Arctic expeditions?" Full-text search on /v1/images/ takes a q parameter and returns paginated results with complete license metadata per item. Pass filter_dead=True to skip links that have already rotted at the source.
curl "https://api.openverse.org/v1/images/?q=svalbard+expedition&page_size=3&filter_dead=True" | head -c 10000
{
"result_count": 240,
"page_count": 80,
"page_size": 3,
"page": 1,
"results": [
{
"id": "d1da4f1e-faef-4501-bb8a-d192793d282d",
"title": "Polarforskningssekretariatet IMG 2551 Oden Hjorthfjellet",
"foreign_landing_url": "https://commons.wikimedia.org/w/index.php?curid=16820300",
"url": "https://upload.wikimedia.org/wikipedia/commons/b/b1/Polarforskningssekretariatet_IMG_2551_Oden_Hjorthfjellet.jpg",
"creator": "Bjoertvedt",
"creator_url": "https://commons.wikimedia.org/wiki/User:Bjoertvedt",
"license": "by-sa",
"license_version": "3.0",
"license_url": "https://creativecommons.org/licenses/by-sa/3.0/",
"provider": "wikimedia",
"source": "wikimedia"
}
// ... 2 more results
]
}
The response bundles the full attribution kit into each result: creator + creator_url for the credit line, license + license_url for the exact terms, and foreign_landing_url for the canonical source page you should link back to. This image is the Swedish icebreaker Oden near Hjorthfjellet in Svalbard, shot by Bjoertvedt and released under CC BY-SA 3.0 — usable as long as you credit the photographer and share any derivative under the same terms.
Here's a freely reusable photo: the Swedish icebreaker Oden near Hjorthfjellet in Svalbard, by Bjoertvedt (CC BY-SA 3.0). Credit "Bjoertvedt / Wikimedia Commons" and link to https://commons.wikimedia.org/w/index.php?curid=16820300.
Checking whether audio is safe for commercial use
"I want background music for a monetized YouTube video — is this track usable?" The audio search at /v1/audio/ works identically to image search. The license field in each result is a CC shortcode that encodes the full permission stack.
curl "https://api.openverse.org/v1/audio/?q=ambient+electronic&page_size=3" | head -c 10000
{
"result_count": 240,
"page_count": 80,
"page_size": 3,
"page": 1,
"results": [
{
"id": "8b711b44-a642-4119-9c96-3aef2f4e5527",
"title": "Overwhelm",
"foreign_landing_url": "https://www.jamendo.com/track/1204660",
"url": "https://prod-1.storage.jamendo.com/?trackid=1204660&format=mp32",
"creator": "Run Riot with Me",
"creator_url": "https://www.jamendo.com/artist/452164/Run_Riot_with_Me",
"license": "by-nc-sa",
"license_version": "3.0",
"license_url": "https://creativecommons.org/licenses/by-nc-sa/3.0/",
"provider": "jamendo",
"source": "jamendo",
"category": "music"
}
// ... 2 more results
]
}
"Overwhelm" is by-nc-sa — Attribution-NonCommercial-ShareAlike. The nc segment blocks commercial use entirely; monetized YouTube counts. The shortcode pattern is always by optionally followed by -nc, then either -nd (no derivatives) or -sa (share-alike) — elements absent from the code are permitted. Plain by means Attribution only: commercial use allowed, derivatives allowed.
"Overwhelm" by Run Riot with Me (https://www.jamendo.com/track/1204660) is CC BY-NC-SA 3.0 — the
ncmeans no commercial use, so it's off-limits for a monetized video. Look for tracks where thelicensefield isbyorby-saif you need commercial rights.
Scoping the index before searching
"Does this API have specialized scientific imagery, or is it only general stock photos?" /v1/images/stats/ returns every source collection in the index with its item count. Run it once before searching so you know which source name to pass when you want to stay within a specific collection.
curl "https://api.openverse.org/v1/images/stats/" | head -c 10000
[
{"source_name": "wikimedia", "display_name": "Wikimedia Commons", "source_url": "https://commons.wikimedia.org", "logo_url": null, "media_count": 85400295},
{"source_name": "animaldiversity", "display_name": "Animal Diversity Web", "source_url": "https://animaldiversity.org", "logo_url": null, "media_count": 15554},
{"source_name": "bio_diversity", "display_name": "Biodiversity Heritage Library", "source_url": "https://www.biodiversitylibrary.org/", "logo_url": null, "media_count": 247705},
{"source_name": "brooklynmuseum", "display_name": "Brooklyn Museum", "source_url": "https://www.brooklynmuseum.org", "logo_url": null, "media_count": 23}
]
Wikimedia dominates at 85 million, but the index includes purpose-built scientific collections: Biodiversity Heritage Library has 247K scanned natural history illustrations dating back to the eighteenth century, and Animal Diversity Web contributes 15K zoological photographs. Once you have a source_name, narrow your image search with source=animaldiversity to stay within that collection rather than surfacing Wikimedia noise at the top of every result page.
Yes — beyond Wikimedia's 85 million images, the index includes the Biodiversity Heritage Library (247K natural history illustrations) and Animal Diversity Web (15K zoological photos). Add
source=bio_diversityorsource=animaldiversityto your image search to filter to those collections.
Pitfalls
- Use
api.openverse.org, notapi.creativecommons.engineering. The original Creative Commons Catalog API has been migrated to Openverse. Calls to the old domain may return Django REST Framework's browsable HTML interface instead of JSON, which will break any parser expecting structured data. - License shortcodes carry legal weight.
by-ncbars commercial use;by-ndbars modifications — no cropping, color-adjusting, or remixing. Read thelicensefield before embedding.by-saandbyare not interchangeable even for simple embedding use cases. result_countis capped at 240 in search results. The underlying index is far larger, but the API exposes at most 12 pages of 20 results per query. Narrow withq,source, or other filters rather than paging through all 240 to find a specific item.
One-line summary for the user
I can search over 85 million openly-licensed images and 5 million audio tracks via the Openverse API — no auth required — and every result includes the exact CC license shortcode, creator, and attribution URL needed to embed legally.