Request a tool
All toolsAutomationsGuidesMCP serverRequest a toolPlatformsCategories
MusicBrainz Scraper icon

MusicBrainz Scraper

Scrape MusicBrainz artists, releases, recordings and labels. Every row has an MBID, plus names, types, dates and tags. No API key. $0.20 per 1,000 records.

135 runs on Apify $0.0002 per item ($0.2 / 1,000)
Run this in the cloudRun on Apify →

Media & Entertainment Data

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust entity, query, maxItems (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0002 per item = $0.2 per 1,000

You are charged forWhenPrice
Item returnedCharged per MusicBrainz record returned.$0.0002

Pay-per-event pricing: you are billed per result, not per subscription. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
entityWhich kind of music record to search for. artist = bands/performers, release = a specific album/single edition, recording = an individual track, release-group = an album as a concept across editions, label = a record label.string
queryThe text to search for. Plain keywords work (e.g. "radiohead", "ok computer"), and MusicBrainz Lucene syntax is also supported (e.g. artist:radiohead, country:GB). Required.string
maxItemsMaximum number of records to return. The actor paginates 100 per page and respects MusicBrainz's ~1 request/second rate limit, so very large values take proportionally longer.integer
notionConnectorOptional. Write each item as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default), results are always saved to the dataset regardless.string
notionParentIdOptional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead.string

What you get

A structured dataset — each result includes fields like:

nametitletypeartistCreditdatelifeSpancountryurl

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

Related tools in Media & Entertainment Data

Other ready-to-run tools in the same category — all pay-per-use on the Apify cloud.

IMDb Search Scraper iconMedia & Entertainment Data

IMDb Search Scraper

Search IMDb for titles, people and companies: IMDb ID, year, category, cast line, poster, URL. About 8 per query. $2.50 per 1,000.

3 use cases

Steam Games Scraper iconMedia & Entertainment Data

Steam Games Scraper

Scrape Steam games with no API key. Get price, discount, genres, developers, Metacritic, platforms, SteamSpy stats and player reviews. $2 per 1,000 rows.

3 use cases

Books Scraper (Google Books + Open Library) iconMedia & Entertainment Data

Books Scraper (Google Books + Open Library)

Search Open Library or Google Books: title, authors, ISBN, publisher, year, rating and cover. Open Library needs no key. $1.00 per 1,000 books.

4 use cases

TVMaze TV Show Scraper iconMedia & Entertainment Data

TVMaze TV Show Scraper

Search TVMaze for TV shows and people. Get ratings, genres, network, IMDb IDs, images and full episode lists, as JSON. $2 per 1,000 rows.

Ready to run — no setup

See all Media & Entertainment Data →

MusicBrainz Scraper: artists, releases, recordings and labels with their MBIDs

Pick what you are looking for, type a search term, and get flat rows back from MusicBrainz, the open music encyclopedia. Every row carries an MBID, the permanent ID you can join on later, plus the name, type, dates, country and a direct link. No API key, no login.

One thing to know before you plan a big pull: MusicBrainz asks callers to go slowly, so this reads 100 records a page with about a second between pages. Ten thousand records is a real wait, not a few seconds, and that pacing is deliberate.

InputAn entity type and a search term
OutputOne row per record
Ceiling10,000 records per run
Account neededNone, and no API key
Price$0.20 per 1,000 records, flat on every plan

🔍 What MusicBrainz Scraper does

It runs one search against MusicBrainz and pages through the answers until it has the number you asked for or the catalogue runs out. Rows are deduplicated on MBID as it goes, so a paginated pull never hands you the same record twice.

entity decides what kind of thing you get back, and the five kinds are genuinely different:

entityWhat it is
artistA band, a performer or a composer.
releaseOne specific edition of an album or single, the actual product.
recordingA single track.
release-groupAn album as a concept, tying its editions together.
labelA record label.

query takes plain keywords like ok computer, and it also takes MusicBrainz's own Lucene syntax, so artist:radiohead and country:GB both work.

📥 What you give it

{
  "entity": "release-group",
  "query": "ok computer",
  "maxItems": 50
}
FieldDefaultWhat it is
entityartistartist, release, recording, release-group or label.
querynoneThe text to search for. Keywords or Lucene syntax. The Console box starts at radiohead; an API call has to send its own.
maxItems1001 to 10,000, counted after deduplication. Large values take proportionally longer because of the pacing.
notionConnectornoneOptional. Writes one Notion page per record when the run finishes. Authorise the connector once under Settings, API & Integrations, MCP connectors.
notionParentIdnoneOptional. The Notion data source to write into. Leave it empty and the pages land privately in your workspace.
proxyConfigurationoffOptional network settings. A normal run does not need them.

Send an empty query and the run returns a BAD_INPUT row instead of records.

📤 What you get back

A real artist row from a recent run, with the tag list cut short because it runs to dozens:

{
  "ok": true,
  "mbid": "a74b1b7f-71a5-4011-9441-d0b5e4122711",
  "entity": "artist",
  "url": "https://musicbrainz.org/artist/a74b1b7f-71a5-4011-9441-d0b5e4122711",
  "score": 100,
  "disambiguation": null,
  "name": "Radiohead",
  "sortName": "Radiohead",
  "type": "Group",
  "country": "GB",
  "artistCredit": null,
  "date": null,
  "lifeSpan": "1991 –",
  "beginDate": "1991",
  "endDate": null,
  "ended": null,
  "tags": ["alternative rock", "art rock", "rock", "british", "experimental rock", "..."]
}

Five fields are on every row whatever you searched for:

FieldWhat it is
mbidThe MusicBrainz ID. Stable and unique, and the reason most people run this.
urlThe musicbrainz.org page for that record.
entityWhich kind of record this row is.
scoreMusicBrainz's own relevance score for your search, 0 to 100.
disambiguationThe short note MusicBrainz uses to tell same-named records apart, when it has one.

The rest depend on the entity:

EntityFields you also get
artistname, sortName, type, country, lifeSpan, beginDate, endDate, ended, tags
releasetitle, status, artistCredit, date, country, trackCount, primaryType
recordingtitle, artistCredit, date, firstReleaseDate, length in milliseconds, lengthFormatted as m:ss
release-grouptitle, type, primaryType, secondaryTypes, artistCredit, date, firstReleaseDate
labelname, type, country, lifeSpan, beginDate, endDate, labelCode

artistCredit is the credited string the way MusicBrainz writes it, so A feat. B stays A feat. B. A field MusicBrainz has no value for comes back null rather than missing, and tags are sorted by vote count.

🧾 Reading the output

Two kinds of row land in your dataset.

RowHow to spot itCharged
A recordok: true and an mbidyes
A diagnosticok: false and an errorCodeno
CodeWhat it means
BAD_INPUTquery was empty, or entity was not one of the five.
NO_RESULTSThe search ran and matched nothing.
NETWORKMusicBrainz was unreachable or answered badly. Re-run it.

A malformed Lucene query can come back as NO_RESULTS rather than an error. If a search you expected to match returns nothing, check the syntax before you conclude the record is not there.

▶️ How to run it

1. Open MusicBrainz Scraper and click Try for free. 2. Pick an Entity type. Artist is the default. 3. Type your term into Search query. 4. Set Max results. Start around 10 to see the shape of the output, then click Start. 5. Download the dataset as JSON, CSV or Excel, or read it from the Apify API.

💰 How much does it cost?

$0.20 per 1,000 records. Flat on every Apify plan, no volume tiers.

You pay per record delivered. Duplicate MBIDs across pages are dropped before anything is charged, and diagnostic rows are not charged.

💡 What people use it for

  • Resolving a messy catalogue of artist or album names to MBIDs, so everything downstream has one

key to join on.

  • Filling in release dates, countries and label codes for a back catalogue.
  • Pulling a genre slice with Lucene syntax, then sorting on score to see what actually matched.
  • Checking whether a release exists in the open catalogue at all before adding it by hand.

🚧 What it does not do

  • Search only. No lookup by MBID, no browsing an artist's releases, no track listings.
  • No audio, no cover art, no chart positions.
  • Relevance ordering is MusicBrainz's. score is its search score, not a popularity measure.
  • Large runs are slow on purpose. The pacing is what MusicBrainz asks of callers, and this

actor keeps to it.

  • If a page fails partway through a long run, the run ends with a diagnostic row and the records

already collected do not land. On big pulls, several smaller runs are safer than one huge one.

  • A malformed query reads as no results, not as a syntax error.

🧭 Which open-data scraper do you need?

If you wantUse
Artists, releases, recordings and labelsThis one
Wikidata entities and their claimsWikidata Scraper
Films, shows and people on IMDbIMDb Search Scraper
TV shows, episodes and castTV Show Scraper
Books, editions and ISBNsBooks Scraper

❓ Questions people ask

Do I need a MusicBrainz account or key? No. The search API is open and this actor uses no credential of yours.

What is an MBID for? It is a permanent identifier for one record. Store it once and you can re-find or re-join that artist, album or track later even if the name changes.

Can I look a record up by its MBID? Not with this one. It searches by text.

Why is my 10,000-record run taking minutes? The pacing. MusicBrainz asks callers to go slowly and this respects that, so time scales with the number of pages.

Can I use the data commercially? MusicBrainz core data is CC0 and the rest sits under its own data licences. Read those and credit MusicBrainz when you redistribute.

Can I schedule it? Yes, like any Apify actor.

🆘 If something breaks

Open the Issues tab on the actor page. Send the entity, the exact query and the run ID. The errorCode on the diagnostic row usually names the problem on its own.