Giter VIP home page Giter VIP logo

openapi-directory's Introduction

banner

APIs in collection OpenAPI definitions Endpoints Fixes Providers Drivers

oad Actions Chat on Slack

Share on Twitter Follow on Twitter

Directory of API definitions in OpenAPI(fka Swagger) 2.0 and 3.x formats.
API access to collection: Go! - We also have RSS feeds for added and updated APIs.

Add API

Our goal is to create the most comprehensive, standards-compliant and up-to-date directory of machine-readable API definitions, with the following principles:

  • Open source, community driven project.
  • Only publicly available APIs (free or paid).
  • Anyone can add or change an API, not only API owners.
  • All data can be accessed through a REST API.

If you want to reference this project and you need an icon or even a banner, check our branding guide.

The project was started by Ivan Goncharov of APIs.guru, it is now maintained by Mike Ralphson of Mermade Software. Check out our other OpenAPI-related projects.

APIs.guru provide services and consultancy around the GraphQL and OpenAPI specifications and APIs in general. You can contact us at [email protected] / [email protected]

The OpenAPI Directory is sponsored by Speakeasy - Your API: Enterprise ready in a click.

Speakeasy logo

Become a partner

What does APIs.guru do?

  • Filter out private and non-reliable APIs
  • Convert non-OpenAPI formats into OpenAPI 3.x
  • Fix mistakes, ~80% of definitions have some
  • Add additional data, like: logo, categories, โ€ฆ
  • Update definitions on at least a weekly basis

API definition acceptance criteria

  • Public - anyone can access it as long as they follow some clearly defined steps (subscribe, pay fees, etc.).
  • Persistent - API is made with long-lived goal, and not for a particular event (conference, hackathon, etc.).
  • Useful - API should provide useful functionality not only for its owner.

Update procedure

All definitions are automatically updated from their original source. You can see this in the x-origin property within each openapi.yaml or swagger.yaml file. We run our update script at least weekly and automatically revalidate before committing. If you see some APIs are not updated for more than 2 weeks please open an issue.

@seriousme kindly runs a backup validation process based on the official OpenAPI-Specification JSON Schemas here.

Own-Label API Directory

Own-Label logo

Do you want an 'own-label' or internal version of the OpenAPI Directory to create your own marketplace or keep track and document both your internal APIs and the external API definitions your organisation depends on? If so contact us now!

Existing integrations

Become a backer

  • HTTP Toolkit Beautiful & open-source tools to debug, test and develop with HTTP(S)
  • OpenAPI-Directory-JS - The OpenAPI directory precompiled & indexed for JS usage & searching
  • Apideck - Faster data integration through Unified APIs
  • Microsoft Kiota - Generate an API client to call any OpenAPI described API
  • API Tracker - Aggregates 14,000+ APIs, SDKs, API specifications, integrations and DX profiles. It aims to help developers access the information they need to integrate APIs faster
  • API Watch - Keep track of the APIs you use
  • https://pipedream.com/ - The integration platform built for developers
  • https://any-api.com - Documentation and Test Consoles for Public APIs
  • https://datafire.io - Allows you to process and transfer data between APIs, databases, and more
  • https://sdks.io - Explore Automatically Generated SDKs
  • https://cenit.io - Data integration platform
  • commandcar - Curl on steroids
  • Material Swagger UI Hub - testing and exploring hub for Material Swagger UI demo
  • Paw - HTTP client for Mac - You can import definitions and directly play with the APIs, see how
  • Bitscoop - A better way to create and maintain integrations
  • WinSwag - A UWP app for loading Swagger definitions and exploring REST APIs
  • ReadMe.io - Beautiful, personalized, interactive developer hubs
  • Velosimo - Integration platform for eGovernment
  • Mockcoon - API mock samples for your project

Also used as test suite in the following projects:

  • Speakeasy - Generate SDKs Now. Gives your users the DevEx that makes API integrations easy
  • ReDoc - OpenAPI-generated API Reference Documentation
  • swagger-parser - OpenAPI parser and validator for Node and browsers
  • OpenAPI-schema-validator - OpenApi schema validation for OpenApi versions v2, v3.0.x and v3.1.x
  • SwaggerProvider - F# Type Provider for Swagger
  • ardoq-swagger-addon - Ardoq OpenAPI addon
  • swagvali - Module to build validators for OpenAPI Request parameters and Response objects
  • swagger-search - An application that collects and indexes swagger docs from your microservices architecture

Integration with 3rd-party services

We discourage you from using Github RAW links or Git directly, the repository structure may change in the future. Instead, we strongly recommend you to use our REST API.

Licenses

All API definitions contributed to project by authors are covered by the CC01.0 license.
All API definitions acquired from public sources under the Fair use principle.

Definition sources

Some definitions are taken from Open Source projects:

Contributors

This project exists thanks to all the people who contribute.

Asynchronous APIs

See also AsyncAPI-Directory

Backers

Thank you to all our backers! ๐Ÿ™ Become a backer.

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor.

Partners

Support this project by becoming a partner. Your logo will be displayed prominently in this project and we will work with you to publicise and showcase your projects. Become a partner.

openapi-directory's People

Contributors

amullins83 avatar andypiper avatar apis-gurubot avatar epaminond avatar faragorn avatar gdewilde avatar gitter-badger avatar ivangoncharov avatar kant avatar lucybot-andrew avatar maryguirola avatar mikeralphson avatar monkeywithacupcake avatar nikitastupin avatar oliver-xapix-io avatar pimterry avatar rbren avatar romanhotsiy avatar sanchojaf avatar timburks avatar westernmagic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openapi-directory's Issues

Add URLs on API key registration

It would be cool to provide user directly link to API key registration or at least documentation that explains how to get API key. I created x-apiClientRegistration extension and mark couple or APIs.

I need help with the rest of APIs, the task is very simple just add x-apiClientRegistration into appropritate patch.yaml and submit PR. Here is example.

Extend Swagger 2.0 with additional properties.

Initial list is:

  • service name x-serviceName
  • Link to page where you can read how to receive API key, 'x-getApiKey'
  • URL on logo, x-logo
  • Categories tags
  • Link to original spec, x-origin(Format, FormatVersion, URL)
  • Provider name x-providerName, suggested by @bobby-brennan

Geneea API: securityDefinitions missing

From the description:
For all calls, supply your API key. Sign up to obtain the key.

Our API supports both unencrypted (HTTP) and encrypted (HTTPS) protocols. However, for security reasons, we strongly encourage using only the encrypted version.

The API key should be supplied as either a request parameter user_key or in Authorization header.

Add Oracle Cloud API

Oracle Cloud have api catalog and you can get Swagger files here:
https://apicatalog.oraclecloud.com/v1/services/

Problem is that some of the APIs missing host property so they resolved to apicatalog.oraclecloud.com. I don't know if multiple instances of Oracle Cloud exist and host was omitted on purpose? Or it simple mistake?

You can help me by researching this and provide correct values for hosts.

Support for Oauth 1.0

Suggested by @sanchojaf on Gitter:

we know OAuth 1.0 is not supported by Swagger 2.0, is possible and make sense add to patch.yaml ?

Json Schema samples

Why you converted all schemas in YAML format ?
Could you provide samples in both formats (JSON and YAML)?

Swagger file for APIs-guru REST API

Hi Ivan,

As we discussed, I would like to see a Swagger file for your REST API. I would then be able to import it into Ritc.

Regards

Colin Goldberg

Non-updatable APIs

Things to note that I don't update API if it doesn't pass validation.
And sometimes it not so easy to fix such mistake so it can take me some time to update such APIs.

Currently, I stuck with:

  • daisycon.com,
  • wikimedia.org
  • uploady.com.

Provide scaled version of API logo.

Continue discussions from #36:

@darosh:

Regarding logos and hub:

  • they have various size, ratio and quality and in my opinion they would need some preprocessing not to be scaled in browser and perhaps merging into single CSS sprite image might be a good idea too
  • Google Books logo is outdated for example
  • hub.html
    • has no final design but I will probably prefer to keep it simple without logos, using the ๐ŸŒˆ generator based on logo colors,
    • right now I just need the links to the Swagger UI I work on, maybe later I will change the cards into something expandable showing more metadata you provide in the list.json including logos...

Invalid definitions

bbc.co.uk Nitro API spec

https://raw.githubusercontent.com/Mermade/bbcparse/master/nitroApi/swagger.json

Automatically generated from API's metadata feed

From the info section:

    "version": "1.0.0",
    "title": "BBC Nitro API",
    "description": "BBC Nitro is the BBC's application programming interface (API) for BBC Programmes Metadata.",
    "termsOfService": "http://www.bbc.co.uk/terms/",
    "contact": {
        "name": "Open Nitro Project",
        "email": "[email protected]",
        "url": "http://developer.bbc.co.uk/"
    },
    "license": {
        "name": "Nitro Public License",
        "url": "https://developer.bbc.co.uk/nitropubliclicence/"
    }

Create tags/categories for APIs

It's very easy to add some OpenAPI extension like x-categories.
But in order to tag every API a lot of manual work required.
If someone volunteers to do this work I can provide instruction and write all necessary code.

Request Baskets service

Hi,

I've got a simple service to collect and analyze HTTP requests which is useful for QA and testing purposes (write automated tests for web-hook, HTTP redirects and notifications, or even to test REST clients). Something similar to http://requestb.in but entirely open source.

The Request Baskets service is running at https://rbaskets.in but can be deployed by anybody for it is an open source project: https://github.com/darklynx/request-baskets

The RESTful API is documented in Swagger (OpenAPI) format and can be found here: https://github.com/darklynx/request-baskets/blob/master/doc/api-swagger.yaml

It would be great to see my API in your collection!
Thanks

Figure.NZ API has been retired

The early preview release of the Figure.NZ API has been retired.
Our intention is to release a new API before the end of 2016,
but this depends on other platform features and we do not have a firm release date at this time.

Pasted from https://figure.nz/api/

APIs folders are mixed with scripts folder

The scripts folder is a bit confusing. Because it is located at the same level as APIs folders it seems like there is an API with the name scripts.
It would be more logical to move APIs into some subfolder.

SecurityDefinitions missing

There are some APIs without security definitions and actually they needed. Here is the list:
Requires API key:

  • Zoom Connect
  • Watchful.li
  • Versioneye
  • Spectrocoin
  • Peel Tune
  • Gennea
  • Statsocial

Requires OAuth 2.0:

  • Uploady

Basic authentication:

  • Geodesystems

Others:

  • Discovery Market Research
  • Glugbot
  • Datumbox
  • Daisycon
  • Clarify
  • Blackberry
  • Beanstream
  • Infermedica

Wrong oauth flow for Buffer?

"accessCode" should be "implicit"

accessCode (I think) means the token is passed via Authorization: Bearer header
but buffer wants it as ?access_token=

Add Watson APIs

I have technical possibility to add Watson APIs from this list:
https://watson-api-explorer.mybluemix.net/

But according to this comment:

Part of the reason why json files are not explicitly exposed is that the json we use has some customization for use in the API explorer, and so are not completely accurate representations of the services themselves, and don't contain the base path, or support schemes, or authentication to match the service. You should be careful about using the Swagger definitions automatically for anything other than the API explorer they're supporting.

I don't have enough time to check the documentation for each API and make necessary corrections.
But if somebody willing to do this work, I will add them.

PollenCheck API is deprecated

PollenCheck announced:
"I regret to inform everyone that all PollenCheck services will be fully retired after a 1-month period ending on March 15, 2016....
PollenCheck public API will not be accessible after March 14, 2016.
PollenCheck API is deprecated. Do not use it longer."

Better UX for listing

Github is nice but UX in this case is not the ideal IMHO. I did experimental listing of APIs with jQuery. Not fully implemented or too fancy, contains bugs and error handling etc but something like this would make browsing and discoverability a little better.

http://apisuomi.fi:8080/apis/apis.guru/

If such (average) human readable front is created, it might make sense to use some lightweight JS framework.

APIs with API_Keys not defined in security definitions

APIs with API_Keys parameters in their paths, but not defined in security definitions:

1- transportation_laws_and_incentives_0_1_0

2- high_performance_building_database_1_0

3- owler_1_0_0

4- org_hunter_1_0_0

5- ontraport_1_1_3

6- yunbi

7- vat api

8 - Pandorabots

9- regulations_gov_3_0

10- i_am_real_1_0_0

11- hetras hotel API v0 v0

12- hetras_booking_api_v0_v0

13- getty_images_3_0

14- gavagai_1_0_0

15- data2_crm_api_documentation_1_0_0

16- core_api_v2_beta_2_0

17- city_context_1_0_0

18- active_documentation_for__v1_1_1_7

ExaVault

ExaVault has GET only API (GET method for creating and deleting!) but they mention they provide "safer" POST alternative methods undocumented in swagger.

https://www.exavault.com/developer/api-docs/

ExaVault supports both POST (recommended when requesting large data sets)
and GET operations, and requires an API key in order to use.

It is pretty important information.

External docs and/or description patch could help.

Note: GET only approach + server side + user with WGET tool is a recipe for disaster. ๐Ÿ˜ƒ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.