
Google Maps Reviews Scraper
scrape.ly/store/cornerledger/google-maps-reviews-scraperLead generationAutomation
3 monthly users

Scrape JioMart products from searches, categories, brands and collections: names, brands, prices, MRP, discounts, categories, pack sizes, images and stock for any Indian PIN code.
Get JioMart products with prices, MRP, discounts, brands, categories, pack sizes, variants and images from any search, category, brand or collection page, for any Indian PIN code. No login, no browser: results come straight from JioMart's own catalog in seconds, at $0.70 per 1,000 products.
/c/... links), brand pages and collections.milk, basmati rice) and/or paste JioMart URLs.| Field | What it does |
|---|---|
searchQueries | Keywords to search, one per line |
startUrls | JioMart search, category, brand or collection URLs |
pincodes | 6-digit delivery PIN codes; every keyword and URL runs for each |
maxItems | Products per keyword or URL per PIN code (default 20, 0 = all) |
sortBy | relevance, popular, price_asc, price_dsc, discount_dsc, latest |
brands | Only these brands (case does not matter) |
minPrice / maxPrice | Selling price range in rupees |
minDiscountPercent | Minimum discount off MRP |
onlyAvailable | Skip products that cannot be ordered |
{
"searchQueries": ["atta"],
"startUrls": ["https://www.jiomart.com/category/smartphones-l3"],
"pincodes": ["400001", "560001"],
"maxItems": 50,
"sortBy": "price_asc",
"brands": ["Aashirvaad"],
"minPrice": 100,
"maxPrice": 500
}
One row per product.
| Field | Description |
|---|---|
product_title, brand, product_url, image_url | What the product is and where to find it |
selling_price, mrp, discount_pct, discount_amount | Price in rupees, MRP and discount |
net_quantity, net_quantity_unit, price_per_unit | Pack size and unit price (groceries) |
category_path, department, l1_category, l2_category, l3_category | Category tree |
sellable, max_order_quantity, store_count | Whether it can be ordered and how widely it is stocked |
variants, variant_count, sizes | Other pack sizes or colours with their product IDs |
rating, popularity, tags, country_of_origin, food_type | Extra product signals |
keyword, source_url, resolved_pincode, position, page_no | Where the row came from |
Example (trimmed):
[
{
"keyword": "milk",
"source_url": null,
"requested_pincode": "400001",
"resolved_pincode": "400001",
"page_no": 1,
"position": 1,
"result_id": 7514473,
"product_id": 7514473,
"product_title": "Amul Gold Full Cream Milk Pouch 500 ml",
"brand": "amul",
"brand_id": 245,
"product_url": "https://www.jiomart.com/product/amul-gold-full-cream-milk-pouch-500-ml-mffmx4-7514473",
"slug": "amul-gold-full-cream-milk-pouch-500-ml-mffmx4-7514473",
"image_url": "https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/59000059411.jpg.416a62bbae.jpg",
"image_urls": [
"https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/59000059411.jpg.416a62bbae.jpg",
"https://cdn1.jiomartjcp.com/v2/catalog-cloud/jiomar/original/images/othe/egurhk/.j/pg/59000059412.jpg.611285179a.jpg"
],
"category_path": "Groceries > Fresh > Milk & Milk Products > Milk",
"categories": [
"Milk"
],
"department": "Groceries",
"l1_category": "Fresh",
"l2_category": "Milk & Milk Products",
"l3_category": "Milk",
"category_slug": "milk",
"vertical_code": "GROCERIES",
"seller_type": "1p",
"seller_id": 1,
"selling_price": 36,
"selling_price_max": null,
"mrp": 36,
"discount_pct": null,
"discount_amount": null,
"discount_label": null,
"offer_ends_at": null,
"currency_code": "INR",
"currency_symbol": "₹",
"net_quantity": 500,
"net_quantity_unit": "ml",
"price_per_unit": "0.07/ml",
"min_order_quantity": 1,
"max_order_quantity": 4,
"popularity": 301,
"item_id": 7514473,
"item_code": "590000594",
"sku_code": "590000594",
"item_type": "standard",
"sellable": true,
"journey": "standard",
"sizes": [
"500 ML"
],
"variants": [
{
"product_id": 7514473,
"label": "500 ml",
"is_available": true,
"product_url": "https://www.jiomart.com/product/amul-gold-full-cream-milk-pouch-500-ml-mffmx4-7514473"
},
{
"product_id": 7535057,
"label": "1 L",
"is_available": true,
"product_url": "https://www.jiomart.com/product/amul-gold-full-cream-milk-1-l-pouch-mffn6n-7535057"
}
],
"variant_count": 2,
"matching_variant_count": 1,
"store_ids": [
3442
],
"store_count": 1,
"country_of_origin": "India",
"food_type": "green_dot",
"rating": null,
"rating_bucket": "0",
"tags": [
"NON-RX",
"1p",
"rrl_fc",
"QC",
"GROCERIES",
"kirana_1p"
],
"teaser_tag": null,
"scraped_at": "2026-10-22T10:30:29Z"
}
]
A run summary (per listing: products saved, products JioMart reports, why it stopped) is saved as OUTPUT in the key-value store.
You pay $0.70 per 1,000 products saved ($0.0007 per product), plus a small amount of platform usage (compute and proxy traffic).
Example: 1,000 products ≈ $0.70 in product fees plus well under one cent of usage. Empty searches and failed pages cost nothing in product fees.
Is it legal to scrape JioMart? The actor reads public product listings that anyone can see without an account. You are responsible for how you use the data; check JioMart's terms and your local law.
Do I need a JioMart account or a proxy? No account. The default datacenter proxy works; if JioMart refuses it, the run switches to residential IPs in India by itself.
How many products can I get?
As many as JioMart lists for the keyword or page: set maxItems to 0. Popular keywords list tens of thousands of products, so a limit keeps runs short.
Why are prices different from what I see? JioMart prices and assortment depend on the delivery area. Use the PIN code you shop from. PIN codes JioMart does not deliver to get a generic assortment.
What if a field is empty?
JioMart does not fill every field for every product (e.g. rating is empty for unrated products, net_quantity mostly exists for groceries). Empty fields are null.
Can I schedule it or use the API? Yes. Save your input as a task, schedule it (e.g. daily for price tracking) and fetch results through the API or integrations.
/product/...) are not scraped; search for the product name instead.mobile also lists covers and chargers), exactly as on the site.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchQueriesarrayOptionalSearch keywords
What to search for on JioMart, one keyword per line, e.g. 'milk', 'basmati rice', 'iphone 16'. Each keyword is searched separately for every PIN code.
startUrlsarrayOptionalJioMart URLs
JioMart listing pages to scrape: search (https://www.jiomart.com/search?q=atta), category (https://www.jiomart.com/category/smartphones-l3 or an older /c/... link), brand (https://www.jiomart.com/brand/samsung) and collection (https://www.jiomart.com/collection/home-appliances) pages. Filters and sorting in the URL are kept.
pincodesarrayOptionalDelivery PIN codes
6-digit Indian PIN codes to check prices and availability for, e.g. 400001 (Mumbai), 560001 (Bengaluru). JioMart shows different products and prices per delivery area. Every keyword and URL is scraped for every PIN code. Empty: 400001 (Mumbai).
maxItemsintegerOptionaldefault 20Max products per keyword or URL
How many products to save for each keyword or URL in each PIN code. 0 saves every product JioMart lists.
sortByenumOptionaldefault "relevance"Sort by
Order of the results, as on the JioMart site. Relevance keeps the order of a pasted URL.
brandsarrayOptionalBrands
Only save products of these brands, e.g. 'Amul', 'Samsung'. Brand names are matched without regard to case.
minPriceintegerOptionalMin price (₹)
Only save products whose selling price is at least this many rupees.
maxPriceintegerOptionalMax price (₹)
Only save products whose selling price is at most this many rupees.
minDiscountPercentintegerOptionalMin discount (%)
Only save products discounted by at least this percentage off MRP. Fastest with 'Sort by: Discount'.
onlyAvailablebooleanOptionaldefault falseOnly products that can be ordered
Skip products JioMart marks as not sellable.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for JioMart. If JioMart refuses them, the run switches to residential IPs in India by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| keyword | string | null | Search keyword (or the listing a URL points to) |
| source_url | string | null | JioMart URL the product came from |
| requested_pincode | string | null | PIN code from the input |
| resolved_pincode | string | null | PIN code used for prices and stock |
| page_no | number | null | Results page the product was on |
| position | number | null | Rank in the listing (1 = first) |
| result_id | number | null | Same as product_id |
| product_id | number | null | JioMart product ID |
| product_title | string | null | Product name |
| brand | string | null | Brand |
| brand_id | number | null | JioMart brand ID |
| product_url | string | null | Product page URL |
| slug | string | null | Product URL slug |
| image_url | string | null | Main product image |
| image_urls | array | null | All product images |
| category_path | string | null | Department > category > sub-category |
| categories | array | null | Category names |
| department | string | null | Department (e.g. Groceries, Electronics) |
| l1_category | string | null | Category |
| l2_category | string | null | Sub-category |
| l3_category | string | null | Product type category |
| category_slug | string | null | Category slug, usable in https://www.jiomart.com/category/ |
| vertical_code | string | null | JioMart business vertical |
| seller_type | string | null | Seller type (1p = sold by JioMart) |
| seller_id | number | null | Seller ID |
| selling_price | number | null | Selling price in rupees |
| selling_price_max | number | null | Highest selling price when sizes differ |
| mrp | number | null | MRP in rupees |
| discount_pct | number | null | Discount % off MRP |
| discount_amount | number | null | Rupees off MRP |
| discount_label | string | null | Discount label as shown |
| offer_ends_at | string | null | When the current offer ends |
| currency_code | string | null | Currency (INR) |
| currency_symbol | string | null | Currency symbol |
| net_quantity | number | null | Net quantity of the pack |
| net_quantity_unit | string | null | Unit of the net quantity |
| price_per_unit | string | null | Price per unit (e.g. 0.63/g) |
| min_order_quantity | number | null | Fewest units per order |
| max_order_quantity | number | null | Most units per order |
| popularity | number | null | JioMart popularity score |
| item_id | number | null | Item ID |
| item_code | string | null | Item code (article number) |
| sku_code | string | null | SKU code |
| item_type | string | null | Item type |
| sellable | boolean | null | Can be ordered for this PIN code |
| journey | string | null | Fulfilment journey |
| sizes | array | null | Sizes or pack sizes |
| variants | array | null | Other pack sizes or variants with their product IDs |
| variant_count | number | null | Number of variants |
| matching_variant_count | number | null | Number of variant groups (size, pack size, colour) |
| store_ids | array | null | Stores that list the product |
| store_count | number | null | Number of stores that list the product |
| country_of_origin | string | null | Country of origin |
| food_type | string | null | Food mark (green_dot = vegetarian) |
| rating | number | null | Average rating, empty when not rated |
| rating_bucket | string | null | Rating bucket |
| tags | array | null | JioMart product tags |
| teaser_tag | string | null | Promotion teaser |
| scraped_at | string | null | When the product was scraped (UTC) |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Product | One JioMart product saved to the dataset. | $0.0007 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('shelfbright/jiomart-scraper').call({
"searchQueries": [
"mobile"
],
"pincodes": [
"400001"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run shelfbright/jiomart-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=shelfbright/jiomart-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
No examples yet
The developer hasn't published example inputs for this actor.

Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.
Read the article
Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.
Read the article
Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.
Read the articleScrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.