Free and open source
Practice on a real API.
50+ endpoints for auth, e-commerce, social media, todos and more. No keys, no sign up. Send a request and see what comes back.
https://prod-main-api-704464-00tre1p1erm.compute.instacloud-edge.com/api/v1Explore
Seven categories, one consistent API.
Pick a category to see its endpoints. Anything marked Try runs live in the console.
Public data
Read-only datasets, ready for your first fetch. Lists are paginated with page and limit.
- GET
/public/quotes/quote/random
A random quote
- GET
/public/randomusers/user/random
A random user profile
- GET
/public/randomusers?page=1&limit=5
Users, paginated
- GET
/public/randomproducts/product/random
A random product
- GET
/public/randomjokes/joke/random
A random joke
- GET
/public/books?page=1&limit=5
Books, paginated
- GET
/public/meals/meal/random
A random meal with its recipe
- GET
/public/dogs/dog/random
A random dog breed
- GET
/public/cats/cat/random
A random cat breed
- GET
/public/stocks/stock/random
A random NSE stock
- GET
/public/youtube/videos?page=1&limit=5
YouTube videos, paginated
Responses
Every response has the same shape.
Learn it once and every endpoint feels familiar. It is the contract you would design for your own backend.
- 1
statusCode
The HTTP status again, so it is in the body when you log or store it.
- 2
data
The payload. Lists also carry page, limit, totalPages and hasNextPage.
- 3
message
A readable summary you can drop straight into a toast.
- 4
success
A boolean for the happy path, so you never compare status codes.
Quick start
Call it from anywhere.
Plain HTTP and JSON. It works from the browser, a mobile app, a script or a backend.
- 01
Pick an endpoint
Use the console at the top, or browse every route in the docs.
- 02
Copy a snippet
These follow whatever is in the console, so they always run.
- 03
Add auth when you need it
Log in, then send the access token as a Bearer header or keep the cookies.
const res = await fetch("https://prod-main-api-704464-00tre1p1erm.compute.instacloud-edge.com/api/v1/public/quotes/quote/random");
const { data, message } = await res.json();
console.log(message, data);Open source
Run your own copy in a minute.
MIT licensed and built in the open by the community. Clone it, start it with Docker and point your app at localhost.
- stars
- 9.3k stars
- forks
- 1.4k forks
- license
- MIT license
$ git clone https://github.com/hiteshchoudhary/apihub.git$ cd apihub$ cp .env.sample .env$ docker compose up