Lemon Squeezy
BUSINESS · COMMERCE & FINANCE
Stores, products, orders, and subscriptions in the account they connected.
Connecting Lemon Squeezy in practice
Lemon Squeezy allows 300 API calls a minute and splits test from live at the key rather than at the endpoint, so a working integration promoted to production needs credentials created separately in live mode and can see none of the test store’s data. Its compatibility promise also runs the other way from most: new resources, optional parameters, response properties and webhook event types can all appear without a version bump.
Scopes that draw scrutiny
API key (test mode)Interacts exclusively with test store data. Nothing about a passing test integration proves the live credential works, because it is a different key issued in a different mode.API key (live mode)The production credential, created separately when you deploy. Lemon Squeezy documents no scope mechanism, so this is the whole grant over the store.
Rate limits
- 300 API calls per minute.
- Responses carry X-Ratelimit-Limit and X-Ratelimit-Remaining; over the limit returns 429 Too Many Requests.
Worth knowing
- Adding resources, optional request parameters, response properties and webhook event types are all explicitly backwards-compatible changes, so a strict schema validator or an exhaustive switch on event type will break on a routine release.
- The major version is a URL prefix (/v1), so there is no version header to pin and nothing to negotiate per request.
- Only the JavaScript and Laravel SDKs are official; Go, Ruby, Rust, Swift, Python, PHP, Elixir and Java are community-maintained and lag the API.
- Test and live keys look alike, so the classic failure is a production deploy still holding the test key and reporting an empty store rather than an auth error.
Checked against Lemon Squeezy API (2026-09-29)
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
Often connected alongside
Put Lemon Squeezy behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.