Discover/Com API
live

Com APItottus.com.pe

Access Tottus Peru supermarket data: search products, browse categories, fetch product details, and retrieve current promotions via 5 structured endpoints.

Endpoint health
verified 4d ago
search_products
get_promotions
get_product_details
browse_category
get_categories
5/5 passing latest checkself-healing
Endpoints
5
Updated
18d ago

What is the Com 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.

Try it
Page number for pagination
Brand name to filter by, lowercase (e.g., 'tottus', 'xiaomi')
Search keyword (e.g., 'leche', 'arroz', 'smartphone')
Filter by delivery speed: 'express' or 'standard'
api.parse.bot/scraper/e9df91f2-0213-48b2-9c59-a8ae5ac30e1e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/e9df91f2-0213-48b2-9c59-a8ae5ac30e1e/search_products?page=1&brand=tottus&query=leche&delivery_type=express' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace tottus-com-pe-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Tottus Peru SDK — product search, category browsing, and detail drill-down."""
from parse_apis.tottus_peru_api import Tottus, DeliveryType, ProductNotFound

client = Tottus()

# Search for products with express delivery filter
for product in client.catalogs.search(query="arroz", delivery_type=DeliveryType.EXPRESS, limit=3):
    print(product.display_name, product.brand, product.prices[0].price[0])

# Browse a specific category (Arroz = CATG16815)
for product in client.categories.browse(category_id="CATG16815", limit=3):
    print(product.display_name, product.brand)

# Drill into detail of first search result
product = client.catalogs.search(query="leche", limit=1).first()
if product:
    try:
        detail = product.details(slug="leche-uht-tottus-entera-tripack-bolsa-800-ml")
        print(detail.name, detail.brand_name)
        for spec in detail.attributes.specifications:
            print(spec.name, spec.value)
    except ProductNotFound as exc:
        print(f"Product gone: {exc}")

# List all top-level categories
for category in client.categories.list(limit=5):
    print(category.item_name, category.item_url)

print("exercised: catalogs.search / categories.browse / product.details / categories.list")
All endpoints · 5 totalmissing one? ·

Full-text search over Tottus Peru product catalog. Returns paginated product listings with pricing, availability, and media URLs, plus facet filters (category, price range, brand) for progressive refinement. 48 products per page. Brand and delivery_type filters narrow server-side; finer filtering is client-side over the returned list.

Input
ParamTypeDescription
pageintegerPage number for pagination
brandstringBrand name to filter by, lowercase (e.g., 'tottus', 'xiaomi')
queryrequiredstringSearch keyword (e.g., 'leche', 'arroz', 'smartphone')
delivery_typestringFilter by delivery speed: 'express' or 'standard'
Response
{
  "type": "object",
  "fields": {
    "facets": "array of facet filter objects with name, type, and available values for refinement",
    "products": "array of product objects with productId, displayName, brand, prices, availability, mediaUrls, and measurements",
    "pagination": "object with count (total results), perPage, totalPerPage, and currentPage"
  },
  "sample": {
    "data": {
      "facets": [
        {
          "name": "Categoría",
          "type": "SINGLE_SELECT_AS_LINK",
          "values": [
            {
              "count": 259,
              "title": "Desayunos"
            }
          ]
        }
      ],
      "products": [
        {
          "brand": "TOTTUS",
          "skuId": "145417876",
          "prices": [
            {
              "type": "internetPrice",
              "price": [
                "11.99"
              ],
              "symbol": "S/ "
            }
          ],
          "mediaUrls": [
            "https://media.tottus.com.pe/tottusPE/43553621_1/public"
          ],
          "productId": "145417875",
          "displayName": "Leche UHT Tottus Entera Tripack Bolsa 800 mL",
          "availability": {
            "expressShipping": "Envío rápido"
          }
        }
      ],
      "pagination": {
        "count": 437,
        "perPage": 48,
        "currentPage": 1,
        "totalPerPage": 48
      }
    },
    "status": "success"
  }
}

About the Com API

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.

Reliability & maintenanceVerified

The Com API is a managed, monitored endpoint for tottus.com.pe — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tottus.com.pe changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official tottus.com.pe API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price-comparison tool by querying search_products with a keyword and extracting prices fields across matching SKUs.
  • Sync a local product catalog by iterating browse_category with known category_id values obtained from get_categories.
  • Monitor brand presence on the Tottus platform by filtering search_products results by the brand parameter.
  • Track promotional activity by polling get_promotions to detect changes in homepage banners and featured product placements.
  • Display full product pages in a third-party app using get_product_details to retrieve variants, attributes, and breadCrumb data.
  • Identify delivery availability for specific products by filtering search_products with delivery_type set to express or standard.
  • Build a category navigation tree for a Tottus-backed storefront using the nested hierarchy from get_categories.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Tottus have an official public developer API?+
Tottus does not publish an official public developer API or documented data access program for third-party developers.
What does `get_product_details` return beyond basic pricing?+
It returns a 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?+
Both 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?+
Not currently. The API covers product data including pricing, availability, specifications, and variants, but does not expose user reviews or star ratings. You can fork this API on Parse and revise it to add an endpoint targeting Tottus product review data.
Is data limited to a specific region or store location within Peru?+
The API reflects the national tottus.com.pe catalog. Store-level inventory or pricing by physical location is not currently exposed. The 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.
Page content last updated . Spec covers 5 endpoints from tottus.com.pe.
Related APIs in EcommerceSee all →
continente.pt API
Browse and retrieve product data from Continente.pt, Portugal's leading supermarket chain. Search by keyword, browse categories, fetch full product details including nutritional info, and access current promotions and new arrivals.
soriana.com API
Search and browse Soriana's product catalog to find items, compare prices, explore departments, and discover available coupons. Get detailed product information and calculate your basket totals to plan your shopping efficiently.
walmart.com.mx API
Search and browse Walmart Mexico's product catalog to access real-time pricing, availability, and detailed product information across all categories. Find similar items and compare options to make informed shopping decisions.
tesco.com API
Search and browse Tesco's complete grocery catalog to find products with detailed nutritional information, ingredient lists, and customer reviews. Explore product suggestions via autocomplete and browse items organized by category to make informed shopping decisions.
carrefour.it API
Search and browse Carrefour Italy's product catalog across categories, view detailed product information, find nearby store locations, and discover current promotions all in one place. Explore online grocery selections and compare products by price, brand, and availability.
carrefour.com.ar API
Search for products across Carrefour's online store and access detailed product information, categories, and news articles about the retailer. You can also retrieve financial data about Carrefour to stay informed on company performance and market news.
carrefour.eu API
Search and browse Carrefour's European online product catalog to access pricing, promotions, availability, and detailed product information including nutritional data. Retrieve comprehensive product details across categories to compare prices and find current deals in real-time.
ripley.com API
Search for products across Ripley.cl's catalog and retrieve detailed information like prices, descriptions, and availability for any item. Perfect for comparing products, tracking pricing, or integrating Ripley's inventory into your own applications.