Frequently asked questions
Answers to common questions about submitting APIs, contributing to the project, and using the directory.Submissions
Can I submit my own API to the directory?
Can I submit my own API to the directory?
- Has full free access or at least a free tier
- Does not require purchasing a device or service
- Has proper, publicly accessible documentation
- Is not primarily a marketing attempt
What qualifies as a 'public API'?
What qualifies as a 'public API'?
- Has publicly accessible documentation
- Can be accessed by anyone (with or without authentication)
- Offers free access or a free tier
- Doesn’t require purchasing hardware or proprietary services
Can I submit a paid API?
Can I submit a paid API?
- ✔ API with free tier (e.g., 1000 requests/month free)
- ✔ API with limited free access for development
- ❌ API that only offers a free trial
- ❌ API that requires payment for any use
Why was my Pull Request closed?
Why was my Pull Request closed?
- Marketing attempt - PR identified as primarily promotional
- Requires purchase - API depends on buying a device or service
- No free tier - API requires payment for all usage
- Duplicate entry - API already listed in the directory
- Failed validation - Build checks didn’t pass
- Poor documentation - API lacks proper public documentation
- Wrong format - Entry doesn’t follow required format
- Multiple APIs - More than one API submitted per PR
How long does it take for my PR to be reviewed?
How long does it take for my PR to be reviewed?
- Number of pending PRs in the queue
- Maintainer availability
- Whether your PR passes automated checks
- Whether changes are requested
- Ensuring all automated checks pass
- Following the format exactly
- Providing complete, accurate information
- Responding quickly to any feedback
Formatting
Why can't I include 'API' in the title?
Why can't I include 'API' in the title?
- ❌ Incorrect:
GitHub API - ✔ Correct:
GitHub
Why can't I include the domain (.com, .org) in the title?
Why can't I include the domain (.com, .org) in the title?
- ❌ Incorrect:
Gmail.com - ✔ Correct:
Gmail
What if my description is longer than 100 characters?
What if my description is longer than 100 characters?
- Concise and scannable
- Fit well in the table format
- Easy to read at a glance
- Focus on the core functionality
- Remove unnecessary words (“API that allows you to…” → “Service to…”)
- Use abbreviations where appropriate
- Cut marketing language
Why must each table cell have exactly 1 space on each side?
Why must each table cell have exactly 1 space on each side?
How do I know which category to put my API in?
How do I know which category to put my API in?
- If an API fits multiple categories, choose the most relevant one
- Don’t create a new category unless absolutely necessary
- Look at similar APIs to see where they’re categorized
- When in doubt, ask in your PR comments
Authentication
What's the difference between 'apiKey' and 'OAuth'?
What's the difference between 'apiKey' and 'OAuth'?
- Simple key/token authentication
- Usually obtained from developer dashboard
- Sent with each request (header, query param, etc.)
- Good for server-to-server communication
- User authorization flow
- Requires user consent
- Uses access tokens
- Good for accessing user data on their behalf
What if the API supports multiple auth methods?
What if the API supports multiple auth methods?
apiKey and OAuth, choose:OAuthif it’s the recommended methodapiKeyif it’s the simpler, default method
What does 'User-Agent' authentication mean?
What does 'User-Agent' authentication mean?
My API requires authentication but it's not in the allowed list. What should I use?
My API requires authentication but it's not in the allowed list. What should I use?
OAuth- for any OAuth-like flow (OAuth 1, OAuth 2, etc.)apiKey- for API keys, tokens, bearer tokens, etc.X-Mashape-Key- only for RapidAPI/Mashape platformUser-Agent- for User-Agent header requirements
apiKey as it covers most authentication types.CORS and HTTPS
How do I know if an API supports CORS?
How do I know if an API supports CORS?
- Open browser developer console on any website
- Try making a request to the API:
- If it works →
Yes - If you get CORS error →
No - If unsure →
Unknown
Access-Control-Allow-Origin header.Why does CORS matter?
Why does CORS matter?
Yes):- Can use in web apps, browser extensions, client-side JavaScript
- Direct API calls from frontend code
No):- Server-side only (Node.js, Python, etc.)
- Browser blocks direct requests
- Need a proxy server
What if an API only supports HTTP (not HTTPS)?
What if an API only supports HTTP (not HTTPS)?
No.However, be aware that:- HTTP APIs are less secure
- May not work in modern browsers (mixed content blocking)
- Should be used with caution
- May be less likely to be accepted
Can I submit an API if I'm not sure about CORS?
Can I submit an API if I'm not sure about CORS?
Unknown for the CORS value.However, it’s helpful to test it if possible. The community and maintainers may update it later once confirmed.Pull Requests
Why do I need to squash my commits?
Why do I need to squash my commits?
What's the correct PR title format?
What's the correct PR title format?
Add API-name APIExamples:- ✔
Add Blockchain API - ✔
Add GitHub API - ❌
Update README.md - ❌
Added new API - ❌
Add GitHub
What's the correct commit message format?
What's the correct commit message format?
- ❌
Update Readme.md - ✔
Add Blockchain API to Cryptocurrency - ✔
Add Weather API to Weather category
Can I submit multiple APIs in one PR?
Can I submit multiple APIs in one PR?
- Easier to review
- Clearer git history
- If one API has issues, others aren’t blocked
- Simpler discussion and feedback
The build failed. What do I do?
The build failed. What do I do?
- Click “Details” on the failed check in your PR
- Read the error messages in the build log
- Fix the issues in your local repository
- Commit and push the fixes
- Wait for checks to run again automatically
- Link validation errors (broken URL)
- Format validation errors (wrong structure)
- Alphabetical order errors
- Duplicate links
Can I update an existing API entry?
Can I update an existing API entry?
- Fixing a broken link
- Correcting incorrect information
- Updating CORS/HTTPS status
- Replace old API version with new version (old gets deprecated)
- Change description for marketing purposes
- Change category without good reason
Using the directory
How do I search for a specific type of API?
How do I search for a specific type of API?
- Use the Index at the top of the README
- Click on category links to jump to that section
- Use your browser’s find function (Ctrl+F or Cmd+F)
- Search GitHub’s interface
- Check the website version if available
- Look for community tools that provide filtering
What does it mean if an API isn't listed?
What does it mean if an API isn't listed?
- No one has submitted it yet (you can!)
- It was submitted but didn’t meet requirements
- It requires payment with no free tier
- It lacks proper documentation
- It’s too new and hasn’t been discovered
Are the APIs in this directory officially endorsed?
Are the APIs in this directory officially endorsed?
- Inclusion doesn’t guarantee quality
- No official support or warranty
- APIs may change or shut down
- Always check the API’s own documentation
- Test thoroughly before production use
How often is the directory updated?
How often is the directory updated?
- New PRs are merged
- Broken links are fixed
- New APIs are discovered
