Skip to main content

GitHub repository

The Public APIs project is open source and hosted on GitHub. We welcome contributions from the community to help maintain and grow this valuable resource. Repository: https://github.com/public-apis/public-apis

How to contribute

We appreciate community contributions! Here’s how you can get involved:

Getting started

  1. Fork the repository - Create your own copy of the project
  2. Clone it locally - Download your fork to your computer
  3. Create a branch - Make a new branch for your changes
  4. Make your changes - Add or update API entries
  5. Commit your work - Use descriptive commit messages
  6. Push to your fork - Upload your changes
  7. Open a Pull Request - Submit your changes for review

Contribution guidelines

Before submitting a Pull Request:
  • One API per PR - Submit one link per Pull Request
  • Follow the format - Use the correct table structure with all required columns
  • Alphabetical order - Maintain alphabetical ordering within each category
  • PR title format - Use the format: Add API-name API (e.g., Add Blockchain API)
  • Descriptive commits - ❌ Update Readme.mdAdd Blockchain API to Cryptocurrency
  • Squash commits - Combine all commits into one before submitting
  • No TLD in name - ❌ Gmail.comGmail
  • No “API” suffix - ❌ Gmail APIGmail
  • Proper documentation - Ensure the API has official documentation

API requirements

The Public APIs list is not a marketing tool. PRs identified as marketing attempts will not be accepted.
APIs must meet these criteria:
  • Free access - Full free access or at least a free tier available
  • No purchase required - Should not depend on purchasing a device or service
  • Public documentation - Must have proper, accessible documentation
  • Not deprecated - Never submit an updated version of an already listed API

Entry format

Each API entry should follow this format:
| API | Description | Auth | HTTPS | CORS |
| --- | --- | --- | --- | --- |
| [API Title](link-to-docs) | Description of API | `apiKey` | Yes | Yes |
Column requirements:
  • API: Title with link to documentation (no “API” suffix, no TLD)
  • Description: Start with capital letter, max 100 characters, no ending punctuation
  • Auth: OAuth, apiKey, X-Mashape-Key, User-Agent, or No
  • HTTPS: Yes or No
  • CORS: Yes, No, or Unknown

Issue reporting

Found a broken link or incorrect information?

Report an issue

  1. Visit the Issues page
  2. Check if the issue already exists
  3. If not, create a new issue with:
    • Clear title describing the problem
    • Details about the API affected
    • Steps to reproduce (if applicable)
    • Any error messages or screenshots

Search before posting

Before creating a new issue or PR:
  • Search existing Pull Requests
  • Search existing Issues
  • Your issue may already be addressed

Pull Request review process

After submitting a PR:
  1. Automated checks - Build will verify all links and formatting
  2. Ensure build passes - Check the build logs and fix any errors
  3. Community review - Other contributors and users may comment
  4. Maintainer decision - Final decision made by project collaborators
  5. Make requested changes - Add commits if changes are needed (don’t forget to squash)

Stay involved

Ways to stay engaged with the project:
  • Star the repository - Show your support
  • 👀 Watch for updates - Get notified of new discussions
  • 🐛 Report bugs - Help us maintain quality
  • Suggest improvements - Share your ideas
  • 📖 Improve documentation - Help make the project more accessible
Thank you for being part of the Public APIs community!

Build docs developers (and LLMs) love