You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long. 5.8 KiB

6 years ago
6 years ago
6 years ago
6 years ago
  1. # Contributing to public-apis
  2. > While the masses of pull requests and community involvement are appreciated, some pull requests have been specifically
  3. opened to market company APIs that offer paid solutions. This API list is not a marketing tool, but a tool to help the
  4. community build applications and use free, public APIs quickly and easily. Pull requests that are identified as marketing attempts will not be accepted.
  5. >
  6. > Please make sure the API you want to add has full, free access or at least a free tier and does not depend on the purchase of a device/service before submitting. An example that would be rejected is an API that is used to control a smart outlet - the API is free, but you must purchase the smart device.
  7. >
  8. > Thanks for understanding! :)
  9. ## Formatting
  10. Current API entry format:
  11. | API | Description | Auth | HTTPS | CORS |
  12. | --- | --- | --- | --- | --- |
  13. | API Title(Link to API documentation) | Description of API | Does this API require authentication? * | Does the API support HTTPS? | Does the API support [CORS]( * |
  14. Example entry:
  15. ```
  16. | [NASA]( | NASA data, including imagery | No | Yes | Yes |
  17. ```
  18. \* Currently, the only accepted inputs for the `Auth` field are as follows:
  19. * `OAuth` - _the API supports OAuth_
  20. * `apiKey` - _the API uses a private key string/token for authentication - try and use the correct parameter_
  21. * `X-Mashape-Key` - _the name of the header which may need to be sent_
  22. * `No` - _the API requires no authentication to run_
  23. * `User-Agent` - _the name of the header to be sent with requests to the API_
  24. \* Currently, the only accepted inputs for the `CORS` field are as follows:
  25. * `Yes` - _the API supports CORS_
  26. * `No` - _the API does not support CORS_
  27. * `Unknown` - _it is unknown if the API supports CORS_
  28. _Without proper [CORS configuration]( an API will only be usable server side._
  29. After you've created a branch on your fork with your changes, it's time to [make a pull request][pr-link].
  30. *Please follow the guidelines given below while making a Pull Request to the Public APIs*
  31. ## Pull Request Guidelines
  32. * Never put an update/new version of an API that is already listed, the old version of the API gets deprecated.
  33. * Continue to follow the alphabetical ordering that is in place per section.
  34. * Each table column should be padded with one space on either side.
  35. * The Description should not exceed 100 characters.
  36. * If an API seems to fall into multiple categories, please place the listing within the section most in line with the services offered through the API. For example, the Instagram API is listed under `Social` since it is mainly a social network, even though it could also apply to `Photography`.
  37. * Add one link per Pull Request.
  38. * Make sure the PR title is in the format of `Add Api-name API` *for e.g.*: `Add Blockchain API`
  39. * Use a short descriptive commit message. *for e.g.*: ❌`Update` ✔ `Add Blockchain API to Cryptocurrency`
  40. * Search previous Pull Requests or Issues before making a new one, as yours may be a duplicate.
  41. * Don't mention the TLD(Top Level Domain) in the name of the API. *for e.g.*: ❌ ✔Gmail
  42. * Please make sure the API name does not end with `API`. *for e.g.*: ❌Gmail API ✔Gmail
  43. * Please make sure the API has proper documentation.
  44. * Please make sure you squash all commits together before opening a pull request. If your pull request requires changes upon review, please be sure to squash all additional commits as well. [This wiki page][squash-link] outlines the squash process.
  45. * Target your Pull Request to the `master` branch of the `public-apis`
  46. Once you’ve submitted a pull request, the collaborators can review your proposed changes and decide whether or not to incorporate (pull in) your changes.
  47. ### Pull Request Pro Tips
  48. * [Fork][fork-link] the repository and [clone][clone-link] it locally.
  49. Connect your local repository to the original `upstream` repository by adding it as a [remote][remote-link].
  50. Pull in changes from `upstream` often so that you stay up to date and so when you submit your pull request,
  51. merge conflicts will be less likely. See more detailed instructions [here][syncing-link].
  52. * Create a [branch][branch-link] for your edits.
  53. * Contribute in the style of the project as outlined above. This makes it easier for the collaborators to merge
  54. and for others to understand and maintain in the future.
  55. ### Open Pull Requests
  56. Once you’ve opened a pull request, a discussion will start around your proposed changes.
  57. Other contributors and users may chime in, but ultimately the decision is made by the collaborators.
  58. During the discussion, you may be asked to make some changes to your pull request.
  59. If so, add more commits to your branch and push them – they will automatically go into the existing pull request. But don't forget to squash them.
  60. Opening a pull request will trigger a build to check the validity of all links in the project. After the build completes, **please ensure that the build has passed**. If the build did not pass, please view the build logs and correct any errors that were found in your contribution.
  61. *Thanks for being a part of this project, and we look forward to hearing from you soon!*
  62. [branch-link]: <>
  63. [clone-link]: <>
  64. [fork-link]: <>
  65. [oauth-link]: <>
  66. [pr-link]: <>
  67. [remote-link]: <>
  68. [syncing-link]: <>
  69. [squash-link]: <>