tottus.com.pe APItottus.com.pe ↗
Access Tottus Peru supermarket data: search products, browse categories, fetch product details, and retrieve current promotions via 5 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/e9df91f2-0213-48b2-9c59-a8ae5ac30e1e/search_products?query=leche' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword with optional filters for brand and delivery type. Returns paginated results with product listings and available filter facets.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| brand | string | Brand name to filter by (e.g., 'Tottus', 'Xiaomi') |
| queryrequired | string | Search keyword (e.g., 'leche', 'smartphone') |
| delivery_type | string | Filter by delivery speed: 'express' or 'standard' |
{
"type": "object",
"fields": {
"facets": "array of facet filter objects with name, type, and available values",
"products": "array of product objects with productId, displayName, brand, prices, availability, and media URLs",
"pagination": "object with count, perPage, totalPerPage, and currentPage"
},
"sample": {
"data": {
"facets": [
{
"name": "Marca",
"type": "TERM_FACET",
"values": [
{
"count": 1,
"title": "1615"
}
]
}
],
"products": [
{
"brand": "EL OLIVAR",
"skuId": "115937942",
"prices": [
{
"type": "internetPrice",
"price": [
"37.90"
],
"symbol": "S/ ",
"crossed": false
}
],
"productId": "115937941",
"displayName": "Aceite de Oliva Extra Virgen El Olivar Botella 500 mL",
"availability": {
"expressShipping": "Envío <b style='font-weight:700'>rápido</b>"
}
}
],
"pagination": {
"count": 991,
"perPage": 48,
"currentPage": 1,
"totalPerPage": 48
}
},
"status": "success"
}
}About the tottus.com.pe API
The Tottus Peru API provides structured access to the tottus.com.pe supermarket catalog across 5 endpoints, covering product search, category browsing, detailed product pages, and homepage promotions. The search_products endpoint accepts keyword queries with optional brand and delivery-type filters, returning paginated product listings alongside facet objects that describe all available refinements.
Product Search and Category Browsing
The search_products endpoint accepts a required query string and optional brand, delivery_type (express or standard), and page parameters. Each response includes a products array — where each item carries productId, displayName, brand, prices, availability, and media URLs — plus a facets array describing all filterable dimensions and a pagination object with count, perPage, totalPerPage, and currentPage fields. The browse_category endpoint mirrors this structure but navigates by category_id (e.g., CATG17605) rather than keyword, with an optional category_slug for URL alignment.
Product Details and Category Hierarchy
The get_product_details endpoint requires both a product_id and a slug obtained from search or browse results. It returns a full product record including a variants array (each with prices, media, availability, and specifications), attributes containing a specifications list and size chart, a breadCrumb array that maps the full category path with id, label, and link, plus a description string and brandName. An optional variant_id parameter narrows the response to a specific SKU. The get_categories endpoint requires no inputs and returns the complete navigation tree: top-level category objects with item_name, item_url, second_level_categories, and highlight_level_categories, suitable for building or syncing a local category map.
Promotions
The get_promotions endpoint requires no inputs and returns the current homepage state: a containers array of CMS blocks with key and component configurations representing active banners and featured deal placements, alongside a featured_products array of recommended product objects (which may be empty depending on the active campaign). This is useful for monitoring promotional cadence or tracking which products Tottus is currently featuring.
- Build a price-comparison tool by querying
search_productswith a keyword and extractingpricesfields across matching SKUs. - Sync a local product catalog by iterating
browse_categorywith knowncategory_idvalues obtained fromget_categories. - Monitor brand presence on the Tottus platform by filtering
search_productsresults by thebrandparameter. - Track promotional activity by polling
get_promotionsto detect changes in homepage banners and featured product placements. - Display full product pages in a third-party app using
get_product_detailsto retrievevariants,attributes, andbreadCrumbdata. - Identify delivery availability for specific products by filtering
search_productswithdelivery_typeset toexpressorstandard. - Build a category navigation tree for a Tottus-backed storefront using the nested hierarchy from
get_categories.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Tottus have an official public developer API?+
What does `get_product_details` return beyond basic pricing?+
variants array where each variant includes prices, media URLs, availability status, and specifications. The attributes field adds a structured specifications list and size chart. The breadCrumb array provides the full category path, and a description string carries product copy. The brandName field is also returned at the top level.How does pagination work across the search and browse endpoints?+
search_products and browse_category return a pagination object containing count (total matching items), perPage, totalPerPage, and currentPage. Pass the page integer parameter to advance through result pages. Neither endpoint currently supports adjusting page size — perPage reflects the fixed page size returned by the source.Does the API return customer reviews or ratings for products?+
Is data limited to a specific region or store location within Peru?+
delivery_type filter in search_products (express or standard) is the closest proxy for availability differentiation, but it does not map to specific store branches. You can fork the API on Parse and revise it to add location-based filtering if that data surface becomes available.