Skip to content

Utpal29/AudioGrab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AudioGrab

Download the audio track from any public Instagram Reel with a single click.

Next.js FastAPI

Overview

AudioGrab is a two-part project:

  1. Frontend – Next.js + TypeScript app (ideal for Vercel) that provides a modern UI and proxies audio download requests.
  2. Backend – FastAPI service that uses Instaloader and ffmpeg to download a reel and convert the video to MP3.

Both services are designed to run independently so you can deploy them to different platforms.


Repository structure

AudioGrab/
β”œβ”€β”€ backend/                 # FastAPI service
β”‚   β”œβ”€β”€ main.py
β”‚   β”œβ”€β”€ requirements.txt
β”‚   └── README.md
β”œβ”€β”€ frontend/                # Next.js application
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ api/grab.ts
β”‚   β”‚   └── index.tsx
β”‚   β”œβ”€β”€ package.json
β”‚   β”œβ”€β”€ tsconfig.json
β”‚   └── README.md
β”œβ”€β”€ render.yaml              # Render deployment config (installs ffmpeg)
└── README.md                

Prerequisites

  • Node.js 18+ (or use nvm install 20 for local work)
  • Python 3.11+ with pip
  • ffmpeg installed locally (brew install ffmpeg on macOS, sudo apt install ffmpeg on Ubuntu)
  • Public Instagram reels must be accessible without authentication (Instaloader requirement)

Running locally

1. Backend

cd backend
python3 -m venv .venv
source .venv/bin/activate             # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
ffmpeg -version                       # ensure ffmpeg is on PATH
uvicorn main:app --reload --host 0.0.0.0 --port 8000

The FastAPI docs will be served at http://127.0.0.1:8000/docs.

2. Frontend

cd frontend
npm install
echo "AUDIOGRAB_BACKEND_URL=http://127.0.0.1:8000" > .env.local
npm run dev

Visit http://localhost:3000 and paste a public reel URL to download the MP3.


Useful scripts

Frontend (/frontend):

  • npm run dev – start local Next.js dev server
  • npm run build – create a production build
  • npm run start – run production build locally

Backend (/backend):

  • uvicorn main:app --reload – run FastAPI with live reload

Enjoy the sounds! 🎧

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published