Blinkit product data we extract from every card and product page
The unit of work is a product card resolved against one store. Every card carries a numeric product id, the product name and display name, the brand, the pack unit exactly as printed (200 g, 1 ltr, 6 pcs, 2 x 100 g), the selling price, the MRP it is struck through against, the percentage off, and an integer stock count for that store. Cards also carry a group id that ties pack sizes of one item together, so 100 g, 200 g, 750 g and a twin pack roll up into a single variant family instead of four unrelated rows.
Alongside price we keep the merchant id and merchant type of the store that answered, the eta identifier and the promised minutes, the l0, l1 and l2 category strings, the product type, a rating where one is shown, the availability state, and the per-order cap that limits how many units a card will let you add. Badges are worth carrying too: the count of pack options behind a card, promotional labels such as percentage off, and the nutrition claims that ride on the image, for example a protein-per-100 g flag.
The item page adds the regulated block that Indian retail requires and most feeds skip. Under the details panel a Blinkit product page prints Key Features, Ingredients, a marketing description, Unit, FSSAI Licence, Shelf Life, a Disclaimer, Customer Care Details, Country of Origin, the Manufacturer's Name and Address, the Return Policy, a sugar profile where it applies, plus the Seller and the Seller FSSAI licence. Because the seller is whichever entity fulfils from that dark store, one item can show a different seller and a different licence in two cities. The same page emits schema.org Product, BreadcrumbList and ImageObject blocks, with price, INR currency and availability, which makes the identifier easy to verify row by row.