Valpak APIvalpak.com ↗
Search for restaurant coupons, store deals, and local service offers in your area by entering your zip code. Get instant access to current promotions from nearby businesses to save money on dining, shopping, and services.
curl -X GET 'https://api.parse.bot/scraper/16e1c43c-41aa-4a07-b0c9-445d367cb5a5/search_local_coupons?category=restaurants&zip_code=90210' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace valpak-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Valpak SDK — bounded, re-runnable; every call capped."""
from parse_apis.valpak_com_api import Valpak, Category, ZipCodeNotFound
client = Valpak()
# Search local coupons near a zip code, limited to 3 results.
for coupon in client.coupon_search_results.search(zip_code="90210", limit=3):
print(coupon.title, coupon.business_name, coupon.distance)
# Filter by category — restaurants only.
for coupon in client.coupon_search_results.search(
zip_code="10001", category=Category.RESTAURANTS, limit=3
):
print(coupon.title, coupon.business_name)
# Handle a bad zip code gracefully.
try:
result = client.coupon_search_results.search(zip_code="00000", limit=1).first()
except ZipCodeNotFound as e:
print(f"invalid zip: {e.zip_code}")
print("exercised: coupon_search_results.search")
Search for local coupons and deals near a US zip code. Returns brick-and-mortar business offers including restaurants, automotive services, personal care, home services, and more. Results are ordered by distance from the zip code center. An optional category narrows results to one business type. Each coupon includes the offer title, business name, distance, and a link to the full coupon details.
| Param | Type | Description |
|---|---|---|
| category | string | Filter coupons by business category. Omitted returns all categories. |
| zip_coderequired | string | 5-digit US ZIP code (e.g. 90210). Leading zeros preserved. |
{
"type": "object",
"fields": {
"total": "Number of coupons returned",
"coupons": "Array of coupon objects with title, business_name, distance, logo_url, and coupon_url",
"category": "The category filter applied, or null if none",
"location": "Resolved city and state name (e.g. 'Beverly Hills, CA')",
"zip_code": "The queried zip code"
},
"sample": {
"data": {
"total": 25,
"coupons": [
{
"title": "buy an original combo and get an original burger free",
"distance": "1 Mile Away",
"logo_url": "https://cdn1.valpak.com/img/print/FatburgerSince1952Logo_4CTI.tif",
"coupon_url": "https://www.valpak.com/local/beverly-hills-ca/fatburger-220735?store=319660",
"business_name": "fatburger"
},
{
"title": "$5 off any $25 purchase",
"distance": "6.6 Miles Away",
"logo_url": "https://cdn1.valpak.com/img/print/SharkysShermanOaksLOGO.PNG",
"coupon_url": "https://www.valpak.com/local/beverly-hills-ca/sharkys-woodfired-mexican-grill-marina-del-rey-158055?store=238389",
"business_name": "sharky's woodfired mexican grill"
}
],
"category": "restaurants",
"location": "Beverly Hills, CA",
"zip_code": "90210"
},
"status": "success"
}
}About the Valpak API
The Valpak API on Parse exposes 1 endpoint for the publicly available data on valpak.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.