Food Lion APIfoodlion.com ↗
Access Food Lion digital coupons by category, keyword, or store location. Two endpoints cover coupon search and nearest-store lookup with full discount details.
What is the Food Lion API?
The Food Lion API provides 2 endpoints for querying digital coupons available at Food Lion grocery stores and locating nearby store locations. The search_coupons endpoint returns coupon objects with discount details, brand names, validity dates, and category facets, while find_nearest_store resolves a ZIP code to a store ID you can feed directly into coupon queries. Together they cover the full workflow from store discovery to deal retrieval.
curl -X POST 'https://api.parse.bot/scraper/bd91c581-ec30-41fd-92ee-8dc87c60c5f3/search_coupons' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"size": "60",
"start": "0",
"store_id": "50002071",
"category_id": "805",
"search_text": "cereal"
}'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 foodlion-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: Food Lion Coupons SDK — bounded, re-runnable; every call capped."""
from parse_apis.Food_Lion_Coupons_API import FoodLion, InvalidInput
client = FoodLion()
# Find the nearest store to a ZIP code.
store = client.stores.find_nearest(zip_code="23518")
print(store.store_id, store.address, store.city, store.state)
# Browse coupons at that store, capped to 3 items.
for coupon in client.coupons.search(store_id=store.store_id, limit=3):
print(coupon.name, coupon.title, coupon.end_date)
# Search coupons by text at the default store.
try:
cereal = client.coupons.search(search_text="cereal", limit=1).first()
if cereal:
print(cereal.id, cereal.name, cereal.description)
except InvalidInput as e:
print("bad input:", e)
print("exercised: stores.find_nearest, coupons.search")
Search digital coupons available at a Food Lion store location. Returns coupons with discount details, brand names, validity dates, and category information. Results include facets showing available categories with counts. Coupons are sorted by recommendation score. Results are auto-iterated across pages.
| Param | Type | Description |
|---|---|---|
| size | integer | Number of coupons to return per page (1-100). |
| start | integer | Zero-based offset for pagination. |
| store_id | string | Food Lion service location ID (numeric string). Determines which store's coupon availability is queried. |
| category_id | string | Category tree ID to filter coupons (e.g. '805' for Dairy & Eggs, '1448' for Laundry/Paper/Cleaning). Available IDs are returned in the facets array of the response. |
| search_text | string | Free-text search term to filter coupons by product name or description. |
{
"type": "object",
"fields": {
"facets": "array of category facets with id, name, and count",
"paging": "object with start, size, and total count",
"coupons": "array of coupon objects with id, title, name, description, dates, discount, and category info",
"total_available": "integer total number of available coupons"
},
"sample": {
"data": {
"facets": [
{
"id": "1448",
"name": "Laundry, Paper & Cleaning",
"count": 74
},
{
"id": "805",
"name": "Dairy & Eggs",
"count": 6
}
],
"paging": {
"size": 60,
"start": 0,
"total": 185
},
"coupons": [
{
"id": "INMD_877226",
"name": "Charmin or Bounty",
"title": "Save $1.00 (1x/day)",
"end_date": "2026-07-28",
"targeted": true,
"image_url": "https://d19hn3jcfcdeky.cloudfront.net/example.png",
"start_date": "2026-07-22",
"category_id": "1448",
"description": "Save $1.00 on ONE Charmin Ultra Toilet Paper 8 Mega XL or 12 Mega Roll or Bounty 6 Double Plus Roll Paper Towel (excludes trial/travel size)",
"max_discount": 1,
"category_name": "Laundry, Paper & Cleaning",
"promotion_type": "Item"
}
],
"total_available": 185
},
"status": "success"
}
}About the Food Lion API
Coupon Search
The search_coupons endpoint accepts a store_id, optional category_id, optional search_text, and pagination parameters (size up to 100, zero-based start offset). Each coupon object in the response includes an id, title, name, description, validity dates, discount information, and category metadata. The response also includes a facets array listing available category buckets with their IDs and coupon counts, which you can use to drive a category browser or count display. A paging object and total_available integer make it straightforward to walk through the full coupon catalog.
Category Filtering
Category IDs are passed as the category_id parameter. Known examples include 805 for Dairy & Eggs and 1448 for Laundry/Paper/Cleaning. The facets array returned by any search_coupons call enumerates all available category IDs and names alongside their coupon counts, so you can discover valid filter values dynamically rather than maintaining a static list.
Store Lookup
The find_nearest_store endpoint takes a 5-digit US ZIP code and returns the closest Food Lion store's store_id (a numeric string like 50001669), street address, city, state, and phone_number. The store_id value maps directly to the store_id parameter in search_coupons, letting you chain the two calls: resolve a user's ZIP code to a store, then query that store's live coupon inventory.
The Food Lion API is a managed, monitored endpoint for foodlion.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when foodlion.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official foodlion.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a coupon aggregator that surfaces Food Lion deals filtered by grocery category using
category_idfacets. - Create a location-aware shopping app that resolves a user's ZIP code via
find_nearest_storeand then fetches that store's active coupons. - Track coupon availability trends over time by polling
total_availableand validity dates fromsearch_coupons. - Power a product-search feature that queries
search_textto find coupons matching specific brand names or item descriptions. - Populate a browser extension that shows applicable Food Lion discounts while a user browses a grocery list.
- Analyze category distribution of digital coupons using the
facetsarray counts returned bysearch_coupons.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Food Lion offer an official public developer API?+
What does the `search_coupons` endpoint return for each coupon?+
id, title, name, description, validity dates, discount details, and category information. The response also includes a facets array with category IDs and counts, a paging object, and a total_available integer.Can I query coupons without specifying a store ID?+
store_id parameter is optional, so requests without it are accepted. For accurate, store-specific coupon availability, pair find_nearest_store to get a store_id from a ZIP code, then pass that value to search_coupons.Does the API cover weekly ad specials or in-store sale prices?+
Is geographic coverage limited to certain regions?+
find_nearest_store endpoint will return a result only if a Food Lion store exists near the provided ZIP code; ZIP codes outside Food Lion's operating territory will not match any store.