Weis APIweis.com ↗
Find Weis Markets stores by ZIP, browse weekly circulars, read every deal, and search shelf prices and promotions via 4 structured endpoints.
What is the Weis API?
The Weis Markets API exposes 4 endpoints covering store locations, active circulars, flyer deals, and grocery catalog search. Starting with find_stores, you can resolve any 5-digit US ZIP code into nearby Weis store records — each carrying a location_id that keys into the remaining endpoints. Response fields span deal types, SNAP eligibility, GTIN, aisle placement, loyalty-card pricing, and per-store shelf prices that vary by location.
curl -X GET 'https://api.parse.bot/scraper/fb079b3e-abab-451b-ac20-03edf2cbf21d/find_stores?zip_code=22551' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns Weis Markets stores within a radius of a 5-digit US ZIP code, nearest first, one row per store with its location_id (the key used by every other endpoint), store number, address, phone, distance in miles, weekly hours (day 0 = Sunday), department names and in-store services. A ZIP with no Weis store inside the radius returns store_count 0 and an empty stores list. Single round trip, no pagination.
| Param | Type | Description |
|---|---|---|
| distance | integer | Search radius in miles (1-500). Smaller radii return fewer stores. |
| zip_coderequired | string | 5-digit US ZIP code to search around, leading zeros preserved. |
{
"type": "object",
"fields": {
"stores": "array of stores: location_id (string key for other endpoints), store_number, name, address, city, state, zip, phone, latitude, longitude, distance_miles, active, store_hours (day/open/close), departments (names), services (names)",
"zip_code": "the ZIP searched",
"store_count": "number of stores found",
"distance_miles": "radius applied in miles"
},
"sample": {
"data": {
"stores": [
{
"zip": "22553",
"city": "Spotsylvania",
"name": "Weis Markets Spotsylvania",
"phone": "+1 (555) 012-3456",
"state": "VA",
"active": true,
"address": "123 Main St",
"latitude": 38.2333,
"services": [
"PREPARED FOOD",
"CLICK AND COLLECT",
"EBT"
],
"longitude": -77.5573,
"departments": [
"Produce",
"Grocery",
"Baby"
],
"location_id": "4378",
"store_hours": [
{
"day": 0,
"open": "07:00AM",
"close": "09:00PM"
},
{
"day": 1,
"open": "07:00AM",
"close": "09:00PM"
}
],
"store_number": "304",
"distance_miles": 7
}
],
"zip_code": "22551",
"store_count": 9,
"distance_miles": 30
},
"status": "success"
}
}About the Weis API
Store Discovery and Circular Listing
The find_stores endpoint accepts a zip_code and an optional distance radius (1–500 miles) and returns stores sorted nearest-first. Each store record includes location_id, store_number, full address fields, phone, latitude, coordinates, distance in miles, weekly hours keyed 0–6 (Sunday = 0), and a list of departments and in-store services. The location_id value is the shared key required by every downstream endpoint.
Once you have a location_id, list_flyers returns all circulars currently active at that store — typically the Weekly Circular plus monthly specialty flyers such as Natural & Organic or Home Ad Specials. Each flyer record includes flyer_id, title, valid_from / valid_to dates in YYYY-MM-DD format, last_modified, a cover image URL, and whether the flyer is featured. Passing an unrecognized location_id returns flyer_count: 0 with an empty array rather than an error.
Flyer Deals and Catalog Search
get_flyer_items fetches every deal in a single circular identified by flyer_id. Each deal record contains deal_id, name, description, department, deal_type (one of: Price, Price Weight, Price for Multiple, Buy X Get Y, Price each, Amount Off), the site's own special_offer text (e.g. "2 for $7.00"), sale_price, sale_quantity, sale_uom, and additional pricing subfields. Supplying the optional location_id parameter augments each deal with catalog product metadata from the store's inventory.
search_products searches a specific store's grocery catalog by free-text query. Results are paginated — page_size is capped at 40, and has_more / total_pages / total_results let you walk through result sets. Each product record includes product_id, title, brand, size, gtin, price, min_price, max_price, currency, purchasing_unit, department, category, aisle, SNAP eligibility flag, and any active promotion fields: sale_price, savings_price, validity window, and loyalty-card reward details. Prices and availability are store-specific — results for the same query differ across location_id values.
The Weis API is a managed, monitored endpoint for weis.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when weis.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 weis.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 weekly circular tracker that emails deal summaries from get_flyer_items for a user's nearest Weis store
- Compare shelf prices across multiple Weis locations for the same product using search_products with different location_id values
- Filter flyer deals by deal_type 'Buy X Get Y' to surface the best promotions in a savings app
- Identify SNAP-eligible products at a given store using the SNAP eligibility field in search_products results
- Populate a store locator map from find_stores latitude/longitude fields filtered by ZIP and radius
- Track loyalty-card promotions over time by archiving search_products promotion validity windows and savings_price fields
- Cross-reference GTIN values from search_products with external nutrition or product databases for enriched grocery data
| 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.