π Documentation (in progress)
- π Ultrafast - Powered by Hono.js.The router
RegExpRouter
is really fast. - πͺΆ Lightweight - Has minimal dependencies.
- π Multi-runtime - Works on
Bun
,Node.js
,Vercel
orCloudflare Workers
. The same code runs on all platforms. - π₯ Download High Quality Songs, w/ lyrics for supported songs.
- π΅ Get Songs, Albums, Playlists, Artists, Radio Stations, Podcasts Lyrics, Recommendations, and more.
- β€οΈ Open Source
- Clone the repository
git clone https://github.com/rajput-hemant/jiosaavn-api-ts
cd jiosaavn-api-ts
- Install dependencies
bun i || pnpm i || npm i || yarn
Warning You need to have Bun.js installed on your machine to run the project with bun.
bun run dev || pnpm dev || npm run dev || yarn dev
bun run dev:node || pnpm dev:node || npm run dev:node || yarn dev:node
bun run dev:vercel || pnpm dev:vercel || npm run dev:vercel || yarn dev:vercel
Warning Make sure to remove Node API code from
src/index.ts
&config.ts
before deploying or running the project with Cloudflare Workers.
...
- port: +(process.env.PORT ?? 3000),
+ port: 3000, # update accordingly
...
...
- enableRateLimit: process.env.ENABLE_RATE_LIMIT === "true" ?? false,
+ enableRateLimit: false, # update accordingly
...
bun run dev:vercel || pnpm dev:cf || npm run dev:cf || yarn dev:cf
You can easily deploy your own hosted version of the JioSaavn API
by clicking on one of the links below, which will set up a ready-to-go version for you:
OR
- It utilizes Edge Functions and can automatically execute in the region nearest to the user who triggers them.
- It's worth noting that
Mumbai, India (South) - bom1
is the recommended region for this project deployment.
bun run deploy:vercel || pnpm deploy:vercel || npm run deploy:vercel || yarn deploy:vercel
Note We are using community based π° Bun runtime for β² Vercel Serverless Functions by default, You can also use β² Vercel Serverless Functions w/
Node Runtime
or β² Vercel Edge Functions to deploy the project. To useNode Runtime
orEdge Functions
rename the_api
folder toapi
and remove 'buildCommand' fromvercel.json
file.
bun run deploy:cf || pnpm deploy:cf || npm run deploy:cf || yarn deploy:cf
- Start the container
docker-compose up -d # detached mode
- Stop the container
docker-compose stop # stops the container
docker-compose down # stops and removes the container
- Start Docker daemon (Skip if already running)
sudo dockerd
- Build the image
docker build -t jiosaavn .
- Run the image
docker run -p 80:3000 jiosaavn
-
Open http://localhost to view it in the browser.
-
Stop the container
docker ps
docker stop <container-id>
This project is licensed under the MIT License - see the LICENSE file for details.