# Stripe's APIs Learn about Stripe's APIs. Stripe provides a unified set of [REST APIs](https://docs.stripe.com/api.md), comprised of [two namespaces](https://docs.stripe.com/api-v2-overview.md#key-differences-between-the-v1-and-v2-namespace), for accepting payments, managing billing and subscriptions, sending payouts, and building financial workflows. You can authenticate requests, shape responses, localize data, test integrations, and handle errors consistently across Stripe products. ## Overview [Compare the API v1 and v2 namespaces](https://docs.stripe.com/api-v2-overview.md): Learn about Stripe’s API v2, its response model, and how it compares to API v1. [Manage null API v2 responses](https://docs.stripe.com/api-includable-response-values.md): Request dependent values in a single response. [Rate limits](https://docs.stripe.com/rate-limits.md): Understand throttling and throughput behavior. ## Authentication and security [API keys](https://docs.stripe.com/keys.md): Authenticate requests with secret and restricted keys. [Manage secret API keys](https://docs.stripe.com/keys-best-practices.md): Best practices for creating, rotating, and securing keys. [Specify request context](https://docs.stripe.com/context.md): Pass account and idempotency context with requests. [Domains and IP addresses](https://docs.stripe.com/ips.md): Allowlist domains and IP ranges used by Stripe. ## Make requests [Expand responses](https://docs.stripe.com/expand.md): Return nested objects in a single request. [Pagination](https://docs.stripe.com/pagination.md): Iterate through large lists of resources. [Search objects](https://docs.stripe.com/search.md): Look up objects in your Stripe data. ## Testing and data [Metadata](https://docs.stripe.com/metadata.md): Attach custom key-value pairs to objects. [Use cases](https://docs.stripe.com/metadata/use-cases.md): Common patterns for modeling data with metadata. [Automated testing](https://docs.stripe.com/automated-testing.md): Test your application’s behavior and ability to handle errors. ## Error handling [Error handling](https://docs.stripe.com/error-handling.md): Interpret errors and display them to users. [Advanced error handling](https://docs.stripe.com/error-low-level.md): Work with low-level error details. [Error codes](https://docs.stripe.com/error-codes.md): Browse common error types and parameters.