Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Openverse Scraper — Creative Commons Images & Audio, Metadata & Attribution (No API Key)

Apify Actor No API key Pay per result Export

Scrape Creative Commons images and audio by keyword, license, source or media ID. The Openverse Scraper pulls full metadata — title, creator, license + version, direct media URL, thumbnail, source page, tags, dimensions and a ready-to-use attribution string — for stock research, AI/ML datasets and CC media discovery. No API key, no login, no account on the data source required, and thousands of items per run.

This repository is documentation only. The scraper runs as a hosted Actor on the Apify platform — you never install or manage any code. ▶️ Open it on Apify and click Try for free.


What is the Openverse Scraper?

The Openverse Scraper is a hosted extractor for openly licensed media. It searches a huge catalog of Creative Commons and public-domain images and audio aggregated from providers like Flickr, Wikimedia Commons, Rawpixel, StockSnap, the Smithsonian, The Met, Jamendo and Freesound — and returns clean, structured metadata plus a pre-formatted attribution sentence for every item. It is a practical Creative Commons media API alternative for building image/audio datasets without writing pagination code or managing keys.

Three modes are supported: images (keyword search or a broad default browse of CC images), audio (keyword search across CC music and sound), and detail (fetch full metadata for a single image by its Openverse UUID). Optional filters narrow results by CC license (CC0, CC BY, CC BY-SA, …), by usage rights (commercial, modification), by provider, and by file format.

What you get (output fields)

Each media item becomes one row in your dataset:

Field Description
id Openverse media UUID
title Media title
creator Author / creator of the media
license CC license slug (e.g. by, by-sa, cc0)
licenseVersion Version of the CC license (e.g. 2.0, 4.0)
url Direct URL to the full media file
thumbnail Thumbnail image URL
foreignLandingUrl Media's page on the original provider
source Provider slug the item came from (e.g. flickr, wikimedia)
provider Underlying data provider
tags Comma-separated tags / keywords
fileType File format / extension (e.g. jpg, png, mp3)
width / height Image dimensions in pixels (images)
fileSize File size in bytes, when reported
duration Audio duration in milliseconds (audio only)
bitRate / sampleRate Audio bit rate and sample rate in Hz (audio only)
attribution Ready-to-use attribution string

Use cases

  • AI / ML training datasets — assemble large sets of CC0 or CC BY images (e.g. all landscape photos from Wikimedia) with clean metadata for computer-vision models.
  • Stock media research — analyze which keywords, licenses and providers have the best coverage before a content project.
  • Editorial & CMS galleries — auto-generate properly attributed image galleries with the built-in attribution field.
  • Podcast & video production — discover CC-licensed music and sound effects filtered by usage rights and format.
  • License landscape analysis — measure the distribution of CC license types (BY, BY-SA, BY-NC, CC0, …) across sources.
  • Archival & cataloging — bulk-collect CC media metadata for library, museum or research catalogs.
  • Design asset pipelines — pull commercially usable, modifiable images filtered by licenseType.

Quick start

1. Apify Console (no code)

  1. Open the Openverse Scraper on Apify.
  2. Click Try for free. Leave the query empty to browse popular CC images, or enter a keyword and choose filters, then press Start.
  3. Open the Output / Storage tab and export as JSON, CSV or Excel — the attribution column is ready to paste.

2. Apify CLI

npm install -g apify-cli
apify login
apify call logiover/openverse-scraper

3. API (curl — run and get dataset items in one call)

curl -X POST \
  "https://api.apify.com/v2/acts/logiover~openverse-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "mode": "images", "query": "mountain landscape", "license": "cc0", "maxResults": 500 }'

4. apify-client (JavaScript)

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('logiover/openverse-scraper').call({
  mode: 'images',
  query: 'ocean sunset',
  license: 'by',
  source: 'flickr',
  maxResults: 500,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`${items.length} media items`);

5. apify-client (Python)

from apify_client import ApifyClient

client = ApifyClient("YOUR_TOKEN")

run = client.actor("logiover/openverse-scraper").call(run_input={
    "mode": "audio",
    "query": "ambient nature",
    "license": "cc0",
    "maxResults": 300,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item["license"], item["url"])

More detailed, copy-pasteable snippets live in examples/.

Input

All fields are optional — an empty input browses a broad default listing of CC images.

Field Type Default Description
mode string (dropdown) images images, audio, or detail (single image by ID).
query string Search keyword(s) for images / audio modes. Leave empty to browse.
imageId string Openverse image UUID (detail mode only).
license string (dropdown) Filter by CC license: cc0, pdm, by, by-sa, by-nc, by-nd, by-nc-sa, by-nc-nd.
licenseType string (dropdown) Filter by usage: commercial, modification, all, all-cc.
source string (dropdown) Filter by provider: flickr, wikimedia, stocksnap, rawpixel, met, jamendo, freesound, and more.
extension string (dropdown) Filter by format: images jpg/png/gif/svg; audio mp3/ogg/flac/wav/mid.
maxResults integer 200 Max items to return (1–10000).
proxyConfiguration object Apify Proxy Optional proxy configuration.

Example — CC0 images from Wikimedia (high-quality public-domain set):

{
  "mode": "images",
  "query": "architecture",
  "license": "cc0",
  "source": "wikimedia",
  "extension": "jpg",
  "maxResults": 1000
}

Example — fetch one image by ID (detail mode):

{
  "mode": "detail",
  "imageId": "8dac0234-5511-43f8-bcc7-0c6c0c41c83d"
}

Output

One JSON object per media item. Realistic sample record:

{
  "id": "8dac0234-5511-43f8-bcc7-0c6c0c41c83d",
  "title": "Mountain landscape",
  "creator": "randihausken",
  "license": "by-sa",
  "licenseVersion": "2.0",
  "url": "https://live.staticflickr.com/6083/6036144711_e2c3f202c5_b.jpg",
  "thumbnail": "https://api.openverse.org/v1/images/8dac0234-5511-43f8-bcc7-0c6c0c41c83d/thumb/",
  "foreignLandingUrl": "https://www.flickr.com/photos/46406832@N00/6036144711",
  "source": "flickr",
  "provider": "flickr",
  "tags": "landscape, mountains, telemark",
  "fileType": "jpg",
  "width": 1024,
  "height": 682,
  "fileSize": 320145,
  "duration": null,
  "bitRate": null,
  "sampleRate": null,
  "attribution": "\"Mountain landscape\" by randihausken is licensed under CC BY-SA 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-sa/2.0/."
}

Integrations & automation

  • Schedules — capture newly indexed CC media on a weekly cadence with the Apify Scheduler.
  • Webhooks — fire an HTTP callback on run success and fetch the dataset automatically.
  • Google Sheets — stream results (with ready-to-paste attribution) to a spreadsheet.
  • Amazon S3 / storage — export to your own bucket for dataset pipelines.
  • Zapier, Make, n8n, Pipedream — trigger downstream workflows on run completion.
  • MCP / AI agents — callable from the Apify MCP server so agents can gather licensed media during reasoning.

Export formats

Every dataset can be exported as CSV, JSON, JSONL, Excel (XLSX) or XML from the Apify Console or via the Apify API.

FAQ

How do I scrape Creative Commons images without an API key?

Open the Openverse Scraper on Apify, enter a keyword (or leave it empty to browse), and run it. The data source needs no key or login — you only sign in to Apify.

Is this a Creative Commons media API alternative?

Yes. Instead of writing pagination and metadata code, you run a hosted Actor that returns thousands of CC image/audio records per run — with license, source and a ready-to-use attribution string — billed per result.

How many results can I extract per run?

Up to 10,000 per query via maxResults. For broader coverage, run several queries with different keywords, licenses or sources.

Which license types can I filter by?

Any CC license slug: cc0, pdm, by, by-sa, by-nc, by-nd, by-nc-sa, by-nc-nd. Use licenseType to filter by usage rights (commercial or modification).

Which sources / providers are supported?

Filter by providers including Flickr, Wikimedia Commons, StockSnap, Rawpixel, the Smithsonian museums, The Met, Cleveland Museum of Art, Jamendo (audio), Freesound (audio) and more. Leave source empty for all.

Can I scrape audio and images in the same run?

Each run handles one mode. Run the Actor once with mode: images and once with mode: audio to cover both.

Why are some fields null?

Not every provider supplies every field. width/height/fileSize may be null for some images, and duration/bitRate/sampleRate apply to audio only. creator can be null for anonymous uploads.

How do I export the media metadata to CSV or Excel?

Run the Actor, open the Storage / Output tab, and click Export — choose CSV, Excel, JSON, JSONL or XML. The attribution column gives you paste-ready credit text.

Is the media legal to use?

Every item carries a Creative Commons or public-domain license. Always follow the specific license terms (attribution, share-alike, non-commercial, no-derivatives) for each item; the attribution field provides the required credit.

How do I fetch full metadata for a single image?

Set mode to detail and pass the Openverse UUID as imageId — useful for enriching a list of IDs from another source.

Related actors

  • Discogs Scraper — music release, artist and label metadata from the Discogs database.
  • Wayback URL Scraper — pull archived URLs and snapshots for research alongside media discovery.

📄 Documentation only — the Actor runs on the Apify platform; this repo ships no scraper source code. ▶️ Run it: https://apify.com/logiover/openverse-scraper

Released under the MIT License · © 2026 logiover

About

Scrape Creative Commons images & audio metadata + attribution from Openverse — no API key. Hosted Apify Actor.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors