# prasadkurapati/public-apis architecture

> Architecture diagram of the GitHub repository prasadkurapati/public-apis, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/prasadkurapati/public-apis
- Repository: https://github.com/prasadkurapati/public-apis

## Overview

This repository is a community-curated directory of public APIs, not an API-serving application. The principal workflow is that contributors maintain the Markdown catalog, then run format and link checks; readers use the catalog to discover APIs and their documentation or endpoints. The README also highlights APILayer products and MCP servers, but the available tree and source excerpts do not expose their implementations, so they are represented only as documented catalog content. Validation behavior is grounded in the sampled scripts.

Main entry points: [`README.md`](https://github.com/prasadkurapati/public-apis/blob/master/README.md) (API directory), [`scripts/validate/links.py`](https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/links.py) (Link checker), [`scripts/validate/format.py`](https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/format.py) (Format checker)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_catalog["API catalog"]
  node_catalog_doc["API directory<br/>[README.md]"]
  node_api_domains["API listings<br/>[README.md]"]
end

subgraph group_validation["Catalog validation"]
  node_format_cli["Format checker<br/>[format.py]"]
  node_link_cli["Link checker<br/>[links.py]"]
end

subgraph group_integrations["External APIs"]
  node_apilayer["APILayer suite"]
  node_public_services["Listed API services"]
end

node_contributors(("Contributors"))
node_readers(("API readers"))
node_http_services["Linked web hosts"]

node_contributors -->|"curate entries"| node_catalog_doc
node_readers -->|"browse catalog"| node_catalog_doc
node_catalog_doc -->|"documents"| node_api_domains
node_catalog_doc -.->|"lists products"| node_apilayer
node_catalog_doc -->|"links to"| node_public_services
node_contributors -->|"run checker"| node_format_cli
node_format_cli -->|"checks format"| node_catalog_doc
node_contributors -->|"run checker"| node_link_cli
node_link_cli -->|"extracts links"| node_catalog_doc
node_link_cli -->|"requests URLs"| node_http_services

click node_catalog_doc "https://github.com/prasadkurapati/public-apis/blob/master/README.md"
click node_api_domains "https://github.com/prasadkurapati/public-apis/blob/master/README.md"
click node_format_cli "https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/format.py"
click node_link_cli "https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/links.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_catalog_doc,node_api_domains toneBlue
class node_format_cli,node_link_cli toneAmber
class node_apilayer,node_public_services,node_readers toneMint
class node_contributors,node_http_services toneIndigo
```

## Components

### API catalog

- [API directory](https://github.com/prasadkurapati/public-apis/blob/master/README.md): `README.md`
- [API listings](https://github.com/prasadkurapati/public-apis/blob/master/README.md): `README.md`

### Catalog validation

- [Format checker](https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/format.py): `scripts/validate/format.py`
- [Link checker](https://github.com/prasadkurapati/public-apis/blob/master/scripts/validate/links.py): `scripts/validate/links.py`

### External APIs

- **APILayer suite**
- **Listed API services**

### Other components

- **Contributors**
- **API readers**
- **Linked web hosts**

## Connections

- Contributors → API directory: curate entries
- API readers → API directory: browse catalog
- API directory → API listings: documents
- API directory → APILayer suite: lists products
- API directory → Listed API services: links to
- Contributors → Format checker: run checker
- Format checker → API directory: checks format
- Contributors → Link checker: run checker
- Link checker → API directory: extracts links
- Link checker → Linked web hosts: requests URLs
