Food Lion APIfoodlion.com ↗
Access Food Lion digital coupons via API. Filter by category, search by product name, paginate results, and retrieve discount details, brand names, and validity dates.
What is the Food Lion API?
The Food Lion Coupons API provides a single search_coupons endpoint that returns up to 100 digital coupons per request, each carrying discount details, brand names, validity dates, category metadata, and a recommendation score ranking. Responses include category facets with counts for filtering, pagination state, and a total available coupon count — everything needed to build a coupon browser or savings alert tool against Food Lion's current digital offers.
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.foodlion_com_api import FoodLion, InvalidInput
client = FoodLion()
# Browse all coupons at the default store, capped to 3 items.
for coupon in client.coupons.search(limit=3):
print(coupon.name, coupon.title, coupon.end_date)
# Filter by category (Dairy & Eggs = "805") at a specific store.
dairy_coupon = client.coupons.search(store_id="50002071", category_id="805", limit=1).first()
if dairy_coupon:
print(dairy_coupon.name, dairy_coupon.description, dairy_coupon.max_discount)
# Search by text.
try:
for coupon in client.coupons.search(search_text="cereal", limit=2):
print(coupon.id, coupon.name, coupon.category_name)
except InvalidInput as e:
print("bad input:", e)
print("exercised: 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
What the API Returns
The search_coupons endpoint returns an array of coupon objects, each containing a coupon id, title, name, description, discount specifics, validity dates, and category information. Alongside the coupon list, the response includes a facets array — each facet carries a category id, name, and coupon count — which lets you enumerate available categories and the number of deals in each without a separate lookup. A paging object reports start, size, and total, and a top-level total_available integer gives the full count of active coupons.
Filtering and Pagination
Requests accept a search_text parameter for free-text filtering by product name or description, and a category_id parameter to narrow results to a specific category tree node — for example '805' targets Dairy & Eggs and '1448' targets Laundry/Paper/Cleaning. Pagination is controlled by size (1–100 coupons per page) and start (zero-based offset). An optional store_id numeric string scopes results to a specific Food Lion service location, which matters when store-level availability differs.
Coupon Data Shape
Each coupon object exposes enough detail to render a full coupon card: the promotional title and name identify the offer, description provides terms or qualifying product details, dates fields cover validity windows, and discount carries the actual savings value. Category info on each coupon mirrors the facets taxonomy, so you can group or sort client-side without additional requests. Coupons are ordered by recommendation score in the default response, meaning the most relevant offers surface first.
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 Food Lion coupon browser filtered by category using the
category_idandfacetsfields - Create savings alerts by polling
search_couponsand comparing couponidsets to detect newly added offers - Power a grocery list app that matches items against coupon
titleandnameviasearch_text - Aggregate discount value data across categories using per-coupon
discountfields and facetcountvalues - Display store-specific promotions by passing a
store_idto scope results to a given Food Lion location - Track coupon validity windows by monitoring the
datesfields for upcoming expirations
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Food Lion have an official developer API for coupons?+
What does the `facets` array in the response actually tell me?+
id, name, and a count of how many coupons currently belong to that category. You can use these to build a category filter UI or to determine which category_id values are active before issuing a filtered request.Does the `store_id` parameter affect which coupons are returned?+
store_id numeric string scopes the query to a specific Food Lion service location, which can affect coupon availability. Omitting it returns results without store-level scoping, which may include or exclude location-specific offers.Does the API return in-store weekly ad prices or loyalty card pricing?+
How does pagination work, and is there a limit on how many coupons I can retrieve per request?+
size parameter accepts values from 1 to 100, controlling how many coupons are returned per page. The start parameter is a zero-based offset for stepping through results. The paging object in each response echoes back start, size, and total, and total_available gives the full count, so you can calculate how many additional pages remain.