npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@builtbyecho/public-api-finder

v0.5.11

Published

Find free/public APIs for agents and prototypes.

Readme

Public API Finder

Find free/public APIs for agents, prototypes, demos, and integrations.

Powered by multiple sources plus a curated best-known API layer:

Quick start

npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "weather forecast" --no-auth --https
npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "crypto prices" --category Cryptocurrency --limit 5
npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "jobs" --json
npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "payments" --openapi
npx --yes --package=@builtbyecho/public-api-finder -- public-api-finder "weather forecast" --no-auth --https --check

Why

Agents often waste time wandering the web for APIs. This gives them a small, predictable first stop: search a curated list, filter by auth/HTTPS/CORS, then verify the chosen API docs before coding.

Skill

The package includes an agent skill at:

skills/public-api-finder/SKILL.md

The skill tells agents to prefer the CLI first, then live-check docs/endpoints before building. Use --check when you want the CLI to annotate whether each result URL is reachable right now.

CLI options

--category <name>  Filter by category substring
--source <name>    Filter by source: public-api-lists, public-apis, apis-guru, curated
--no-auth          Only APIs with Auth = No
--https            Only HTTPS APIs
--cors <value>     Filter by CORS: Yes, No, Unknown
--openapi          Only APIs with OpenAPI specs
--limit <n>        Max results
--check            Live-check result URLs and annotate reachability
--json             Emit JSON
--refresh          Refresh cache

Bankr x402 endpoint

This repo includes a Bankr x402 Cloud endpoint scaffold at:

x402/public-api-finder/index.ts
bankr.x402.json

It is configured as a paid POST endpoint at $0.01 USDC per successful request on Base. Deploy it with Bankr when ready:

bankr x402 deploy public-api-finder

Current BuiltByEcho production endpoint:

https://x402.bankr.bot/0x2a16625fad3b0d840ac02c7c59edea3781e340ae/public-api-finder

The endpoint accepts:

{
  "query": "weather forecast no auth cors",
  "limit": 5,
  "noAuth": true,
  "https": true,
  "cors": "Yes"
}

Suggested Bankr App prompt after deployment:

Build me a public app called Public API Finder. It should have a search box,
filters for no-auth, HTTPS, CORS, category, and result limit, and a green
button labeled “Pay $0.01 & Pull”. When clicked, call my x402 endpoint
https://x402.bankr.bot/0x2a16625fad3b0d840ac02c7c59edea3781e340ae/public-api-finder with bankr.x402.fetch,
show the Bankr payment confirmation, then render ranked API cards with name,
category, auth, CORS, URL, score, and description. Make it public/unlisted so
I can share it with the Bankr team.

Hosted app / Bankr-ready credits

The package also includes a tiny zero-dependency hosted API and landing page:

npm start
# http://localhost:8787

Pricing model: 1 credit = 1 successful enriched pull. The default public price is $0.01 per pull, so a 100-credit top-up is $1.00.

API

# Create a Bankr-ready top-up order
curl -X POST http://localhost:8787/api/credits/topup \
  -H 'content-type: application/json' \
  -H 'x-api-key: acct_demo' \
  -d '{"credits":100}'

# Search, spending 1 credit only when results are returned
curl -X POST http://localhost:8787/api/search \
  -H 'content-type: application/json' \
  -H 'x-api-key: acct_demo' \
  -d '{"query":"weather forecast no auth cors","noAuth":true,"https":true,"cors":"Yes"}'

Top-ups currently return Bankr payment instructions and create a pending order. After confirming payment, grant credits with an admin token:

PUBLIC_API_FINDER_ADMIN_TOKEN=secret npm start

curl -X POST http://localhost:8787/api/admin/credits \
  -H 'content-type: application/json' \
  -H 'x-admin-token: secret' \
  -d '{"account":"acct_demo","credits":100,"paymentRef":"bankr-tx-or-job-id"}'

Environment knobs:

PORT                              Server port, default 8787
PUBLIC_API_FINDER_STATE           Ledger JSON path, default ./state/public-api-finder-ledger.json
PUBLIC_API_FINDER_PULL_PRICE_CENTS Price per pull, default 1
PUBLIC_API_FINDER_CREDITS_PER_PULL Credits charged per successful search, default 1
PUBLIC_API_FINDER_ADMIN_TOKEN      Required for manual credit grants
BANKR_RECEIVE_ADDRESS              Address shown in Bankr payment instructions
BANKR_NETWORK                      Default Base
BANKR_ASSET                        Default USDC