API Reference
The Lemon Squeezy API is a REST API that has predictable resource-oriented URLs, returns valid JSON:API encoded responses and uses standard HTTP response codes, authentication, and verbs.
Test mode
You can build and test a full API integration with Lemon Squeezy using Test mode. Any API keys created in Test mode will interact with your test mode store data.
When you are ready to go live with your integration, make sure to create an API key in live mode and use that in your production application.
Versioning
The Lemon Squeezy API includes the major version number as a prefix for all endpoints (e.g. /v1
). While we reserve the right to make changes to the API as we see fit, we endeavour not to make any changes to the API that will break backwards compatibility.
In the rare case that we do need to break backwards compatibility, we will release a new major version of the API and deprecate the old version. This will give any integrations time to migrate to the new version.
We consider the following changes to be backwards-compatible:
- Adding new API resources.
- Adding new optional request parameters to existing API methods.
- Adding new properties to existing API responses.
- Changing the order of properties in existing API responses.
- Adding new webhook event types.
Rate limiting
There is a limit of 300 API calls per minute.
To make it easier to determine if your application is being rate-limited, or is approaching that level, we add the following HTTP headers on our successful responses:
X-Ratelimit-Limit
X-Ratelimit-Remaining
If you exceed the limit you will receive a 429 Too Many Requests
response.
SDKs
Official Lemon Squeezy API SDKs:
Unofficial, community SDKs:
- Go - @NdoleStudio/lemonsqueezy-go
- Ruby - @deanpcmad/lemonsqueezy
- Rust - @VarunPotti/lemonsqueezy.rs
- Swift - @mauryaratan/lemonsqueezy-swift
- Python - @mthli/lemonsqueepy
- PHP - @seisigmasrl/lemonsqueezy.php
- Elixir - @PJUllrich/lemon_ex
- Java - @codewriterbv