For developers

Use ApiWall in your app

Everything on the wall is available as plain JSON: every API with its category, auth, HTTPS, CORS, docs link and logo. It's free and read-only. There's no key or sign-up, and you can call it from a web page or a server.

Base URL

https://eziodevio.github.io/ApiWall/api/v1/

The data is refreshed by the weekly catalog sync. This copy was imported on October 19, 2026 and lists 2,184 entries. Each response says when its data was imported in meta.source.importedAt.

Endpoints

PathWhat it returns
index.jsonThe list of endpoints, the source and the license notice.
apis.jsonEvery API on the wall, sorted by name (about 1.2 MB). Filter it in your own code.
apis/{id}.jsonOne API. IDs never change, so they're safe to store.
categories.jsonEvery category with its slug, name and count.
categories/{slug}.jsonThe APIs in one category, including cross-listed ones (for example, AI Models).
changes.jsonWhat each sync added and removed, newest first (the same data as What's new).
packs.jsonEvery starter pack with its rule and size.
packs/{slug}.jsonThe APIs in one starter pack.
stats.jsonCatalog-wide numbers: auth, HTTPS, CORS, biggest categories and docs-link trends (the data behind Stats).
badges/{name}.jsonLive shields.io endpoint badges: apis, categories, dead-links and packs.

Examples

JavaScript (browser or Node)

// Every API that needs no key and works from the browser
const res = await fetch("https://eziodevio.github.io/ApiWall/api/v1/apis.json");
const { data } = await res.json();
const easy = data.filter((api) => api.auth.type === "none" && api.cors === true);
console.log(easy.length, "APIs you can call straight from a web page");

curl

curl https://eziodevio.github.io/ApiWall/api/v1/categories/weather.json

Python

import requests

apis = requests.get("https://eziodevio.github.io/ApiWall/api/v1/apis.json", timeout=30).json()["data"]
for api in apis:
    if "ai-models" in api["categories"]:
        print(api["name"], api["docsUrl"])

Fields of an API

id, name, descriptionAs listed. The ID is permanent.
kind"api" for HTTP APIs, "mcp" for MCP servers (which add an mcp object with transport and install links).
category, categoriesIts own category, and every category slug it appears under on the wall.
authlisted is the catalog's own words; type is one of none, apiKey, oauth, x-mashape-key, user-agent, unknown or other.
https, corstrue, false, or null when the catalog doesn't say. Always null for MCP servers.
docsUrl, wallUrlThe provider's docs, and the listing on ApiWall (opens its details).
logoA small WebP hosted by ApiWall, with the provider page it came from, or null. Logos belong to their owners; show them only to identify the service.
docsLinkApiWall's weekly check of docsUrl: status is reachable, unreachable or unchecked, with checkedOn, failingSince and a short reason.
pageUrl, brandIconThe API's own page on ApiWall. For well-known brands without a downloaded logo, brandIcon holds the brand colour and a 24×24 SVG path (Simple Icons data).
addedAtWhen the API first appeared on ApiWall, or null for the original import.
origin, aiModel"public-apis" or "apiwall". ApiWall's curated AI Models entries add an aiModel object with the provider, models, API host, docs and the date ApiWall checked them.

Pricing and free tiers are not part of the API, because ApiWall only shows them when a reviewer has verified them. Check each provider's terms.

Embed a card on your site

Paste two lines into any web page to show an ApiWall card for one API, or a short list for a category. The card loads from ApiWall, keeps its own styles (it never changes your page's look), follows the visitor's light or dark setting and links back here. Every API's page has its own ready-to-copy code.

One API

<div data-apiwall-api="api-claude-api-07vgi4i0c9"></div>
<script src="https://eziodevio.github.io/ApiWall/embed.js" async></script>

A category

<div data-apiwall-category="weather" data-limit="4"></div>
<script src="https://eziodevio.github.io/ApiWall/embed.js" async></script>

A starter pack

<div data-apiwall-pack="browser-ready" data-limit="4"></div>
<script src="https://eziodevio.github.io/ApiWall/embed.js" async></script>

Options: data-limit (1–12 APIs for a category or pack) and data-theme="light" or "dark". The script sets no cookies and tracks nothing.

Good to know