Join our FREE personalized newsletter for news, trends, and insights that matter to everyone in America

Newsletter
New

I Turned 1,460+ Public Apis Into A Searchable Json Endpoint

Card image cap

I kept running into the same small problem while building frontend demos, hackathon projects, and prototype apps:

I needed free APIs to test with, but finding the right one usually meant scrolling through long GitHub lists, checking whether each API needed authentication, checking HTTPS support, and checking CORS manually.

So I turned a public API directory into a searchable JSON endpoint.

The result is a small REST API with 1,460+ public APIs that can be queried by category, authentication type, HTTPS support, CORS support, or randomly when you just need an idea.

What it does

The API lets you search public APIs programmatically.

Useful when you want to quickly find APIs for:

  • frontend demos
  • weekend projects
  • hackathons
  • coding tutorials
  • AI agents that need API discovery
  • testing fetch requests
  • building example apps

Base URL

https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app  

1. Get all categories

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/categories"  
);  
  
const data = await res.json();  
  
console.log(data.categories);  

Example response shape:

{  
  "count": 51,  
  "categories": [  
    "Animals",  
    "Anime",  
    "Authentication & Authorization",  
    "Blockchain",  
    "Business",  
    "Calendar",  
    "Development",  
    "Finance",  
    "Games & Comics",  
    "Programming",  
    "Security",  
    "Test Data",  
    "Weather"  
  ]  
}  

2. Search APIs by category

For example, find Weather APIs:

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/entries?category=Weather"  
);  
  
const data = await res.json();  
  
console.log(data.count);  
console.log(data.entries);  

You can also filter by CORS support:

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/entries?category=Weather&cors=yes"  
);  
  
const data = await res.json();  
  
console.log(data.entries);  

This is useful for frontend developers because CORS support matters when building browser-based demos.

3. Find APIs that do not require auth

Sometimes you just want an API you can use immediately without creating an account.

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/entries?auth=No&https=true"  
);  
  
const data = await res.json();  
  
console.log(data.count);  
console.log(data.entries);  

This is useful when you want an API for a quick demo without managing API keys.

4. Get a random API idea

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/random"  
);  
  
const data = await res.json();  
  
console.log(data.entries[0]);  

You can also restrict random results by category:

const res = await fetch(  
  "https://free-api-directory-nxmezfwbj-kawinthorn11-7692s-projects.vercel.app/random?category=Weather"  
);  
  
const data = await res.json();  
  
console.log(data.entries[0]);  

Available endpoints

GET /categories  
GET /entries  
GET /entries?category=Weather&cors=yes  
GET /entries?auth=No&https=true  
GET /random  
GET /random?category=Weather  

Example response item

{  
  "API": "Open-Meteo",  
  "Description": "Global weather forecast API for non-commercial use",  
  "Auth": "No",  
  "HTTPS": true,  
  "Cors": "Yes",  
  "Link": "https://open-meteo.com/",  
  "Category": "Weather"  
}  

Why I built this

The original public API lists are useful, but they are mostly optimized for humans reading Markdown.

I wanted something easier to use from code.

For example:

  • A frontend tutorial can fetch APIs by category.
  • A hackathon project can quickly find no-auth APIs.
  • A demo app can use random API ideas.
  • An AI agent can search for public APIs programmatically.
  • A developer can filter for HTTPS and CORS support before choosing an API.

RapidAPI version

I also published it on RapidAPI here:

https://rapidapi.com/kawinthorn11collab/api/free-api-directory-api

What I might add next

If people find this useful, the next improvements I’m considering are:

  • pagination
  • sorting
  • better search
  • shortcuts like noAuth=true
  • filtering by multiple categories
  • API popularity/ranking
  • better frontend UI
  • saved collections

I would appreciate feedback from other developers:

What filters would make this more useful for finding APIs quickly?