Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/heroku-apps-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Heroku Platform Apps API
description: The Heroku Platform API enables programmatic access to Heroku's deployment platform. Manage apps, dynos, add-ons, config vars, domains, pipelines, releases, and other platform resources.
version: '3'
contact:
name: Heroku
url: https://devcenter.heroku.com/
license:
name: Proprietary
url: https://www.heroku.com/policy/tos
servers:
- url: https://api.heroku.com
description: Heroku Platform API
security:
- BearerAuth: []
tags:
- name: Apps
description: Application management
paths:
/apps:
get:
operationId: listApps
summary: List apps
description: List existing apps.
tags:
- Apps
parameters:
- $ref: '#/components/parameters/AcceptRange'
responses:
'200':
description: List of apps
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/App'
headers:
Next-Range:
schema:
type: string
'206':
description: Partial content (paginated)
post:
operationId: createApp
summary: Create an app
description: Create a new app.
tags:
- Apps
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Name of app (pattern ^[a-z][a-z0-9-]{1,28}[a-z0-9]$)
region:
type: string
description: Region name or ID
stack:
type: string
description: Stack name or ID
responses:
'201':
description: App created
content:
application/json:
schema:
$ref: '#/components/schemas/App'
'422':
description: Validation error
/apps/{app_id_or_name}:
get:
operationId: getApp
summary: Get app info
description: Get info for an existing app.
tags:
- Apps
parameters:
- $ref: '#/components/parameters/appIdOrName'
responses:
'200':
description: App details
content:
application/json:
schema:
$ref: '#/components/schemas/App'
'404':
description: App not found
patch:
operationId: updateApp
summary: Update an app
tags:
- Apps
parameters:
- $ref: '#/components/parameters/appIdOrName'
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
maintenance:
type: boolean
build_stack:
type: string
responses:
'200':
description: App updated
content:
application/json:
schema:
$ref: '#/components/schemas/App'
delete:
operationId: deleteApp
summary: Delete an app
tags:
- Apps
parameters:
- $ref: '#/components/parameters/appIdOrName'
responses:
'200':
description: App deleted
content:
application/json:
schema:
$ref: '#/components/schemas/App'
components:
parameters:
appIdOrName:
name: app_id_or_name
in: path
required: true
schema:
type: string
description: App ID (UUID) or app name
AcceptRange:
name: Range
in: header
schema:
type: string
description: Pagination range header (e.g., id ..; max=200)
schemas:
App:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
acm:
type: boolean
archived_at:
type: string
format: date-time
nullable: true
buildpack_provided_description:
type: string
nullable: true
build_stack:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
created_at:
type: string
format: date-time
git_url:
type: string
format: uri
internal_routing:
type: boolean
nullable: true
maintenance:
type: boolean
owner:
type: object
properties:
email:
type: string
id:
type: string
format: uuid
region:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
released_at:
type: string
format: date-time
nullable: true
repo_size:
type: integer
nullable: true
slug_size:
type: integer
nullable: true
space:
type: object
nullable: true
properties:
id:
type: string
format: uuid
name:
type: string
stack:
type: object
properties:
id:
type: string
format: uuid
name:
type: string
team:
type: object
nullable: true
properties:
id:
type: string
format: uuid
name:
type: string
updated_at:
type: string
format: date-time
web_url:
type: string
format: uri
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Heroku API key or OAuth token