All Projects → scriptkittie → Bandcamp Api

scriptkittie / Bandcamp Api

Licence: gpl-3.0
API wrapper for querying band, album, and track data from bandcamp.com

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Bandcamp Api

Easyjson
Provides an unified JSON access API, you can adapter any JSON library to Gson, Jackson, FastJson with easyjson。 提供了一个JSON门面库,就像slf4j一样。easyjson本身不做json的操作,完全依赖于底层实现库。可以直接使用Easyjson的API,底层的JSON库随时可切换。也可以使用其中某个json的API,然后通过easyjson适配给其他的json库
Stars: ✭ 54 (+170%)
Mutual labels:  api, json, gson
Jikan
Unofficial MyAnimeList PHP+REST API which provides functions other than the official API
Stars: ✭ 531 (+2555%)
Mutual labels:  api, json
Acts as api
makes creating API responses in Rails easy and fun
Stars: ✭ 506 (+2430%)
Mutual labels:  api, json
Ponzu
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.
Stars: ✭ 5,373 (+26765%)
Mutual labels:  api, json
Zerocode
A community-developed, free, open source, microservices API automation and load testing framework built using JUnit core runners for Http REST, SOAP, Security, Database, Kafka and much more. Zerocode Open Source enables you to create, change, orchestrate and maintain your automated test cases declaratively with absolute ease.
Stars: ✭ 482 (+2310%)
Mutual labels:  api, json
Element Api
Create a JSON API/Feed for your elements in Craft.
Stars: ✭ 493 (+2365%)
Mutual labels:  api, json
Spyke
Interact with REST services in an ActiveRecord-like manner
Stars: ✭ 591 (+2855%)
Mutual labels:  api, json
Json Api Php
JSON-API (http://jsonapi.org) responses in PHP.
Stars: ✭ 426 (+2030%)
Mutual labels:  api, json
Jsonschema2pojo
Generate Java types from JSON or JSON Schema and annotate those types for data-binding with Jackson, Gson, etc
Stars: ✭ 5,633 (+28065%)
Mutual labels:  json, gson
Json Ld.org
JSON for Linked Data
Stars: ✭ 722 (+3510%)
Mutual labels:  api, json
Api
姬长信API For Docker 一个基于多种编程语言开源免费不限制提供生活常用,出行服务,开发工具,金融服务,通讯服务和公益大数据的平台.
Stars: ✭ 743 (+3615%)
Mutual labels:  api, json
Sleekdb
Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.
Stars: ✭ 450 (+2150%)
Mutual labels:  api, json
Normalizr
Normalizes nested JSON according to a schema
Stars: ✭ 20,721 (+103505%)
Mutual labels:  api, json
Networking
⚡️ Elegantly connect to a REST JSON Api. URLSession + Combine + Decodable + Generics = <3
Stars: ✭ 499 (+2395%)
Mutual labels:  api, json
Laravel Api Response Builder
Builds nice, normalized and easy to consume Laravel REST API JSON responses.
Stars: ✭ 433 (+2065%)
Mutual labels:  api, json
Jsonui
jsonui is an interactive JSON explorer on your command line
Stars: ✭ 583 (+2815%)
Mutual labels:  api, json
Movement
Movement is an easier, simpler way to explore and use NIEM. Want to join the Movement and contribute to it? Start here.
Stars: ✭ 19 (-5%)
Mutual labels:  api, json
Dog Ceo Api
The API hosted at dog.ceo
Stars: ✭ 393 (+1865%)
Mutual labels:  api, json
Jsonformat4flutter
受zzz40500/GsonFormat启发,将JSONObject格式的String解析成dart语言的实体类
Stars: ✭ 411 (+1955%)
Mutual labels:  json, gson
Manticoresearch
Database for search
Stars: ✭ 610 (+2950%)
Mutual labels:  api, json

bandcamp-api

Build Status

Overview

Bandcamp-api is API wrapper written in JAVA to retrieve Bandcamp band, album, and track metadata. It utilizes an underlying existing JSON API framework which pre-exists within bandcamp which is also how the website retrieves its data. This project also provides an easy way to execute asynchronous requests against the API.

Changelog

Open spoiler to view changelog

1.0.0

  • Initial release.

Installation

Install from Maven Central

Just add the following dependencies to your maven pom.xml

<dependency>
    <groupId>io.laniakia</groupId>
    <artifactId>bandcamp-api</artifactId>
    <version>1.0.0</version>
</dependency>

Example Usage

Search Endpoint

Config details on the current bandcamp search REST endpoint are stored in /resources/config.xml

Initialize BandcampAPI With Default Threadcount

import io.laniakia.core.BandcampAPI;
...
BandcampAPI bandCampObj = new BandcampAPI();

Initialize BandcampAPI With Custom Thread Count

import io.laniakia.core.BandcampAPI;
...
int threadPoolCount = 4;
BandcampAPI bandCampObj = new BandcampAPI(threadPoolCount);

Band Search Options

import io.laniakia.core.BandcampAPI;
...
int threadPoolCount = 4;
boolean useThreads = true;
boolean searchMultiplePages = true
BandcampAPI bandCampObj = new BandcampAPI(threadPoolCount);
bandCampObj.searchBand("parallels", searchMultiplePages, useThreads);

Search Bands With Asynchronous Requests

import io.laniakia.core.BandcampAPI;
...
BandcampAPI bandCampObj = new BandcampAPI();
bandCampObj.searchBand("parallels", true, true);

Search Only First Page Of Results

import io.laniakia.core.BandcampAPI;
...
BandcampAPI bandCampObj = new BandcampAPI();
bandCampObj.searchBand("parallels", false, true);

Other API Calls

import io.laniakia.core.BandcampAPI;
...
BandcampAPI bandCampObj = new BandcampAPI();
bandCampObj.searchBand("parallels", false, true);
//Query specific band
bandCampObj.getBand("https://parallels.bandcamp.com/");
//Query album by URL
bandCampObj.getAlbum("https://parallels.bandcamp.com/album/visionaries");
//Query by band and album
bandCampObj.getAlbum("Parallels", "Visionaries");

Install from Source

Clone from remote repository then mvn install. All of the modules will be installed to your local maven repository.

git clone https://github.com/scriptkittie/bandcamp-api.git
cd bandcamp-api
mvn install

Issues/Forks

Please report any issues to the issues section & as always if you have any functionality requests go ahead and open an issue containing your suggestions.

If you have an addition to the project, fork it and submit a pull request. Any type of contributions are welcome.

Credits

Package written by StCypher

API calls made to Bandcamp

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].