Bandcamp Scraper: Catalog & Release Monitor
Pricing
from $3.29 / 1,000 catalog records
Bandcamp Scraper: Catalog & Release Monitor
Scrape authorized public Bandcamp album, track, artist catalog, and Discover metadata. Export flat JSON/CSV, monitor new releases, and optionally resolve rights-approved ephemeral previews. $0.00088 per catalog row.
Pricing
from $3.29 / 1,000 catalog records
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
|
Public Bandcamp catalog metadata, ready for monitoring and export. Collect authorized album, track, artist, and Discover facts. Resolve ephemeral previews only with confirmed rights. |
|
◈ Release detail Keep track facts, artwork, dates, tags, and availability in one row set. |
◈ Artist catalogs Expand a public artist catalog without hand-copying each release. |
◈ Discovery watch Turn public Discover results into a repeatable research input. |
◈ Honest availability See metadata, unavailable pages, and authorized previews as distinct outcomes. |
Bandcamp scraper for authorized public album, track, artist catalog, and Discover metadata. Export flat JSON or CSV, monitor new releases, and optionally resolve rights-approved ephemeral previews—without credentials, purchase tokens, paywall bypasses, or media downloads.
🔍 What it does
Use a public release or track URL for focused research. Use artist catalog mode to collect an artist's public catalog. Use Discover mode to review public discovery results. Each run can include track rows, release dates, tags, creator-published availability flags, artwork, pricing indicators, and a clear status.
Optional preview links are limited to creator-exposed, short-lived previews. They remain off unless you attest that you have permission. This Actor never downloads, archives, converts, or redistributes audio.
💡 Why use it
- I am an independent-label operations manager checking a release catalog before a distribution review, and need dates, track counts, artwork, and pricing details in one export.
- I am a music researcher comparing public releases and genre discovery results, and need records that retain their source pages and collection time.
- I am a catalog manager monitoring an artist's public catalog, and want scheduled runs to return only items not previously seen under my chosen state key.
- I am a rights holder validating a public preview in an internal workflow, and need its availability stated plainly instead of receiving an implied media entitlement.
🚀 How to use it
|
STEP 1 Add public pages Paste release, track, artist, or Discover URLs you are allowed to use. |
STEP 2 Choose the outcome Select URL, artist catalog, or Discover mode and set a sensible item limit. |
STEP 3 Review clean rows Export public metadata or schedule a monitored catalog review. |
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
| `startUrls` | array of URLs | Yes | Public Bandcamp release, track, artist, or Discover pages to review. |
| `mode` | enum | No | Chooses direct URLs, artist catalog expansion, or Discover results. Defaults to direct URLs. |
| `includeTracks` | boolean | No | Adds one flat row per available album track. Defaults to on. |
| `includePreviewUrls` | boolean | No | Requests creator-exposed, short-lived preview links. Keep it off for metadata-only work. |
| `confirmMediaRights` | boolean | No | Confirms you have permission before preview links can be returned. |
| `maxItems` | integer | No | Caps all output rows in the run. Defaults to 10. |
| `onlyNewItems` | boolean | No | Skips records already seen under the selected state key. Defaults to off. |
| `since` | string | No | Keeps records with an available release or publish date on or after this ISO date. |
| `stateKey` | string | No | Names the history used for monitored runs. Defaults to `default`. |
| `maxConcurrency` | integer | No | Limits simultaneous page requests. Defaults to 3. |
| `requestDelayMs` | integer | No | Sets the minimum pause before each page request. Defaults to 250 milliseconds. |
| `proxyConfiguration` | object | No | Optional connection settings for the run. |
📦 Example output
This is a real metadata-only discovery row collected from a public Bandcamp page on July 27, 2026. Fields not present in the source are omitted.
```json { "platform": "bandcamp", "resourceType": "album", "recordId": "album:3679651887", "id": "3679651887", "canonicalUrl": "https://veilofvisions.bandcamp.com/album/empty-forms", "sourceUrl": "https://bandcamp.com/discover/metal?s=new&p=digital", "sourceMode": "discover", "status": "metadata_only", "scrapedAt": "2026-07-27T17:05:57.844Z", "title": "Empty Forms", "artist": "Veil of Visions", "artistId": "1702017202", "artistUrl": "https://veilofvisions.bandcamp.com/", "artistLocation": "Ukraine", "trackCount": 6, "totalDurationSeconds": 2451.9559020996094, "releaseDate": "2026-07-27T00:00:00.000Z", "currency": "USD", "minimumPrice": 0, "isNameYourPrice": true, "isFreeDownload": false, "isStreamable": true, "availablePreviewCount": 1 } ```
📊 Data table
| Field | Type | Description |
|---|---|---|
| `platform` | string | Source platform name. |
| `resourceType` | string | Kind of row, such as album, track, artist, or status. |
| `recordId` | string | Stable Actor record key. |
| `id` | string | Public item identifier when published on the page. |
| `canonicalUrl` | string | Public page for this record. |
| `sourceUrl` | string | URL supplied or followed for this result. |
| `sourceMode` | string | Run mode that produced the row. |
| `status` | string | Result state, including metadata-only, unavailable, unsupported, or error states. |
| `title` | string | Public release, track, or artist title. |
| `artist` | string | Creator or artist name shown on the source page. |
| `artistId` | string | Public artist identifier when available. |
| `artistUrl` | string | Public artist page. |
| `artistLocation` | string | Creator-published location when available. |
| `albumTitle` | string | Parent release title for a track. |
| `albumId` | string | Parent release identifier for a track. |
| `trackNumber` | integer | Track position within its release. |
| `trackCount` | integer | Number of tracks shown for a release. |
| `durationSeconds` | number | Duration of one track in seconds. |
| `totalDurationSeconds` | number | Total shown duration for a release in seconds. |
| `releaseDate` | string | Release date published on the source page. |
| `publishedAt` | string | Publication timestamp when available. |
| `modifiedAt` | string | Modification timestamp when available. |
| `description` | string | Public release or artist description. |
| `credits` | string | Creator-published credit text. |
| `tags` | array of strings | Public tags attached to the record. |
| `imageUrl` | string | Artwork or artist image URL. |
| `currency` | string | Currency shown with public price information. |
| `minimumPrice` | number | Minimum public price when published. |
| `isNameYourPrice` | boolean | Whether the source presents a name-your-price option. |
| `isFreeDownload` | boolean | Whether the creator marks a release as free to download. |
| `isStreamable` | boolean | Whether the page presents a streamable item. |
| `isDownloadable` | boolean | Source availability flag only. It is not a permission or link. |
| `availablePreviewCount` | integer | Number of public previews found on the page. |
| `previewUrl` | string | Optional creator-exposed preview link after rights confirmation. |
| `previewFormat` | string | Format stated for an authorized preview. |
| `previewExpiresAt` | string | Expiry time for a short-lived preview link. |
| `previewEphemeral` | boolean | States whether a preview link is short-lived. |
| `previewProvenance` | string | Source context for an authorized preview link. |
| `errorMessage` | string | Plain explanation when a row cannot return normal metadata. |
| `scrapedAt` | string | Time the Actor collected this row. |
💰 Pricing
Costs $0.00088 per catalog row. A row is a public album, track, artist, or Discover result written to the default dataset. Use `maxItems` to keep test and scheduled runs bounded; platform compute charges may also apply under your Apify plan.
⭐ Share feedback
|
Was this catalog monitor useful? An honest review helps us understand where the Actor is useful and what needs improvement. |
| Leave an honest review on Apify |
✨ Tips
- Start with metadata-only runs. They are the right fit for most catalog and research work.
- Use `includeTracks` when a release needs track-level review.
- Keep preview links off unless you have permission and an immediate internal need.
- Give each monitored catalog its own `stateKey`.
- Treat availability flags as published metadata, not as a license or a media link.
❓ FAQ
Does this Actor download Bandcamp audio?
No. It does not fetch audio files, create media files, convert formats, or access purchases.
Can I get preview links for a release I manage?
Yes, if the page exposes a preview and you confirm you have permission. Returned previews are short-lived and do not grant rights beyond your authorization.
Can it access private releases, checkout pages, or login-only content?
No. It works with public pages only and does not use credentials, purchase tokens, or private media.
Can I monitor a Bandcamp artist catalog?
Yes. Use artist catalog mode with `onlyNewItems` and a stable `stateKey` for scheduled catalog review.
🔗 Other actors
- Mixcloud Media Monitor: Shows, Creators, Search & Genres ↗ - collects public show and creator metadata for music research.
- Zing MP3 Metadata Resolver: Zing MP3 ↗ - turns public Zing MP3 pages into structured music metadata.
- Migu Music Scraper: 咪咕音乐 ↗ - collects public music catalog, chart, and artist rows from Migu Music.
- Kugou Music Scraper: 酷狗音乐 Catalog, Charts & Lyrics ↗ - gathers public song, chart, artist, and lyric metadata from Kugou Music.
- QQ Music Scraper: QQ音乐 Songs, Charts & Comments ↗ - collects public QQ Music song, chart, and artist data.