API Terms
Last updated: August, 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:
- Commercial use inside a paid or subscription product. This is the core use case. You don’t need separate permission to charge your users.
- Showing prices, promotions, and product data to your end users, including users on a paid plan.
- Caching API responses. Not just allowed — recommended. See Caching and refresh for the cadences.
- Combining Pepesto data with your own content or AI-generated content.
- Redistributing processed or derived data inside a broader service — shopping lists, meal plans, savings calculations, and similar.
- Training AI or ML models on the data.
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:
| Endpoint | Cache for | Why |
|---|---|---|
/parse | Up to 168 hours (7 days), then refresh | Our models change; older output drifts from what we’d return today |
/products | Match our daily refresh | Prices update daily on our side. Caching longer means showing stale prices to your users |
/catalog | Aggressively — at most one call per day per supermarket | This 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:
- No attribution required.
- No expiry — the licence is permanent.
- Includes the AI-generated images supplied with the recipe.
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:
- Resell API access, or redistribute the data as a standalone feed or dataset
- Use the data for purposes the permitted list above doesn’t cover
- Store historical pricing for longer than 3 days
- Republish raw product or pricing data as a product in its own right
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.
Credits, refunds and the Growth commitment
Credits sit on your API key and don’t expire. Any unspent credits remain on the key until you use 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 pack there’s nothing left to return. If something has gone wrong, talk to us before asking for a refund — we’d rather fix it.
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, the €79 monthly minimum runs for six months. That minimum is billed whether or not you use it, and the commitment is what buys the lower per-request rates. If you aren’t sure yet, stay on Starter — there’s no pressure to move up until your usage makes it obvious.
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.