Feature · For developers
Your backend, without running one.
Sign-in, data, payments and bookings over one API and MCP. Your app, your stack.
The first call below needs no account. The site it makes stays online for 72 hours.
curl -sS https://api.pagelemon.com/v2/anonymous-sites \
-H "Content-Type: application/json" \
-d '{"files":[{"path":"index.html",
"content_base64":"PGgxPkhpPC9oMT4="}]}'
{
"site": "…",
"url": "https://….pagelemon.dev",
"site_token": "st_…",
"claim_url": "https://dash.pagelemon.com/claim#…",
"expires_at": "…"
}
Your site is live. The claim link keeps it in your workspace.
Skip the plumbing
What you build around an app, and what you ask for instead.
UsuallyRun an auth server and keep sessions safe
With Page LemonSign-in and users are part of the API
UsuallyStand up a database and write the CRUD
With Page LemonLists you add, read and change over REST
UsuallyHost Stripe webhooks and handle every retry
With Page LemonPayments into your own Stripe, already wired
UsuallyKeep a cron job alive for reminders and syncs
With Page LemonAutomations on an event or a schedule
What you get
The backend parts you would build, already running.
-
One API, one key
Sign-in, data, payments and bookings all live under
/v2, described in one OpenAPI document. -
Your AI gets the same power
The MCP server calls the same routes, with the same rights and limits.
-
Nothing to host
No auth server, database or cron box to keep alive.
-
You confirm the risky bits
Deleting, refunds and people wait for your yes on the Dashboard.
Four ways in
Pick the one that fits. They share the same rights.
-
REST API and OpenAPI
Every route is in a public OpenAPI document. Send a key, get JSON.
API reference →curl https://api.pagelemon.com/v2/sites \ -H "Authorization: Bearer $PAGELEMON_TOKEN" # spec: /v2/openapi.json -
MCP server
Connect Claude Code, Cursor or VS Code. Sign in once, then ask.
MCP server and tools →claude mcp add --transport http pagelemon \ https://mcp.pagelemon.com/mcp # then: "Deploy on PageLemon.com" -
Signed webhooks
Send events to your server. Each one is signed, so you can check it.
Webhooks guide →webhook-id: <stable across retries> webhook-timestamp: <unix seconds> webhook-signature: v1,<HMAC-SHA256> -
GitHub deploys
Link a branch to a site. Every pull request gets its own preview.
API reference →main → your live site pull #42 → preview, test data only CI → GitHub token, no stored key
How it works
A key, a call, a confirm.
Make a key
In the Dashboard, pick what it can reach and what it can do. Or let your AI app sign in.
Two minutes
plak_…Call the API
Use REST from your code or MCP from your AI. A retry with the same
Idempotency-Keynever does the work twice.Any language
Authorization: Bearer …Confirm the risky bits
Deleting, refunds and people are held until you approve them on the Dashboard. Nothing happens before.
One tap
202 · approve_url
Keys and scopes: API tokens.
Works with
GitHub
Claude Code
Cursor
VS Code
Stripe
App Store
Google Play
Zapier
Make
n8n
More in Integrations.
Is there a rate limit?
Yes, per hour, and it depends on your plan. A request over it gets a 429 that says when to try again. See pricing.
What can a key do?
A key reaches only the workspaces or single sites you pick, with the scopes read, data, deploy and manage. A lists-only key can just add, read, change and remove items in the lists you choose. You can revoke any key in the Dashboard.
Who confirms deletes, refunds and people?
You do, on the Dashboard. The call answers 202 with an approval link and nothing happens until the person approves. A key or an AI never approves for you.
Where does my data live?
Our servers are in London, UK. Site files and encrypted backups are stored in the EU.
Is there an SDK or a CLI?
Not published yet. The OpenAPI document describes every route, so a generator can make a client in your language.
Ship the app. Skip the backend.
Page Lemon is invite-only for now. Join the waitlist, and we’ll email you when it’s your turn.