
Bandcamp Crawler
3 days trial then $35.00/month - No credit card required now

Bandcamp Crawler
3 days trial then $35.00/month - No credit card required now
The Bandcamp.com crawler is a web scraping tool that allows you to extract data from the Bandcamp music platform. With this crawler, you can get information about albums, tracks, and much more. The crawler is built on top of Apify SDK, and you can run it both on the Apify platform and locally.
You can access the Bandcamp Crawler programmatically from your own applications by using the Apify API. You can choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
1{
2 "openapi": "3.0.1",
3 "info": {
4 "version": "0.1",
5 "x-build-id": "d0GhNE4tgpoiK54rS"
6 },
7 "servers": [
8 {
9 "url": "https://api.apify.com/v2"
10 }
11 ],
12 "paths": {
13 "/acts/service-paradis~bandcamp-crawler/run-sync-get-dataset-items": {
14 "post": {
15 "operationId": "run-sync-get-dataset-items-service-paradis-bandcamp-crawler",
16 "x-openai-isConsequential": false,
17 "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18 "tags": [
19 "Run Actor"
20 ],
21 "requestBody": {
22 "required": true,
23 "content": {
24 "application/json": {
25 "schema": {
26 "$ref": "#/components/schemas/inputSchema"
27 }
28 }
29 }
30 },
31 "parameters": [
32 {
33 "name": "token",
34 "in": "query",
35 "required": true,
36 "schema": {
37 "type": "string"
38 },
39 "description": "Enter your Apify token here"
40 }
41 ],
42 "responses": {
43 "200": {
44 "description": "OK"
45 }
46 }
47 }
48 },
49 "/acts/service-paradis~bandcamp-crawler/runs": {
50 "post": {
51 "operationId": "runs-sync-service-paradis-bandcamp-crawler",
52 "x-openai-isConsequential": false,
53 "summary": "Executes an Actor and returns information about the initiated run in response.",
54 "tags": [
55 "Run Actor"
56 ],
57 "requestBody": {
58 "required": true,
59 "content": {
60 "application/json": {
61 "schema": {
62 "$ref": "#/components/schemas/inputSchema"
63 }
64 }
65 }
66 },
67 "parameters": [
68 {
69 "name": "token",
70 "in": "query",
71 "required": true,
72 "schema": {
73 "type": "string"
74 },
75 "description": "Enter your Apify token here"
76 }
77 ],
78 "responses": {
79 "200": {
80 "description": "OK",
81 "content": {
82 "application/json": {
83 "schema": {
84 "$ref": "#/components/schemas/runsResponseSchema"
85 }
86 }
87 }
88 }
89 }
90 }
91 },
92 "/acts/service-paradis~bandcamp-crawler/run-sync": {
93 "post": {
94 "operationId": "run-sync-service-paradis-bandcamp-crawler",
95 "x-openai-isConsequential": false,
96 "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97 "tags": [
98 "Run Actor"
99 ],
100 "requestBody": {
101 "required": true,
102 "content": {
103 "application/json": {
104 "schema": {
105 "$ref": "#/components/schemas/inputSchema"
106 }
107 }
108 }
109 },
110 "parameters": [
111 {
112 "name": "token",
113 "in": "query",
114 "required": true,
115 "schema": {
116 "type": "string"
117 },
118 "description": "Enter your Apify token here"
119 }
120 ],
121 "responses": {
122 "200": {
123 "description": "OK"
124 }
125 }
126 }
127 }
128 },
129 "components": {
130 "schemas": {
131 "inputSchema": {
132 "type": "object",
133 "properties": {
134 "startUrls": {
135 "title": "Start URLs",
136 "type": "array",
137 "description": "URLs to fetch data from.",
138 "items": {
139 "type": "object",
140 "required": [
141 "url"
142 ],
143 "properties": {
144 "url": {
145 "type": "string",
146 "title": "URL of a web page",
147 "format": "uri"
148 }
149 }
150 }
151 },
152 "maxPagesToSearch": {
153 "title": "Maximum number of pages to crawl in Search page",
154 "type": "integer",
155 "description": "When the starting URL is a search page, this parameter will define how many pages to crawl.",
156 "default": 6
157 },
158 "fetchAlbumsFromSearch": {
159 "title": "Fetch Albums from Search page",
160 "type": "boolean",
161 "description": "Will fetch albums details found in the search pages and store them as individual items when activated.",
162 "default": false
163 },
164 "fetchTracksFromSearch": {
165 "title": "Fetch Tracks from Search page",
166 "type": "boolean",
167 "description": "Will fetch tracks details found in the search pages and store them as individual items when activated.",
168 "default": false
169 },
170 "fetchAlbumsFromDiscover": {
171 "title": "Fetch Albums from Discover page",
172 "type": "boolean",
173 "description": "Will fetch albums details found in the discover pages and store them as individual items when activated.",
174 "default": false
175 },
176 "fetchArtistsFromDiscover": {
177 "title": "Fetch Artists from Discover page",
178 "type": "boolean",
179 "description": "Will fetch artists details found in the discover pages and store them as individual items when activated.",
180 "default": false
181 },
182 "fetchTracksFromAlbum": {
183 "title": "Fetch Tracks from Album",
184 "type": "boolean",
185 "description": "Will fetch tracks details found in the album pages and store them as individual items when activated.",
186 "default": false
187 },
188 "fetchAlbumFromTrack": {
189 "title": "Fetch Album from Tracks",
190 "type": "boolean",
191 "description": "Will fetch album details found in the track pages and store them as individual items when activated.",
192 "default": false
193 },
194 "proxy": {
195 "title": "Proxy configuration",
196 "type": "object",
197 "description": "You can edit this to use Apify proxy, or provide your own proxy servers.",
198 "default": {
199 "useApifyProxy": false
200 }
201 },
202 "debug": {
203 "title": "Debug Mode",
204 "type": "boolean",
205 "description": "See detailed logs when activated.",
206 "default": false
207 }
208 }
209 },
210 "runsResponseSchema": {
211 "type": "object",
212 "properties": {
213 "data": {
214 "type": "object",
215 "properties": {
216 "id": {
217 "type": "string"
218 },
219 "actId": {
220 "type": "string"
221 },
222 "userId": {
223 "type": "string"
224 },
225 "startedAt": {
226 "type": "string",
227 "format": "date-time",
228 "example": "2025-01-08T00:00:00.000Z"
229 },
230 "finishedAt": {
231 "type": "string",
232 "format": "date-time",
233 "example": "2025-01-08T00:00:00.000Z"
234 },
235 "status": {
236 "type": "string",
237 "example": "READY"
238 },
239 "meta": {
240 "type": "object",
241 "properties": {
242 "origin": {
243 "type": "string",
244 "example": "API"
245 },
246 "userAgent": {
247 "type": "string"
248 }
249 }
250 },
251 "stats": {
252 "type": "object",
253 "properties": {
254 "inputBodyLen": {
255 "type": "integer",
256 "example": 2000
257 },
258 "rebootCount": {
259 "type": "integer",
260 "example": 0
261 },
262 "restartCount": {
263 "type": "integer",
264 "example": 0
265 },
266 "resurrectCount": {
267 "type": "integer",
268 "example": 0
269 },
270 "computeUnits": {
271 "type": "integer",
272 "example": 0
273 }
274 }
275 },
276 "options": {
277 "type": "object",
278 "properties": {
279 "build": {
280 "type": "string",
281 "example": "latest"
282 },
283 "timeoutSecs": {
284 "type": "integer",
285 "example": 300
286 },
287 "memoryMbytes": {
288 "type": "integer",
289 "example": 1024
290 },
291 "diskMbytes": {
292 "type": "integer",
293 "example": 2048
294 }
295 }
296 },
297 "buildId": {
298 "type": "string"
299 },
300 "defaultKeyValueStoreId": {
301 "type": "string"
302 },
303 "defaultDatasetId": {
304 "type": "string"
305 },
306 "defaultRequestQueueId": {
307 "type": "string"
308 },
309 "buildNumber": {
310 "type": "string",
311 "example": "1.0.0"
312 },
313 "containerUrl": {
314 "type": "string"
315 },
316 "usage": {
317 "type": "object",
318 "properties": {
319 "ACTOR_COMPUTE_UNITS": {
320 "type": "integer",
321 "example": 0
322 },
323 "DATASET_READS": {
324 "type": "integer",
325 "example": 0
326 },
327 "DATASET_WRITES": {
328 "type": "integer",
329 "example": 0
330 },
331 "KEY_VALUE_STORE_READS": {
332 "type": "integer",
333 "example": 0
334 },
335 "KEY_VALUE_STORE_WRITES": {
336 "type": "integer",
337 "example": 1
338 },
339 "KEY_VALUE_STORE_LISTS": {
340 "type": "integer",
341 "example": 0
342 },
343 "REQUEST_QUEUE_READS": {
344 "type": "integer",
345 "example": 0
346 },
347 "REQUEST_QUEUE_WRITES": {
348 "type": "integer",
349 "example": 0
350 },
351 "DATA_TRANSFER_INTERNAL_GBYTES": {
352 "type": "integer",
353 "example": 0
354 },
355 "DATA_TRANSFER_EXTERNAL_GBYTES": {
356 "type": "integer",
357 "example": 0
358 },
359 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
360 "type": "integer",
361 "example": 0
362 },
363 "PROXY_SERPS": {
364 "type": "integer",
365 "example": 0
366 }
367 }
368 },
369 "usageTotalUsd": {
370 "type": "number",
371 "example": 0.00005
372 },
373 "usageUsd": {
374 "type": "object",
375 "properties": {
376 "ACTOR_COMPUTE_UNITS": {
377 "type": "integer",
378 "example": 0
379 },
380 "DATASET_READS": {
381 "type": "integer",
382 "example": 0
383 },
384 "DATASET_WRITES": {
385 "type": "integer",
386 "example": 0
387 },
388 "KEY_VALUE_STORE_READS": {
389 "type": "integer",
390 "example": 0
391 },
392 "KEY_VALUE_STORE_WRITES": {
393 "type": "number",
394 "example": 0.00005
395 },
396 "KEY_VALUE_STORE_LISTS": {
397 "type": "integer",
398 "example": 0
399 },
400 "REQUEST_QUEUE_READS": {
401 "type": "integer",
402 "example": 0
403 },
404 "REQUEST_QUEUE_WRITES": {
405 "type": "integer",
406 "example": 0
407 },
408 "DATA_TRANSFER_INTERNAL_GBYTES": {
409 "type": "integer",
410 "example": 0
411 },
412 "DATA_TRANSFER_EXTERNAL_GBYTES": {
413 "type": "integer",
414 "example": 0
415 },
416 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
417 "type": "integer",
418 "example": 0
419 },
420 "PROXY_SERPS": {
421 "type": "integer",
422 "example": 0
423 }
424 }
425 }
426 }
427 }
428 }
429 }
430 }
431 }
432}
Bandcamp Crawler OpenAPI definition
OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Bandcamp Crawler from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients:
Actor Metrics
1 monthly user
-
3 bookmarks
>99% runs succeeded
Created in Apr 2023
Modified 5 months ago