Skip to content
    ↑↓ to choose · Enter to open

    September 24, 2026 · 14 min read

    Flipp Grocery Deals Scraper: Up to 1,000 Free Results a Month (2026)

    By Crawlerbros Engineering Team

    A thousand store-level circular results cost $5.00 on Apify's free plan, returning product listings across nearby US and Canadian retailers without logins or API keys. Each search record yields 15 product fields, including currentPrice, originalPrice, saleStory, merchantName, validFrom, and validTo dates. Switch modes to pull active circular metadata or extract every product inside a specific flyer ID. Built for regional pricing analysts, basket monitoring services, and promo tracking teams. Not for teams seeking direct consumer contact details or historical price archives, which the records do not include.

    Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 1,000 results at $0.005 each before platform usage. Open Flipp Grocery Deals Scraper on Apify and run the prefilled example.

    How reliable is Flipp Grocery Deals Scraper in production?

    Across the last 30 days of public runs on the Apify platform, Flipp Grocery Deals Scraper recorded 214 runs with the following outcomes.

    Outcome Runs Share
    Succeeded 214 100.0%
    Failed 0 0.0%
    Aborted by the user 0 0.0%
    Timed out 0 0.0%
    Total 214 100.0%

    No run failed or timed out in the last 30 days. Keep a retry and an alert on scheduled runs all the same: a clean month is a record, not a guarantee.

    What does it cost to run Flipp Grocery Deals Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    Worked example: collecting 10,000 results costs $50.00 in result charges before run-start fees and platform usage. No run failed or timed out in the last 30 days, so the list price is a fair budget; keep a retry in place all the same.

    The primary cost driver is maxItems, which caps how many result records a run writes to your dataset. Running mode search across broad queries like milk produces more dataset items than narrow queries or flyer listings. To validate your configuration cheaply, set maxItems to 10 on your first run before processing extensive keyword lists.

    How do you run Flipp Grocery Deals Scraper from the API?

    The schema marks 2 of its 13 controls as required: mode, postalCode. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Flipp Grocery Deals Scraper, so the request works once your token is in place.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~flipp-grocery-deals-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"search","postalCode":"45202"}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "search",
      "postalCode": "45202"
    }
    
    run = client.actor("crawlerbros~flipp-grocery-deals-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "search",
      "postalCode": "45202"
    }
    
    const run = await client.actor('crawlerbros~flipp-grocery-deals-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.

    Which Flipp Grocery Deals Scraper inputs matter, and which can you skip?

    The mode and postalCode controls are required and dictate what data is returned. Setting mode to search requires query to define the product target, while mode flyerItems requires flyerIds. Leave minPrice, maxPrice, and category empty during initial tests to avoid over-filtering your dataset.

    • mode (string): What to fetch. Default: "search".
    • postalCode (string): A US ZIP code (e.g. 45202) or Canadian postal code (e.g. K1A 0B1). Determines which stores' flyers/prices are searched. Not used for mode=flyerItems or mode=merchants. Default: "45202".
    • query (string): Product keyword, e.g. milk, chicken breast, paper towels. Default: "milk".
    • itemType (string): Filter to weekly-ad flyer items (in-store circular pricing), online/e-commerce items, or both. Default: "all".
    • sortBy (string): Order search results before filtering. Default: "relevancy".
    • merchantName (string): Only keep results from a merchant whose name contains this text, e.g. Kroger, Publix, ALDI, Walmart, Costco, CVS. Also applies in mode=merchants.
    • category (string): Only keep results whose category/subcategory contains this text, e.g. Beverages, Meat, Dairy.
    • flyerIds (array): Numeric flyer IDs to list every item from, e.g. 8041414. Get IDs from the flyerId field of search/flyers mode output, or from a flyer URL like flipp.com/en-us/flyer/8041414. Default: [].
    • minPrice (number): Drop items priced below this (USD/CAD).
    • maxPrice (number): Drop items priced above this (USD/CAD).
    • includeRelatedItems (boolean): Also emit Flipp's 'related items' (cross-sell/adjacent product suggestions returned alongside some search results, e.g. searching iphone surfaces related phone-plan or accessory deals). Off by default since most queries return none. Default: false.
    • includeCoupons (boolean): Also emit real digital-coupon offers (savings text, disclaimer, matched product) surfaced alongside search results for that postal code, e.g. $2.00 off Tyson. Off by default since not every query surfaces coupons. Default: false.

    The other 1 controls, with their defaults, are listed in the input schema on Flipp Grocery Deals Scraper on Apify.

    Fixed-choice controls: mode accepts search (Search products/prices near a postal code), flyers (Browse active flyers near a postal code), flyerItems (List every item inside a specific flyer (by flyer ID)), merchants (List Flipp's full merchant/retailer directory); itemType accepts all (Both (flyer + online)), flyer (Weekly-ad flyer items only), ecom (Online/e-commerce items only); sortBy accepts relevancy (Relevance), price_low_to_high (Price: low to high), price_high_to_low (Price: high to low).

    What does Flipp Grocery Deals Scraper return?

    Returned dataset records supply localized weekly circular pricing, store merchant details, item descriptions, and promotion validity dates. They do not contain historical circular records from past weeks or customer review metrics for in-store flyer items. Use search mode for keyword queries or flyerItems mode for complete circular dumps.

    Output per record (search mode)

    • itemId, name
    • currentPrice, originalPrice - USD/CAD
    • priceQualifier - e.g. "with digital coupon", "/EA"
    • saleStory - promotional copy, when present
    • merchantName - e.g. Kroger, Publix, ALDI
    • merchantId - Flipp's numeric retailer ID (cross-reference with merchants mode)
    • merchantLogoUrl
    • category, subcategory
    • imageUrl - product/circular clipping image
    • validFrom, validTo - ISO dates (flyer items only)
    • flyerId, averageRating, totalReviews - when available
    • sourceUrl - the Flipp flyer/page this price came from
    • itemType - flyer or ecom
    • isRelatedItem - true only for cross-sell/related suggestions when includeRelatedItems is on
    • recordType: "product" ("relatedItem" for related suggestions), scrapedAt

    Output per record (search mode coupons, when includeCoupons is on)

    • couponId, savingsText - e.g. "$2.00 off 1"
    • disclaimerText - the coupon's legal/redemption terms
    • productNames[] - matched product(s)/brand(s)
    • requiredQuantity - units required to redeem, when stated
    • recordType: "coupon", scrapedAt

    Output per record (flyers mode)

    • flyerId, merchantName, merchantId, name
    • validFrom, validTo
    • categories[]
    • thumbnailUrl, merchantLogoUrl
    • postalCode, sourceUrl
    • recordType: "flyer", scrapedAt

    Output per record (flyerItems mode)

    • itemId, flyerId, name, brand
    • price - USD/CAD
    • discountPercent - when the flyer marks a % off
    • validFrom, validTo
    • imageUrl - the cut-out product image from the scanned flyer page
    • merchantPageUrl - the retailer's own product/landing page, when the flyer links to one
    • sourceUrl - the Flipp flyer page
    • recordType: "flyerItem", scrapedAt

    Output per record (merchants mode)

    • merchantId, merchantName, nameIdentifier
    • usBased - whether the retailer is US-based
    • sourceUrl - the retailer's Flipp storefront page
    • recordType: "merchant", scrapedAt

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open Flipp Grocery Deals Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Select mode search and enter a target postalCode like 45202 alongside a product query like milk.
    2. Run the Actor on a single term with maxItems set to 10 to inspect the output schema.
    3. Verify that returned records include valid itemId, currentPrice, and merchantName fields.
    4. Add a merchantName string like Kroger or ALDI if you need to scope results to specific local stores.
    5. Set includeCoupons to true if your workflow requires digital coupon discounts and disclaimerText.
    6. Switch mode to flyers using the same postalCode to discover active flyerId values in the area.
    7. Pass target flyerId values into flyerIds with mode set to flyerItems to fetch complete circular inventories.
    8. Export dataset records to JSON or CSV for downstream price analysis once validation succeeds.

    How do you apply it? Three worked playbooks

    These are Flipp Grocery Deals Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Basket price tracking

    Outcome: Track Kroger/Publix/ALDI prices for a shopping list across a zip code

    Configure: Set mode to search, postalCode to 45202, query to milk, itemType to flyer, and maxItems to 40.

    Working method: Run the initial query for a baseline item, verify merchantName contains expected retailers, then cycle through your product list across identical postal code inputs.

    Deliverable: A dataset of current weekly-ad item records containing currentPrice, merchantName, and saleStory across local stores.

    Stop condition: The returned dataset contains zero records for a valid ZIP code with active retail coverage.

    Use case 2: Cross-retailer price comparison

    Outcome: Compare weekly-ad pricing for the same product across multiple retailers

    Configure: Set mode to search, postalCode to 90210, query to paper towels, sortBy to price_low_to_high, and itemType to flyer.

    Working method: Execute a search across a single item, inspect currentPrice across distinct merchantId entries, and sort results to highlight lowest regional prices.

    Deliverable: A structured array of product records sorted by price, mapped to specific merchant names and circular source URLs.

    Stop condition: The search output lacks currentPrice or originalPrice data on returned circular items.

    Use case 3: Weekly price trend monitoring

    Outcome: Monitor grocery price trends over time by re-running the actor on a schedule

    Configure: Set mode to search, postalCode to K1A 0B1, query to chicken breast, and run on a weekly schedule matching circular refresh cycles.

    Working method: Execute scheduled runs weekly, store returned records alongside scrapedAt timestamps, and compute price shifts per merchant over time.

    Deliverable: A historical time-series dataset tracking price changes and validTo date ranges across scheduled runs.

    Stop condition: Scheduled run outputs fail to return valid ISO dates in validFrom and validTo fields.

    What breaks, and how do you design around it?

    • Coverage is store/region dependent: a given retailer's flyer only appears for postal codes where that retailer operates.
    • averageRating / totalReviews are only present for e-commerce items that have received reviews.
    • Flyer item prices reflect the currently active weekly circular; historical pricing is not available.

    When a specific store circular does not appear, verify that the retailer operates physical locations within that postal code. If averageRating or totalReviews are missing, update downstream schemas to treat them as optional e-commerce-only attributes. Because historical circular data is unavailable, schedule automated runs weekly to capture active circular windows before validTo dates expire.

    When should you not use Flipp Grocery Deals Scraper?

    Do not use this Actor if you require historical circular archives or non-North American coverage. For UK grocery monitoring across chains like Tesco, Asda, and Sainsbury's, use Trolley Grocery Price Comparison Scraper instead. If you need direct e-commerce delivery pricing rather than weekly print circular deals, use Instacart Storefront Price Scraper. If your project focuses exclusively on single-brand store inventory like ALDI US, evaluate Aldi US Scraper.

    What should you check before trusting the output?

    • Confirm validFrom and validTo ISO date strings exist on flyer items to prevent using expired pricing.
    • Check that currentPrice contains a non-null numeric value before running pricing models.
    • Monitor merchantName to ensure search results match expected local store availability.
    • Filter out records where recordType is coupon if your ingest pipeline expects only physical item listings.
    • Halt automated workflows if a run returns zero records for a known valid postalCode.

    None of this proves a record is correct. It gives a scheduled Flipp Grocery Deals Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    How much does it cost to scrape 1,000 grocery results?

    Results cost $0.005 each, which comes out to $5.00 per 1,000 results on the free plan. Apify's free plan includes $5.00 of monthly usage, allowing you to fetch up to 1,000 results at no cost before platform run charges.

    How reliable is the Flipp Grocery Deals Scraper?

    Telemetry shows 214 runs in the last 30 days with 214 succeeded, yielding a 100.0% success rate with 0 failed, 0 aborted, and 0 timed out.

    Does this scraper collect historical circular prices?

    No. Flipp only exposes active weekly circulars currently valid for a postal code. To track price trends over time, schedule the Actor to run weekly and append output records to a persistent database.

    Why are ratings missing on some returned items?

    The averageRating and totalReviews fields are populated only for online e-commerce items that have received reviews. In-store weekly circular flyer items do not carry rating attributes.

    How do I target a specific store circular?

    Set mode to search or flyers alongside your target postalCode to extract active flyerId values, then pass those IDs into flyerIds using mode flyerItems to pull all items from that circular.

    Where to go next

    When you are ready to run it, open Flipp Grocery Deals Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the Flipp Grocery Deals Scraper Actor page for the current input schema, pricing tier, and run history.

    Readers running Flipp Grocery Deals Scraper commonly pair it with:

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-24.

    • Actor last updated by its maintainers on 2026-08-03.

    • Run outcome figures cover the 30 day public window ending 2026-09-24.

    • Flipp Grocery Deals Scraper on Apify

    Featured actors

    Flipp Grocery Deals Scraper

    Scrape real store-level weekly-ad prices near any US or Canadian postal code - Kroger, Publix, ALDI, Walmart, Target, Costco, CVS, Walgreens and dozens more retailers. Search by product keyword or browse all active flyers for an area. No login, no API key.

    Run on Apify ↗