Public APIs
Heroku favicon

Heroku

Development

REST API to programmatically create apps, provision add-ons and perform other task on Heroku.

Heroku's website screenshot

About Heroku

Heroku's Platform API is a REST API that lets developers programmatically create apps, provision add-ons, and perform other management tasks that would otherwise require the Heroku CLI or Dashboard. It covers resources such as apps, dynos, add-ons, builds, releases, pipelines, config vars, collaborators, domains, teams, and enterprise accounts.

Requests are made over HTTPS to api.heroku.com and require an Accept header specifying the API version (application/vnd.heroku+json; version=3). Authentication is via OAuth or HTTP bearer tokens, with OAuth recommended for third-party services and bearer tokens suited to personal scripts. The API supports response caching through ETag/If-None-Match headers, optimistic concurrency control via If-Match headers, and CORS for browser-based JavaScript requests. A machine-readable JSON schema describing all available resources, their URLs, representations, and supported operations is accessible at a dedicated schema endpoint.

This reference is intended for developers building integrations, automation, or tooling on top of Heroku, such as custom deployment workflows or third-party services that interact with Heroku apps and infrastructure.

Key features

  • Programmatic app creation, add-on provisioning, and dyno management via REST API
  • OAuth and HTTP bearer token authentication
  • ETag-based caching with conditional requests via If-None-Match
  • Machine-readable JSON schema describing all API resources and operations
  • Optimistic concurrency control via If-Match header with 412 responses on conflict
  • CORS support for browser-based API requests

Frequently asked questions

What is the Heroku Platform API used for?

It lets developers programmatically create apps, provision add-ons, and perform other management tasks that were previously only possible via the Heroku CLI or Dashboard.

How do you authenticate to the Platform API?

OAuth is recommended for third-party services, while HTTP bearer authentication with a personal API token is suggested for personal scripts.

What format does the API use?

It's a JSON-based REST API accessed over HTTPS at api.heroku.com with a required Accept: application/vnd.heroku+json; version=3 header.

Does the API support cross-origin requests from browsers?

Yes, the Platform API supports CORS so requests can be made from browser-based JavaScript served from any domain.

Can you check if a resource has changed without re-downloading it?

Yes, responses include an ETag header that can be passed via If-None-Match to receive a 304 Not Modified response if unchanged.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product