public-apis
Awesome Listpublic-apis/public-apis
A collective list of free public APIs for developers.
Overview
A community-curated directory of hundreds of free public APIs across many categories. Helps developers discover and use APIs for their projects. Includes links, descriptions, and status information.
README Preview
# APILayer Unified Suite in now Live! 🎉 🥳\n\n[APILayer unified suite](https://apilayer.com/?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo) allows you to integrate production-grade REST APIs using **One Account, One Dashboard, and One API key.** Whether you need to geocode an address, validate an email, fetch a flight, pull stock market data, or scrape a search result.\n\n[Sign up](https://app.apilayer.com?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo) and start building today!\n\nFork our official [APILayer Postman Collection](https://www.postman.com/apilayer/apilayer/collection/2uo8qbu/apilayer-suite) and get started in under 60 seconds.\n\n\n\n### APIs Covered Under APILayer Suite!\n\n- [IPstack](https://apilayer.com/products/ipstack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Markestack](https://apilayer.com/products/mediastack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Aviationstack](https://apilayer.com/products/aviationstack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Positionstack](https://apilayer.com/products/positionstack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Mediastack](https://apilayer.com/products/mediastack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Mailboxlayer](https://apilayer.com/products/mailboxlayer?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Countrylayer](https://apilayer.com/products/countrylayer?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Serpstack](https://apilayer.com/products/serpstack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n- [Scrapestack](https://apilayer.com/products/scrapestack?utm_source=Github&utm_medium=Referral&utm_campaign=Public-apis-repo)\n\n# Try Public APIs for free\nThe Public APIs repository is manually curated by community members like you and
FAQ (3)
TroubleshootingHow do I fix the broken IPS Online documentation link returning DNS_PROBE_FINISHED_NXDOMAIN?
The domain docs.identity.ps no longer resolves, so the https://docs.identity.ps/docs URL cannot be updated or redirected. Remove the IPS Online Face and License Plate Anonymization entry from the README/API list. Verify the failure with nslookup docs.identity.ps or dig docs.identity.ps; if no official new domain is provided, delete the dead row rather than linking to an unreachable URL. The fix was implemented by removing the IPS Online README entry, which closes issue #7583.
TroubleshootingHow do I fix dead public API links returning 404 or a TLS certificate mismatch for 18F API-All-the-X, UK FSA, and Numbers API?
Remove or replace the unreachable entries in README.md:
1. **18F API-All-the-X** (http://18f.github.io/API-All-the-X/): remove the link because 18F's GitHub Pages presence is retired.
2. **UK Food Standards Agency** (https://ratings.food.gov.uk/open-data/en-GB): update it to the current FSA API documentation URL.
3. **Numbers API** (https://numbersapi.com): remove or replace it. The certificate does not match the hostname, producing SSL: no alternative certificate subject name matches target host name 'numbersapi.com'; do not work around this by disabling TLS verification.
Verify each URL before merging:
curl -s -o /dev/null -w '%{http_code}\n' -L <url>
curl -svI <url>
A successful link should return HTTP 200 and pass TLS certificate validation.
TroubleshootingHow do I fix hard 404 API documentation links in a README.md directory?
Audit links with a browser User-Agent, follow redirects, and recheck every failure before changing anything:
grep -Eo 'https?://[^) ) ]+' README.md | sort -u > urls.txt
while IFS= read -r url; do
code=$(curl -L -sS -o /dev/null -w '%{http_code}' \
-A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 Chrome/120 Safari/537.36' \
--max-time 25 "$url")
printf '%s %s\n' "$code" "$url"
done < urls.txt | tee link-check.txt
Rerun all 404/410 results in a second pass. Do not automatically act on 403/429 responses, 5xx errors, timeouts, or TLS failures from a proxied scanning host; these are often bot filtering, transient outages, or local network issues.
For each confirmed 404/410:
1. Find the provider's current official documentation page.
2. Update the README table URL and, if needed, correct metadata such as authentication type.
3. If the service or API has been discontinued, remove the entry instead of linking to the working homepage.
4. Keep PRs scoped to one category to make review easier.
Concrete fixes already identified include replacing the Pirate Weather URL with its working API documentation, updating 1inch to its current documentation portal and changing its auth metadata to API key, and updating OneSignal to its current REST API overview. For Bhagavad Gita, only /api is gone while the root site returns 200, so the root domain should not be substituted unless it actually documents the API.