Public APIs
Stripe favicon

Stripe

Finance

Payment processing, subscriptions, and financial management.

Stripe's website screenshot

About Stripe

Stripe's API is a REST-based interface for processing payments and managing related financial operations. It provides resource-oriented endpoints covering accounts, charges, customers, payment intents, subscriptions, invoices, payouts, transfers, and connected accounts, among other resources. The API accepts form-encoded request bodies and returns JSON responses, using standard HTTP status codes and verbs, and requests must be made over HTTPS.

Authentication is handled through API keys, which are viewable and manageable in the Stripe Dashboard. Test mode secret keys (prefixed sk_test_) provide unrestricted access to sandbox environments, while live mode supports both a full-access secret key (sk_live_) and restricted API keys (rk_live_) scoped to specific permissions. Sandboxes allow developers to test API calls without affecting live data or interacting with banking networks; sandboxes support all v2 APIs, while test mode sandboxes support only some v2 APIs.

The API does not support bulk updates, limiting each request to a single object. Errors are communicated via standard HTTP response codes (2xx for success, 4xx for client-side request errors, 5xx for server-side errors) along with a structured error object containing fields such as error type, code, message, and, where applicable, references to related objects like payment intents. Official client libraries are available for Ruby, Python, PHP, Java, Node.js, Go, and .NET. This reference is intended for developers integrating Stripe's payment and billing functionality into their applications.

Key features

  • REST API with resource-oriented URLs and JSON responses
  • Sandboxes for testing without affecting live data or banking networks
  • Official client libraries for Ruby, Python, PHP, Java, Node.js, Go, and .NET
  • API key authentication with restricted and unrestricted key types
  • Idempotent request support to safely retry API calls
  • Response expansion and pagination for API resources

Frequently asked questions

What languages have official client libraries?

Stripe offers official client libraries for Ruby, Python, PHP, Java, Node.js, Go, and .NET.

How do I authenticate API requests?

Requests are authenticated with API keys, which can be unrestricted test/live secret keys or restricted keys scoped to specific permissions.

Can I test the API without affecting live data?

Yes, Stripe sandboxes let you use the API without affecting live data or interacting with banking networks; sandboxes support all v2 APIs while test mode sandboxes support some v2 APIs.

Does the API support bulk operations?

No, the Stripe API doesn't support bulk updates and only allows working on one object per request.

Are API requests required to use HTTPS?

Yes, all API requests must be made over HTTPS since calls made over plain HTTP fail.

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