API Terms

Last updated: September, 2026

These terms cover use of the Pepesto API on the self-serve plans — Starter and Growth. They sit alongside our Terms of Service and Privacy Policy.

The Partner plan is governed by a separate written agreement. If your use case is listed under What needs a Partner agreement below, talk to us before you build — we can almost certainly support it, just not through self-serve.

What you can do

Building a product on top of the API is the intended use. Specifically, all of the following are permitted:

What you can’t do on Starter or Growth

One thing needs a Partner agreement outside what the self-serve plans license.

Reselling the API or the data. Reselling API access, or redistributing the data as a standalone feed or dataset, isn’t covered by Starter or Growth. It’s something we support — we just need to be in the loop and agree the terms with you first. That’s what the Partner plan is for, so talk to us.

Where the data comes from

Pepesto provides access to publicly available product and pricing information. We do not have retailer-specific agreements covering EU database rights or related reuse rights.

You are responsible for ensuring that your own use, display, redistribution, or commercial exploitation of the data complies with applicable laws, retailer terms, and third-party rights. If a retailer objects to its data appearing in your app, responsibility for that downstream use sits with you as the app operator.

Caching and refresh

Cache aggressively. It’s cheaper for you and easier on the API. The cadences that matter:

EndpointCache forWhy
/parseUp to 168 hours (7 days), then refreshOur models change; older output drifts from what we’d return today
/productsMatch our daily refreshPrices update daily on our side. Caching longer means showing stale prices to your users
/catalogAggressively — at most one call per day per supermarketThis limit is in the OpenAPI spec. A full catalog is a heavy call and changes once a day

Storing historical prices

You may retain historical pricing on your own side for up to 3 days. Keeping it longer needs our consent — ask if your use case requires longer retention.

Before you build your own price history, note that the API serves history natively via the as_of_date parameter. That’s usually less work than warehousing it yourself, and it stays correct as our data improves.

Recipes

Permanently licensed recipes work differently from the live data above, and more simply:

See the Recipe API for what a licensed recipe includes, and the pricing page for cost.

What needs a Partner agreement

Come to us before building if you want to:

These are use cases we support. They’re handled through the Partner plan, which comes with a full contract — a data licence, a DPA, redistribution rights, and whatever else your use case needs.

Your API key

Save your key when you get it. We show it once and never again.

You obtain the key by calling /link with the email address you used at checkout — the endpoint documentation walks through it. The response contains the key in full. That response is the only time you’ll see it, so write it somewhere safe before you close the terminal.

The key identifies you and draws down your credits. Keep it private, don’t ship it in client-side code, and tell us promptly if it’s exposed. Usage on your key is your responsibility, including usage by anyone you share it with.

Plans, credits and refunds

Starter and Growth are both monthly subscriptions, billed through Stripe. Starter is €29.90 a month and has no fixed term. Growth is €79 a month, with a commitment for at least six months.

Each month’s payment becomes credits on your API key, and unspent credits roll forward. Whatever you don’t spend in a month stays on the key and is there next month. Credits don’t expire.

You can cancel Starter yourself, at any time. You do it from the Stripe customer portal. The cancellation takes effect at the end of the billing cycle you have already paid for. That cycle runs to its end and we don’t bill you again after it. We don’t refund the unused part of a cycle, because the credits for that cycle are already sitting on your key. Those credits stay there after the plan ends, and you can carry on spending them.

We don’t refund credits once you’ve started calling the API. Usage is what you bought, and once calls have been made against a month’s credits there’s nothing left to return. If something has gone wrong, talk to us.

Top-ups run alongside an active plan. If a month’s credits go early, buy a top-up at your plan’s rate and carry on. If you have cancelled, start the plan again and the top-up is available to you.

We do offer discounts, including on volume and for new builds. Ask. For a volume discount, come with the usage — we price it off what you’re actually calling, not projected volume.

On the Growth plan, you pay €79 a month for at least six months. After the six months the plan carries on month to month, and you can cancel it yourself exactly as you would Starter.

What each plan can call

Every plan reaches every supermarket and every country, and there are no per-chain fees. Two endpoints are the exception to “everything is everywhere”.

/catalog and /promotions need Growth or above. Both return a supermarket’s data in bulk rather than answering a single question, and they are the heaviest calls we serve — one /catalog request moves an entire chain’s product list. Starter covers the rest: /parse, /oneshot, /products, /search, /suggest, /session, /mcheckout and /checkout.

Service availability

Keeping the API up is our business — our own product runs on it, and customers depending on it is the whole model. We treat downtime accordingly.

If you need a contractual uptime commitment with defined targets and remedies, that comes with the Partner plan.

Suspension

We may suspend API access for use that breaches these terms — the restriction under What you can’t do on Starter or Growth is the one that matters — or for use that threatens the stability of the service for other customers. Where circumstances allow, we’ll get in touch first.

Changes to these terms

We may update these terms as the product develops. The date at the top of this page changes when we do, so check back here for the current version.

Questions

If you’re unsure whether your use case fits, ask before you build rather than after — support@pepesto.com.