API discovery through open catalogs

One of the areas the API Spots project aims in leveraging is APIs discovery. There is a number of 3rd party API catalogs that the project currently supports from experts with great impact within the space.

The API Stack by the API Evangelist

These are the APIs I am tracking on that I have been profiling deeper, which includes the crafting of OpenAPI Specs that describe the surface area of the API.

Website Github

APIs.guru

Our goal is to create a machine-readable Wikipedia for REST APIs.

Website Github

APIs.json catalogs support

The format is designed for public deployment and for consumption by automated software agents (robots).

Find out more about the format at the official website

APIs.json catalogs are a great way of organizing API spots - either public or private - together so that others can discover. The following example shows the structure of a basic catalog.


{
  "name": "API Evangelist",
  "description": "This is an inventory of APIs available as part of the API Evangelist network.",
  "image": "https://s3.amazonaws.com/kinlane-productions/api-evangelist/t-shirts/KL_InApiWeTrust-1000.png",
  "tags": [
    "application programming interface",
    "API",
    "News",
    "Analysis"
  ],
  "created": "2014-04-07",
  "modified": "2014-07-09",
  "url": "http://apievangelist.com/apis.json",
  "specificationVersion": "0.15",
  "apis": [
    {
      "name": "Analysis",
      "description": "Provides access to blog posts and analysis across the API Evangelist network.",
      "image": "https://s3.amazonaws.com/kinlane-productions/api-evangelist/t-shirts/KL_InApiWeTrust-1000.png",
      "humanURL": "http://developer.apievangelist.com",
      "baseURL": "http://api.apievangelist.com/definitions/Analysis",
      "tags": [
        "blog",
        "industry",
        "analysis",
        "new",
        "API",
        "Application Programming Interface"
      ],
      "properties": [
        {
          "type": "X-signup",
          "url": "https://apievangelist.3scale.net/"
        },
        {
          "type": "Swagger",
          "url": "http://api.apievangelist.com/definitions/Analysis"
        },
        {
          "type": "X-blog",
          "url": "http://developer.apievangelist.com/blog/"
        },
        {
          "type": "X-apicommonsmanifest",
          "url": "https://raw.githubusercontent.com/kinlane/analysis-api/master/api-commons-manifest.json"
        }
      ],
      "contact": [
        {
          "FN": "API Evangliest",
          "email": "info@apievangelist.com",
          "X-twitter": "apievangelist"
        }
      ]
    },
    {
      "name": "Tools",
      "description": "Provides access to tools that are being tracked on as part of the API Evangelist network.",
      "image": "https://s3.amazonaws.com/kinlane-productions/api-evangelist/t-shirts/KL_InApiWeTrust-1000.png",
      "humanURL": "http://developer.apievangelist.com",
      "baseURL": "http://api.apievangelist.com/definitions/Tools",
      "tags": [
        "API",
        "Application Programming Interface",
        "Tools"
      ],
      "properties": [
        {
          "type": "X-signup",
          "url": "https://apievangelist.3scale.net/"
        },
        {
          "type": "Swagger",
          "url": "http://api.apievangelist.com/definitions/Tools"
        },
        {
          "type": "X-blog",
          "url": "http://developer.apievangelist.com/blog/"
        },
        {
          "type": "X-apicommonsmanifest",
          "url": "https://raw.githubusercontent.com/kinlane/tools-api/master/api-commons-manifest.json"
        }
      ],
      "contact": [
        {
          "FN": "API Evangliest",
          "email": "info@apievangelist.com",
          "X-twitter": "apievangelist"
        }
      ]
    }
  ],
  "include": [
    {
      "name": "API Evangelist - Products",
      "url": "http://products.apievangelist.com/apis.json"
    }
  ],
  "maintainers": [
    {
      "FN": "Kin",
      "X-twitter": "apievangelist",
      "email": "kin@email.com"
    }
  ]
}

Catalog spots detection

The API Spots catalogs tool supports in-context detection of APIs.json catalog spots.

The API Evangelist sample catalog
  • Click to open the catalog
  • A notification should pop up
  • Click on it to view open the catalogs tool and browse the contents