Openverse API
Free Openverse API: search 800M+ openly licensed images and audio from Flickr, Wikimedia and more, with licence and attribution data. WordPress-run. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the Openverse API?
Openverse is a free API from the WordPress Foundation for searching more than 800 million openly licensed images and audio files aggregated from Flickr, Wikimedia Commons, museums and other open sources, with full licence and attribution metadata.
Openverse is the successor to Creative Commons Search, now maintained by WordPress. It aggregates openly licensed media from dozens of sources into one search interface with consistent licence metadata.
The attribution field is what makes it practically valuable: each result includes a ready-formatted attribution string alongside the licence code, so you can comply with the licence terms without assembling the credit yourself.
Quick facts
- Base URL
https://api.openverse.org/v1- Authentication
- Anonymous access works at a lower rate. A free client registration raises limits substantially.
- Rate limit
- Roughly 100 requests per day anonymously; far higher with free registration.
- Pricing
- Free. Individual works carry their own Creative Commons licences.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the Openverse API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Search openly licensed images
GET https://api.openverse.org/v1/images/?q=mountain&page_size=1
curl 'https://api.openverse.org/v1/images/?q=mountain&page_size=1'const res = await fetch("https://api.openverse.org/v1/images/?q=mountain&page_size=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.openverse.org/v1/images/?q=mountain&page_size=1", timeout=20)
res.raise_for_status()
print(res.json()){
"result_count": 240,
"page_count": 240,
"page_size": 1,
"page": 1,
"results": [
{
"id": "f561777d-24ea-483f-9cf8-f17aa1fd6aa3",
"title": "Mountains",
"indexed_on": "2020-03-27T18:10:35.161824Z",
"foreign_landing_url": "https://www.flickr.com/photos/22178197@N00/16129656628",
"url": "https://live.staticflickr.com/7539/16129656628_ddd1db38c2_b.jpg",
"creator": "Kamil Porembiński",
"creator_url": "https://www.flickr.com/photos/22178197@N00",
"license": "by-sa",
"license_version": "2.0",
"license_url": "https://creativecommons.org/licenses/by-sa/2.0/",
"provider": "flickr",
"source": "flickr",
"category": null,
"filesize": null,
"filetype": null,
"tags": [
{
"name": "iceland",
"accuracy": null,
"unstable__provider": "flickr"
},
{
"name": "landscape",
"accuracy": null,
"unstable__provider": "flickr"
},
{
"name": "mountain",
"accuracy": null,
"unstable__provider": "flickr"
},
{
"name": "mountains",
"accuracy": null,
"unstable__provider": "flickr"
}
],
"attribution": "\"Mountains\" by Kamil Porembiński is licensed under CC BY-SA 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/2.0/.",
"fields_matched": [
"description",
"title",
"tags.name"
],
"mature": false,
"height": 680,
"width": 1024,Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | Required | Search query. mountain |
page_size | integer | Optional | Results per page, max 20 anonymously. 10 |
license | string | Optional | Filter by licence, e.g. cc0, by, by-sa. cc0 |
license_type | string | Optional | commercial or modification. commercial |
source | string | Optional | Restrict to a source such as flickr or wikimedia. flickr |
Response fields
result_countinteger- Total matching works.
results[].titlestring- Work title.
results[].urlstring- Direct media URL.
results[].thumbnailstring- Thumbnail URL.
results[].license / license_versionstring- Licence code and version.
results[].attributionstring- Ready-formatted attribution string — use this.
results[].creatorstring- Creator name.
results[].foreign_landing_urlstring- Original source page.
What you can build with the Openverse API
- Find legally reusable images for a blog or product
- Build a media picker with correct attribution built in
- Filter strictly to commercially usable licences
- Source openly licensed audio for a project
Common errors and how to fix them
429
Anonymous limit is only around 100 requests per day.
Fix: Register a free client for substantially higher limits — the anonymous tier is very tight.
Licence confusion
Not all Creative Commons licences permit commercial use.
Fix: Use license_type=commercial rather than filtering licence codes by hand.
Dead media URLs
Sources occasionally remove works.
Fix: Handle image load failures; the index can lag the source.
Openverse API — frequently asked questions
Is the Openverse API free?
Yes, free with no key for anonymous use, but the anonymous limit is only around 100 requests per day. Free client registration raises it considerably.
Can I use the images commercially?
Depends on the licence of each work. Use license_type=commercial to filter to works that permit it, rather than trying to interpret licence codes yourself.
Do I need to credit the images?
Almost always yes. Each result includes a ready-formatted `attribution` string — use it rather than composing your own.
What happened to Creative Commons Search?
Openverse is its direct successor, now maintained by the WordPress Foundation with a larger index and a proper API.
Tools that pair with this API
Image Cropper
Crop images online to an exact rectangle with pixel-precise x, y, width and height inputs or aspect-ratio presets. Free, private and browser-based.
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Openverse is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.