ParseForge Scrapers

Openverse Media Scraper

parseforge/openverse-media-scraper

EducationMARKETINGOther

Scrapes openly licensed images and audio from Openverse by search term, media type, license, source, and aspect ratio. Returns each result as a flat row with direct media URL, title, creator, license, and source.

Run this scraper See the API call
Total users
52
Monthly active
2
Total runs
731
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Openverse Media Scraper

Scrape openly licensed images and audio from Openverse by search term, media type, license, source, or aspect ratio. Every result includes the direct media URL, creator, license, and source. No API key required. Export to CSV, JSON, Excel, or XML.

Openverse indexes over 800 million openly licensed images and audio files from sources like Flickr, Wikimedia Commons, and NASA. This Actor searches that catalog directly and returns each match as a flat row with its media URL, title, creator, license, and source. No API key or registration is needed.

Who uses it What they scrape Openverse for
Content creators Find openly licensed images and audio for commercial projects without copyright risk
Market researchers Track which openly licensed media topics and sources are growing
Data scientists Build datasets of openly licensed media metadata for analysis
Educators Collect openly licensed teaching materials from trusted sources

What it does

This Actor searches Openverse for openly licensed media by keyword and returns each result as a flat row with the direct media URL, title, creator, license, and source.

  • ๐Ÿ” Search by keyword: query matches title, description, and tags across the Openverse catalog.
  • ๐ŸŽจ Media type filter: choose images or audio to narrow results.
  • ๐Ÿ“œ License filter: limit to specific license types like CC0, BY, or BY-SA.
  • ๐Ÿ›๏ธ Source filter: restrict to sources like Flickr, Wikimedia Commons, or NASA.
  • ๐Ÿ“ Aspect ratio filter: for images, select tall, wide, or square.
  • ๐Ÿ”ข Max items control: set how many media files to collect per run, up to 1,000,000.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Openverse data

๐ŸŽจ Build a royalty-free image library.

A content creator searches for 'mountain landscape' with a CC0 license filter and downloads the direct URLs for a commercial project.

๐Ÿ“Š Analyze open media trends.

A market researcher collects metadata for thousands of images tagged 'climate change' to see which sources and licenses dominate.

๐ŸŽต Gather open audio for a podcast.

A podcaster searches for 'ambient music' with an audio media type and BY license to find tracks they can use with attribution.

๐Ÿ“š Curate teaching resources.

An educator scrapes images from NASA and Wikimedia Commons for a lesson plan, filtering by source to ensure reliability.

Why choose this scraper

What you get
Direct media URLs Each row includes the direct URL to the image or audio file, ready to download
License clarity Every result includes the specific open license, so you know exactly how you can use it
Source transparency See which platform each media file comes from, like Flickr or Wikimedia Commons
No API key Start scraping immediately without registration or authentication

How it compares

No other Store actor targets Openverse the same way, so the honest comparison is with the alternatives teams actually weigh.

Openverse Media Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When Openverse changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a search term and optional filters for media type, license, source, and aspect ratio. Filters are applied as the search runs so only matching media reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "query": "mountain landscape"
}

A larger pull:

{
  "maxItems": 200,
  "query": "mountain landscape"
}

Pricing

Pay-per-result: $0.01733 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.73
1,000 results $17.33
10,000 results $173.30

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Openverse Media Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Openverse through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/openverse-media-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your search term and filters. A very specific query combined with restrictive license or source filters may return nothing. Try broadening your search or removing some filters.

Why are some media URLs broken?

Openverse indexes media from many sources, and occasionally a source removes a file. The URL is provided as returned by Openverse. Try another result or contact the source.

How do I download the actual media files?

This Actor returns metadata and direct URLs. Use the URLs in a separate download step, such as with a script or another Apify Actor.

Why did the run stop before reaching my maxItems?

The Actor stops when Openverse has no more results matching your query and filters. Try a broader search term or remove some filters to get more results.

Can I search in languages other than English?

Yes. Openverse supports search in multiple languages. Enter your search term in the language you need.

FAQ

Question Answer
Do I need an API key to use this Actor? No. This Actor accesses Openverse's public search endpoint directly, so no API key or registration is required.
What license information is returned? Each result includes the specific license type, such as CC0, BY, or BY-SA, along with the license URL and version.
Can I filter by source? Yes. Use the source filter to restrict results to specific platforms like Flickr, Wikimedia Commons, or NASA.
How many media files can I collect per run? You can set the maximum media files from 1 to 1,000,000 per run using the maxItems input.
Does this Actor download the actual media files? No. It returns the direct media URL for each result. You can download the files separately using the URLs.
Can I search for audio files? Yes. Set the media type to 'audio' to search for openly licensed audio files.
What aspect ratio options are available for images? You can filter images by tall (portrait), wide (landscape), or square aspect ratio.
Is the data returned in a consistent format? Yes. Every result is returned as a flat row with the same fields, making it easy to export to CSV, JSON, Excel, or XML.
Can I combine multiple filters? Yes. You can combine search term, media type, license, source, and aspect ratio filters in a single run.
What sources does Openverse index? Openverse indexes openly licensed media from many sources, including Flickr, Wikimedia Commons, NASA, and more.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Openverse. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many media files to collect per run. 10
query string Keyword to search Openverse. Searches across title, description, and tags. mountain landscape
mediaType string (2 options) Type of media to search. images
license string Comma-separated license types (e.g. 'cc0,by,by-sa'). Empty = all. not set
source string Source filter (e.g. 'flickr,wikimedia,nasa'). Empty = all. not set
aspectRatio string (4 options) Image aspect ratio. not set

Pricing

from $13.00 per 1,000 results

Charged forWhat it isPrice each
Result item Charged per record successfully returned in the dataset. $0.013 to $0.01733

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~openverse-media-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Openverse Media Scraper on Apify All scrapers