# Rewalto MCP server tools: Data, part 2 of 3

The Data group of Rewalto's MCP server has 81 tools as of 8 November 2026, 8:58 pm IST. This is part 2 of 3: 27 of them, list_app_charts to list_oos_rate, in alphabetical order. Each tool below shows what it returns, its credit cost, who can call it and its inputs, read live from Rewalto's public tool list.

Reads of Rewalto's data. The ones marked as spending credits charge only for data delivered.

### `list_app_charts`

Google Play or App Store top chart (India). Rewalto's reading of one app store top chart in India (top_free, top_paid or top_grossing; all apps or one category such as shopping): the top 100 apps in chart order with rating and price. Charged per app delivered at the history rate. Every reading is kept as Rewalto history; the same request read in the last 24 hours answers from it (meta.reused). A new reading takes a minute or two: the first call answers data.status "pending" with meta.retryAfterSeconds and charges nothing; call again with the same arguments to collect it. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `store` (string, required): google_play or app_store.
  - `collection` (string, required): top_free, top_paid or top_grossing.
  - `category` (string, optional): A store category such as shopping or food_and_drink; omit for all apps.

### `list_app_reviews`

Newest reviews of one app (India). Rewalto's newest public reviews of one Google Play or App Store app in India, with the app's overall rating: stars, title, text, date, app version, helpful votes and the developer's reply. Reviewer names are not kept. Charged per review delivered at the history rate. Every reading is kept as Rewalto history; the same request read in the last 24 hours answers from it (meta.reused). A new reading takes a minute or two: the first call answers data.status "pending" with meta.retryAfterSeconds and charges nothing; call again with the same arguments to collect it. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `store` (string, required): google_play or app_store.
  - `appId` (string, required): A Google Play package name (com.grofers.customerapp) or an App Store number (960335206), as search_apps gives it.
  - `depth` (string, optional): Reviews to read: 20 (default), 50 or 100.

### `list_backer_records`

Investor records (firms and angels). Investors Rewalto holds, one record per investor: venture funds, accelerators, incubators, family offices, corporate venture arms, private equity, angel networks and individual angels (investorKind), with type, headquarters, the geographies, stages and sectors they state, cheque size, thesis, website, LinkedIn and public email. Most recently added first; optionally a name fragment, kind, type, sector, stage or India focus. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `name` (string, optional): Name contains this text (case-insensitive), 2 to 100 characters.
  - `kind` (string, optional): firm or individual.
  - `type` (string, optional): An investor type, e.g. vc_fund, accelerator, angel_network, angel.
  - `sector` (string, optional): A sector the investor states, whole (case-insensitive).
  - `stage` (string, optional): A stage the investor states, whole (case-insensitive), e.g. Seed.
  - `india` (string, optional): true for investors that state India.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_badges`

Product badges. For one retailer: each product that showed a badge (bestseller, assured, only few left, deal tags) per pin code and IST day, with the distinct badges as written. Newest day first; optionally one product, one pin code and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): A retailer key, from list_retailers.
  - `retailerSku` (string, optional): The retailer's own product id.
  - `pincode` (string, optional): A six-digit pin code, or national.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_banner_placements`

Banner ads in search. For one app (zepto or instamart): each brand banner ad seen on a search term at a pin code on an IST day, with the keyword bought and billing model where stated, replies, stores, best position and linked products; the creative is a fingerprint only. Newest day first; optionally one brand, search term, pin code and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): zepto or instamart.
  - `brand` (string, optional): A brand, as the app names it (exact).
  - `searchTerm` (string, optional): A search term (exact).
  - `pincode` (string, optional): A six-digit pin code.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_brand_ads`

Brand ads Rewalto holds (partial catalogue). The ads Rewalto has already pulled for a brand, across Meta (Facebook and Instagram), Google, LinkedIn, TikTok, YouTube creator sponsorships and podcast mentions: text, title, call to action, landing page, format, placements, first and last shown, running or not, spend and reach ranges when given, and Rewalto's copies of the images and videos. A partial catalogue: it never pulls new ads; to search a brand now use search_brand_ads. Newest last seen first. Free (the REST route is public). Needs an API key; answers for the key’s own organisation only.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `brand` (string, optional): A brand name, e.g. Nykaa.
  - `domain` (string, optional): The brand's website, e.g. nykaa.com.
  - `platform` (string, optional): meta, google, linkedin, tiktok, youtube or podcast.
  - `advertiser` (string, optional): One advertiser id: a Meta page id (digits) or a Google advertiser id (AR...).
  - `active` (string, optional): true for running ads only, false for stopped ones.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_brand_directory`

Brands and aliases. Canonical brands in name order: every spelling retailers and titles use for each, how many listings carry it, and its owning company where known, with the basis. Refreshed daily. Charged per brand at the company record rate. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `q` (string, optional): Only brands whose name starts with this (case and accents ignored).
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_brand_mentions`

YouTube brand mentions. For each brand and IST day: how many public YouTube videos published in India mention it, with their summed public views, likes and comments (atLeast: the page of 50 was full). Newest day first; optionally one brand and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `brand` (string, optional): A brand, as listed in the catalogue (exact).
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_brand_owners`

Brand to company. The brands Rewalto can link to an owning company, with the basis for each link (a person named it, a company record's name or website matches the brand) and the company record when there is one. Charged per brand at the company record rate. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `q` (string, optional): Only brands whose name starts with this (case and accents ignored).
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_brand_shelf`

Brand share of shelf by pin code. For one retailer: each brand's distinct listings read at a pin code on an IST day against all distinct listings read there, as a share in basis points (shareBp, 10000 is the whole shelf). Rolled up daily from Rewalto's own readings from 25 Aug 2026. Newest day first; optionally one pin code, one brand and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): A retailer key, from list_retailers.
  - `pincode` (string, optional): A six-digit pin code, or national.
  - `brand` (string, optional): A brand (exact), as in the brand field.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_company_records`

Company and brand records. Companies and brands Rewalto holds, one record per company: name, kind (brand, agency, startup, company), website and web host, place, industry and sectors, description, size and revenue bands, founded year, store platform, the company's own social accounts with follower counts, a revenue estimate in rupees and monthly site visits where measured, and its company email and phone where public. Most recently added first; optionally a name fragment, one web host, kind, startup, state, city or store platform. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `name` (string, optional): Name contains this text (case-insensitive), 2 to 100 characters.
  - `host` (string, optional): One web host, exact, without www (e.g. mamaearth.in).
  - `kind` (string, optional): brand, agency, startup or company.
  - `startup` (string, optional): true for startups only, false for the rest.
  - `state` (string, optional): One state (case-insensitive).
  - `city` (string, optional): One city (case-insensitive).
  - `platform` (string, optional): One online store platform, e.g. shopify (case-insensitive).
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_d2c_brands`

D2C brand directory. Indian D2C brands in Rewalto's brand directory: store host, brand name, platform, categories, city and state, employees and size band, estimated monthly visits and sales with bands (estimates; sales in US cents), products sold, sales channels, technologies, public social pages, and the platform Rewalto detected when the store is in the storefront index. Brand level only, no personal contact data. Host order; optionally one store, one platform, a category, a state or a city. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `host` (string, optional): One store by host name, e.g. www.kent.co.in.
  - `platform` (string, optional): One platform as the directory writes it, e.g. Shopify (case-insensitive).
  - `category` (string, optional): Text a category contains, e.g. Home & Garden (case-insensitive).
  - `state` (string, optional): One state, e.g. Karnataka.
  - `city` (string, optional): One city, e.g. Bengaluru.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_dark_stores`

Dark stores and catchments. Each quick-commerce dark store Rewalto holds (Blinkit, Zepto, Instamart, BigBasket, Flipkart Minutes, JioMart, DMart), one record per store with every source merged: store id and name, pin code, area, address, point, city and state, the pin codes it serves, first and last seen, status (open, opened, closed) and its sources (old_sweep, core_sweep, app_reading, store_list). Send pincode for the stores that serve that pin. Newest last-seen day first; optionally one platform, city, status and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `platform` (string, optional): blinkit, zepto, instamart, bigbasket, flipkart_minutes or jiomart.
  - `city` (string, optional): A city name (case-insensitive).
  - `pincode` (string, optional): A six-digit pin code: only the stores serving it.
  - `status` (string, optional): open, opened or closed.
  - `from` (string, optional): First last-seen day, YYYY-MM-DD.
  - `to` (string, optional): Last last-seen day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_delivery_eta`

Delivery time by pin. The delivery time quick-commerce apps stated at each pin code on each IST day: readings, the share that stated a time, least, median, 90th percentile and greatest minutes, with the source labelled (search, partner or sweep). Newest day first; optionally one retailer, pin code, source and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, optional): An app, e.g. blinkit, zepto, instamart.
  - `pincode` (string, optional): A six-digit pin code.
  - `source` (string, optional): search, partner or sweep.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_discounts`

Discount depth by brand and category. For one retailer: for each brand and category on an IST day, the readings with a selling price and an MRP, how many were priced below MRP, and the average, median and deepest discount in basis points of MRP. Rolled up daily from Rewalto's own readings from 25 Aug 2026, so a festive season can be read day by day. Newest day first; optionally one brand, one category and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): A retailer key, from list_retailers.
  - `brand` (string, optional): A brand (exact), as in the brand field.
  - `category` (string, optional): A category, as the retailer wrote it.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_github_repos`

One GitHub organisation’s public repositories: launch dates and activity. Rewalto's reading of one GitHub organisation's public repositories, most recently pushed first: created and last-push dates, stars, forks, open issues, language (kept as history), plus description, homepage, topics and licence (read live, not kept). Organisations only: a personal account is refused. Charged per repository delivered at the history rate; the same request read in the last 24 hours answers from it (meta.reused). Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `org` (string, required): The organisation GitHub login, e.g. zomato.
  - `depth` (string, optional): Repositories to read: 30 (default) or 100.

### `list_instagram_account_media`

A public Instagram account's posts and reels (held). Approved internal clients only (Orcheo). Held posts and reels of the account, newest first, one row per media id, paged by nextCursor. type all, reels or posts; since and until on the published time. page.partial: quote account_media with continue to read deeper. Free, never collects. Needs an API key of an approved client (C-047); any other caller gets not_found. Paging, provenance, availability, receipts and collector issues come back as structured fields.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `username` (string, required): Instagram username, without @.
  - `type` (string, optional): all (default), reels or posts.
  - `since` (string, optional): Published at or after (ISO time).
  - `until` (string, optional): Published before (ISO time).
  - `limit` (string, optional): Rows a page, 1 to 100 (default 25).
  - `cursor` (string, optional): nextCursor from the previous page.

### `list_instagram_comment_replies`

Replies to a public Instagram comment (held). Approved internal clients only (Orcheo). Held replies to the comment in thread order, paged by nextCursor. Quote comment_replies (shortcode and commentId) to read them. Free, never collects. Needs an API key of an approved client (C-047); any other caller gets not_found. Paging, provenance, availability, receipts and collector issues come back as structured fields.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `commentId` (string, required): The comment id.
  - `limit` (string, optional): Rows a page, 1 to 100 (default 25).
  - `cursor` (string, optional): nextCursor from the previous page.

### `list_instagram_comments`

A public Instagram post's comments (held). Approved internal clients only (Orcheo). Held top-level comments of the post, one row per comment id, sort recent (default) or popular, paged by nextCursor. replyCount null means the collector did not say. Replies: list_instagram_comment_replies. Free, never collects. Needs an API key of an approved client (C-047); any other caller gets not_found. Paging, provenance, availability, receipts and collector issues come back as structured fields.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `shortcode` (string, required): The post shortcode.
  - `sort` (string, optional): recent (default) or popular.
  - `limit` (string, optional): Rows a page, 1 to 100 (default 25).
  - `cursor` (string, optional): nextCursor from the previous page.

### `list_instagram_hashtag_media`

Public posts under an Instagram hashtag (held). Approved internal clients only (Orcheo). Held posts and reels read under the hashtag (recent and top feeds), newest published first, one row per media id, paged by nextCursor. Only posts from accounts Instagram showed as public. Quote hashtag_media to read (more). Free, never collects. Needs an API key of an approved client (C-047); any other caller gets not_found. Paging, provenance, availability, receipts and collector issues come back as structured fields.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `hashtag` (string, required): The hashtag, without #.
  - `limit` (string, optional): Rows a page, 1 to 100 (default 25).
  - `cursor` (string, optional): nextCursor from the previous page.

### `list_launches`

Launches. Each listing that appeared on a retailer's shelf at a pin code on an IST day where it was not before: class (new_product, new_pack, new_seller, relisting), brand, title, pack, first-seen price and MRP, and the reading it was first seen in; detectedBy says previous_system (2 to 6 Sep 2026, history) or core (the daily roll). Newest day first; optionally one retailer, pin code, brand, class and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, optional): A retailer key, from list_retailers.
  - `pincode` (string, optional): A six-digit pin code.
  - `brand` (string, optional): A brand, as the retailer wrote it (exact).
  - `class` (string, optional): new_product, new_pack, new_seller or relisting.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_listings`

Listings. Retailer listings (products as each retailer lists them), filtered. Spends credits at the published read rate, with no quote; the answer’s `meta.credits` says what was charged and gives the receipt. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, optional): A retailer key, from list_retailers.
  - `brand` (string, optional): A brand name.
  - `productId` (string, optional): A canonical product id.
  - `retailerSku` (string, optional): The retailer's own product id.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_live_regulatory_notices`

CDSCO and FSSAI notices, read live from the regulators. Every public notice India's drug regulator (CDSCO) and food regulator (FSSAI) lists on its own site, read now: title, release day, document link and size, and for FSSAI its category, comments link and further documents. Newest first; optionally one regulator (cdsco or fssai), a day range and title words. Live: each list is read at most once an hour and nothing is kept. Charged per notice delivered at the same rate as the kept notices; re-reading the same notices within 7 days is free. At most 60 reads an hour for your organisation. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `authority` (string, optional): cdsco or fssai (default both).
  - `from` (string, optional): Only notices published on or after this day (YYYY-MM-DD).
  - `to` (string, optional): Only notices published on or before this day (YYYY-MM-DD).
  - `q` (string, optional): Only notices whose title contains this text.
  - `limit` (string, optional): At most this many notices, 1 to 2000 (default 100).

### `list_location_cities`

Cities. Cities by the start of their name, each with a stable location id, its pin codes, kept coverage (pins read in the last 30 days) and, with a retailer, how many of its pins a new collection could serve. Free. Needs an API key; answers for the key’s own organisation only.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `q` (string, optional): The start of a city name.
  - `market` (string, optional): Only this market.
  - `retailer` (string, optional): Coverage for this retailer.
  - `coverage` (string, optional): Only cities with this coverage.
  - `state` (string, optional): Only this state.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_location_stores`

Dark stores in a city. One quick-commerce retailer’s dark stores in a city as Rewalto’s sweeps found them: a stable location id, label, open or closed, first and last seen, the pin codes each serves and kept coverage there. Free. Needs an API key; answers for the key’s own organisation only.

- Credit cost: Free
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): A quick-commerce retailer key.
  - `city` (string, required): The city.
  - `state` (string, optional): The state, when the city name is ambiguous.
  - `q` (string, optional): Only stores whose label contains this.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_observations`

Price and stock readings. Readings (price, MRP, stock, rank) by retailer, pin code, brand or product, over a time range. Spends credits at the published read rate, with no quote; the answer’s `meta.credits` says what was charged and gives the receipt. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, optional): A retailer key, from list_retailers.
  - `pincode` (string, optional): A six-digit pin code.
  - `brand` (string, optional): A brand name.
  - `productId` (string, optional): A canonical product id.
  - `retailerSku` (string, optional): The retailer's own product id.
  - `from` (string, optional): Start time, ISO 8601.
  - `to` (string, optional): End time, ISO 8601.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

### `list_oos_rate`

Out-of-stock rate by brand and city. For one retailer: for each brand and city on an IST day, the readings that stated stock and how many were out of stock (oosBp is null when none stated stock; Flipkart states none). The city is the pin code's city in the India Post directory, or national. Rolled up daily from Rewalto's own readings from 25 Aug 2026. Newest day first; optionally one city, one brand and a day range. Spends credits at this dataset’s published rate, with no quote; `meta.credits` shows the rate, says what was charged and gives the receipt. Re-reading the same records within 7 days is free. With too few credits the API refuses with `credits_exhausted`, returns no data and charges nothing. Needs an API key; answers for the key’s own organisation only.

- Credit cost: May spend credits, only for data delivered
- Who can call it: API key or Sign in with Rewalto, permission `data:read`
- Inputs:
  - `retailer` (string, required): A retailer key, from list_retailers.
  - `city` (string, optional): A city, as the India Post directory names it, or national.
  - `brand` (string, optional): A brand (exact), as in the brand field.
  - `from` (string, optional): First IST day, YYYY-MM-DD.
  - `to` (string, optional): Last IST day, YYYY-MM-DD.
  - `limit` (string, optional): At most this many rows (the API caps it).
  - `cursor` (string, optional): The `next` cursor from the previous page.

## Other tool pages

- [All tools](https://rewalto.com/developers/mcp)
- [Catalogue](https://rewalto.com/developers/mcp/tools/catalogue)
- [Data, part 1 of 3](https://rewalto.com/developers/mcp/tools/data)
- [Data, part 3 of 3](https://rewalto.com/developers/mcp/tools/data-3)
- [Quotes and runs](https://rewalto.com/developers/mcp/tools/quote)
- [Account](https://rewalto.com/developers/mcp/tools/account)
- [Monitor](https://rewalto.com/developers/mcp/tools/monitor)
- [Task](https://rewalto.com/developers/mcp/tools/task)
- [Monitors](https://rewalto.com/developers/mcp/tools/watch)
- [Alerts](https://rewalto.com/developers/mcp/tools/alerts)

## How the tools charge

Each tool is one call to the Rewalto API, with the same permissions, credit rates and quote and approval steps as the API, the CLI and the dashboard. Calling the tool list is free and needs no key. A tool marked as spending credits charges only for data delivered, at the published rate, and each answer says what it charged. A run that delivers nothing costs nothing.

---

Canonical page: https://rewalto.com/developers/mcp/tools/data-2
Last content change: 2026-11-06
