Skip to content

Repository files navigation

API Scout

A local-first catalog and command-line tool for finding public APIs and free-tier LLM providers—without handing over your credentials.

API Scout turns the frustrating question “what can I use for free?” into an auditable developer workflow. The repository stores concise, version-controlled records for public APIs and free-tier LLM providers, then lets you search, inspect, export, validate, and optionally check only the public documentation, status, or health URLs declared in those records.

It is intentionally not an API proxy, a scraping bot, or a credential manager. It never asks for API keys, never makes authenticated requests, and never guesses a provider endpoint. It exists to help you make a fast, informed short list before you integrate a service.

Why API Scout?

Large catalogs prove that developers value broad discovery, while provider directories and gateways show that machine-readable metadata and compatibility details make integrations practical. API Scout takes the lightweight, local-first route: a small, reviewable catalog, conservative claims, public-source links, and safe reachability checks instead of opaque rankings or unverified “free” promises. The approach was informed by the community API directory public-apis/public-apis, a structured free-LLM directory 2, and the multi-provider interoperability model demonstrated by LiteLLM 3.

API Scout does API Scout deliberately does not do
Searches a local, auditable catalog Store or transmit API keys
Records access type, source links, and review dates Scrape undocumented endpoints
Flags declared OpenAI-compatible providers Promise that a free tier is permanent
Checks declared public documentation/status URLs Call billable or authenticated product APIs
Exports concise JSON or Markdown Replace a production API gateway

Quick start

The project uses only Python’s standard library at runtime. For a quick collection of useful, no-key endpoints and the constraints that matter, begin with Start Here. Then clone the project, create an isolated environment if desired, and install it in editable mode.

git clone https://github.com/EdgeAgent/api-scout.git
cd api-scout
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'

Search all catalog entries using a natural-language keyword. The default output is designed for terminal scanning; use JSON or Markdown when you need to pass results to another tool or a README.

api-scout search weather
api-scout search --type llm --capability chat --openai-compatible
api-scout search --access free --format markdown

Inspect the complete record, including the source links used when the entry was reviewed.

api-scout show groqcloud-api
api-scout show open-meteo --format json

Validate the catalog whenever you change a record. Validation catches duplicate IDs, invalid dates, missing metadata, invalid URLs, and incomplete API/LLM fields.

api-scout validate

Optionally check public URLs. This check sends a HEAD request and falls back to GET only when the public server rejects HEAD as unsupported. It does not send credentials, request bodies, or product-API requests.

api-scout check open-meteo groqcloud-api
api-scout check --type llm --format json

Command reference

Command Purpose Example
search Find entries by text and metadata filters api-scout search embeddings --type llm
show View a full, source-linked catalog record api-scout show nasa-open-api
check Reachability-check explicitly declared public URLs only api-scout check --access free
validate Verify catalog schema and semantic conventions api-scout validate --format json

The search command supports --type, --category, --access, --capability, and --openai-compatible. The check command returns a nonzero exit code when a public URL is unreachable or responds with an unexpected status, which makes it suitable for a contributor’s local quality check or a controlled CI workflow.

Catalog model

Every entry is plain JSON under catalog/. There is no database and no remote dependency. The first seed catalog is deliberately small and source-linked; it favors verifiable records over inflated count claims.

Field Meaning
id Stable lowercase kebab-case identifier used by the CLI
kind Either api or llm
access One of free, freemium, trial, or self-hosted
last_reviewed ISO date on which the record was last checked by a contributor
source_urls Official documentation or terms pages supporting the record
openai_compatible A conservative boolean set only when compatibility is explicitly declared
access_note Change-aware caveat about quotas, eligibility, registration, or commercial use

Free is not forever. API Scout describes a provider’s declared access model at the record’s review date; it does not guarantee availability, price, quota, model selection, or eligibility. Always open the linked sources before choosing a production dependency.

Safe-check contract

The check command has deliberately narrow behavior. It selects only a catalog record’s declared health_url, status_url, or docs_url, in that order. It accepts only http and https URLs, uses an identifiable user agent, applies a timeout, and makes no request with authentication or a body. An HTTP success only means that a public page responded; it is not evidence that an API key works, that a quota is available, or that a service is suitable for your workload.

Check outcome Interpretation
reachable A declared public URL returned an HTTP 2xx or 3xx response
http-error The public server returned a 4xx or 5xx response
unreachable DNS, network, TLS, or timeout failure occurred
skipped The entry does not declare a public URL to check
blocked The record contains a non-HTTP(S) URL and no network request was made

Contributing

Good catalog contributions are evidence-first. Add the entry to catalog/apis.json or catalog/llms.json, use official URLs in source_urls, state only what the source supports, use freemium when a free tier may have provider-specific conditions, and set today’s last_reviewed date. Then run the tests and validation command before opening a pull request.

python -m pytest
api-scout validate

Please read CONTRIBUTING.md before proposing a large catalog import or a new field. Do not submit API keys, personal access tokens, account-only endpoints, scraped credentials, or unsupported quota claims.

Development

The project has no runtime dependency beyond Python 3.11+. Its test suite uses pytest and mocks network requests, so normal tests are deterministic and do not call third-party services.

python -m pip install -e '.[dev]'
python -m pytest
python -m api_scout.cli --help

Research rationale

The repository includes research.md, which captures the design research and timestamped popularity observations. The research does not treat star counts as quality guarantees; it uses the observed projects as product-pattern evidence. API Scout’s distinctive bet is that trustworthy metadata, source links, compatibility flags, and safe local validation are more useful than another static list.

License

API Scout is available under the MIT License.

References

About

A local-first catalog and CLI for finding free APIs and free-tier LLM providers.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages