Discover/Centauro API
live

Centauro APIcentauro.com.br ↗

Search Centauro's Brazilian sports retail catalog and retrieve product details: colors, Brazilian sizing, per-size stock, seller names, and BRL prices via 2 endpoints.

Endpoint health
verified 1h ago
search_products
get_product_details
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the Centauro API?

The Centauro API provides 2 endpoints for accessing the centauro.com.br sports retail catalog. Use search_products to run keyword searches across footwear, apparel, and accessories with facet filters for size, brand, gender, and seller, then call get_product_details to retrieve full colorway records including Brazilian sizes, per-size stock status, seller attribution, and card, Pix, and original prices in BRL.

This call costs1 credit / call— charged only on success
Try it
1-based page number.
Size facet (Tamanho). Brazilian shoe size such as 41 or 41.5, or apparel letter size such as G; comma-separated values select several sizes. Case-insensitive; matched exactly against the site's size facet.
Result ordering, mirroring the site's sort menu.
Brand facet slug (Marca) as the site encodes it: lowercase, no spaces or accents (e.g. nike, newbalance). Comma-separated values select several brands. Discover slugs from `filters[attribute=Marca].values[].value` in a response.
Free-text search term, in Portuguese as used on the site (e.g. tenis corrida, shorts corrida, regata, meia).
Gender facet (Gênero) slug: masculino, feminino or unissex (values confirmed from the site's facet list).
Seller facet slug (Vendido por), e.g. centauro for products sold by Centauro itself; marketplace sellers use their own slug discoverable from `filters[attribute=Vendido por].values[].value`.
Comma-separated raw facet pairs in attribute:value form taken from `filters[].values[].facet` of a previous response (e.g. produto:meia,preco:r300r400). Lets callers apply any facet the site offers beyond the named parameters.
Products per page; values above 100 are clamped to 100.
→ api.parse.bot/scraper/fbcc7442-419a-4d5f-8acc-d316a4c96154/<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/fbcc7442-419a-4d5f-8acc-d316a4c96154/search_products?size=41&query=tenis+corrida' \
  -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 centauro-com-br-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: Centauro sports catalog — search, browse, and drill into product details."""
from parse_apis.centauro_com_br_api import Centauro, SortOrder, ProductNotFound

client = Centauro()

# Search for running shoes sorted by discount, capped at 5 results.
for summary in client.product_summaries.search(query="tenis corrida", sort=SortOrder.DISCOUNT_DESC, limit=5):
    print(summary.name, summary.brand, f"R${summary.card_price_brl}", f"-{summary.discount_percent}%")

# Drill into the first hit's full detail via the typed summary→detail link.
hit = client.product_summaries.search(query="chuteira society", limit=1).first()
if hit is not None:
    product = hit.details()
    print(product.name, product.color, product.gender)

    # Explore available sizes and per-size pricing.
    for sz in product.sizes:
        if sz.in_stock:
            print(f"  Size {sz.size}: card R${sz.card_price_brl}, pix R${sz.pix_price_brl}, seller {sz.seller_name}")

    # Browse color variants of the same model.
    for cv in product.colors:
        print(f"  Color: {cv.color} — {cv.url}")

# Scalar search_page gives access to facet filters alongside the product list.
result = client.product_summaries.search_page(query="meia corrida", per_page=3)
print(f"{result.total_results} results across {result.total_pages} pages")
for f in result.filters:
    print(f"  Filter '{f.attribute}': {[v.label for v in f.values[:3]]}")

# Point lookup by a known product_id, with typed error handling.
try:
    detail = client.products.get(product_id="9976EA31")
    print(detail.name, detail.brand, f"{len(detail.images)} images")
except ProductNotFound:
    print("Product not found on the Centauro catalog.")

print("exercised: search / search_page / get / details / sizes / colors / filters")
All endpoints · 2 totalmissing one? ·

Searches the Centauro catalog by keyword and returns one page of product summaries (one row per product colorway, e.g. one row per shoe model+color). Each row carries the product_id consumed by get_product_details, the product page URL, seller name, the card price (current price paid by card), the explicitly labelled Pix price (null when the seller offers no Pix discount), the original price before promotion, and discount percentage. Facet filters (size, brand, gender, seller, or any raw attribute:value pair in `filters`) are applied by the site and combined with AND across attributes; the response's `filters` list exposes every facet the site offers for the current result set with its wire value and count, so unknown slugs can be discovered from a first unfiltered call. Shoe sizes are Brazilian numeric sizes (e.g. 41); apparel sizes are letter sizes (P, M, G, GG); socks are usually listed under range labels (e.g. 39-43), so for socks filter by `produto:meia` through `filters` and read the exact size range from the product name or get_product_details. Pagination is page-based: `page` (1-based) and `per_page` (max 100); `total_results` and `total_pages` come from the site, `has_more` tells whether a next page exists. A search term with no matching products returns an empty `products` list with total_results 0 (valid empty result). One round trip per call.

Input
ParamTypeDescription
pageinteger1-based page number.
sizestringSize facet (Tamanho). Brazilian shoe size such as 41 or 41.5, or apparel letter size such as G; comma-separated values select several sizes. Case-insensitive; matched exactly against the site's size facet.
sortstringResult ordering, mirroring the site's sort menu.
brandstringBrand facet slug (Marca) as the site encodes it: lowercase, no spaces or accents (e.g. nike, newbalance). Comma-separated values select several brands. Discover slugs from `filters[attribute=Marca].values[].value` in a response.
queryrequiredstringFree-text search term, in Portuguese as used on the site (e.g. tenis corrida, shorts corrida, regata, meia).
genderstringGender facet (Gênero) slug: masculino, feminino or unissex (values confirmed from the site's facet list).
sellerstringSeller facet slug (Vendido por), e.g. centauro for products sold by Centauro itself; marketplace sellers use their own slug discoverable from `filters[attribute=Vendido por].values[].value`.
filtersstringComma-separated raw facet pairs in attribute:value form taken from `filters[].values[].facet` of a previous response (e.g. produto:meia,preco:r300r400). Lets callers apply any facet the site offers beyond the named parameters.
per_pageintegerProducts per page; values above 100 are clamped to 100.
Response
{
  "type": "object",
  "fields": {
    "page": "page returned (1-based)",
    "sort": "sort key applied",
    "query": "echo of the search term",
    "filters": "array of facets offered by the site for this result set: attribute label and values [{label, value, facet, count, selected}]",
    "has_more": "true when a next page exists",
    "per_page": "page size actually used by the site",
    "products": "array of product summaries: product_id (model+color id, input of get_product_details), model_code, color_id, name, brand, url, status, seller_name, card_price_brl, pix_price_brl (null when no Pix discount), original_price_brl, discount_percent, installment {quantity, price}, categories, tags, colors_count, sizes_count, skus, image",
    "total_pages": "number of pages at this page size",
    "total_results": "total products matching on the site (source count)",
    "applied_filters": "list of attribute:value facet pairs sent to the site"
  },
  "sample": {
    "data": {
      "page": 1,
      "sort": "relevance",
      "query": "tenis corrida",
      "filters": [
        {
          "values": [
            {
              "count": 124,
              "facet": "marca:nike",
              "label": "Nike",
              "value": "nike",
              "selected": false
            }
          ],
          "attribute": "Marca"
        },
        {
          "values": [
            {
              "count": 4601,
              "facet": "tamanho:41",
              "label": "41",
              "value": "41",
              "selected": true
            }
          ],
          "attribute": "Tamanho"
        }
      ],
      "has_more": true,
      "per_page": 3,
      "products": [
        {
          "url": "https://www.centauro.com.br/tenis-de-corrida-unissex-under-armour-starlight-2-m18cjo-mktp.html?cor=04",
          "name": "Tênis de Corrida Unissex Under Armour Starlight 2",
          "skus": [
            "M18CJO040347",
            "M18CJO040354",
            "M18CJO040446"
          ],
          "tags": [],
          "brand": "Under Armour",
          "image": "https://imgcentauro-a.akamaihd.net/230x230/M18CJO04A1.jpg",
          "status": "available",
          "color_id": "04",
          "categories": [
            "Corrida / Caminhada",
            "Calçados",
            "Tênis"
          ],
          "model_code": "M18CJO",
          "product_id": "M18CJO04",
          "installment": {
            "price": 100,
            "quantity": 3
          },
          "seller_name": "Under Armour",
          "sizes_count": 11,
          "colors_count": 1,
          "pix_price_brl": 269.99,
          "card_price_brl": 299.99,
          "discount_percent": 40,
          "original_price_brl": 449.99
        }
      ],
      "total_pages": 1534,
      "total_results": 4601,
      "applied_filters": [
        "tamanho:41"
      ]
    },
    "status": "success"
  }
}

About the Centauro API

Search and Filter the Centauro Catalog

The search_products endpoint accepts a required query parameter (in Portuguese, e.g. tenis corrida, shorts corrida) and returns paginated product summaries. Optional facet parameters — size (Brazilian shoe sizes like 41, 41.5, or apparel letter sizes like G), brand (lowercase slug, e.g. nike, newbalance), gender (masculino, feminino, unissex), and seller — narrow results before they come back. The response includes total_results, total_pages, has_more, and a filters array of available facets with label, value, facet slug, count, and selected state, which you can feed back into subsequent requests via the filters parameter to chain refinements.

Product Detail Records

get_product_details takes a product_id exactly as returned in search_products results (a model+color identifier such as 9976EA31) and returns a single colorway record. The sizes array covers every Brazilian size offered for that color, with fields for size, size_code, sku, ean, in_stock, is_available, is_marketplace, seller_name, seller_code, and the three price points — card price, Pix price, and original (list) price — all in BRL. The colors array lists alternate colorways with their own product_id values, letting you traverse the full color range without a new search.

Coverage and Data Shape

Response fields include brand, group (e.g. Calçados), gender, color (in Portuguese), tags for promotional labels, and images with high-resolution URLs. The applied_filters field echoes the facet pairs actually sent, which is useful for debugging multi-filter queries. Pagination is 1-based via the page parameter, and sort mirrors the site's sort menu options.

Reliability & maintenanceVerified

The Centauro API is a managed, monitored endpoint for centauro.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when centauro.com.br 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 centauro.com.br 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
1h ago
Latest check
2/2 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
  • Track card vs. Pix vs. original price differences across Nike and Adidas footwear on Centauro
  • Monitor per-size stock availability for specific shoe models to alert when a size comes back in stock
  • Build a size-availability aggregator by querying multiple brands with the size facet filter
  • Compare seller prices for the same product across Centauro and marketplace sellers using is_marketplace and seller_name fields
  • Index Centauro's catalog by gender and product group for a Brazilian sports gear discovery app
  • Extract EAN codes from the sizes array to cross-reference products against other Brazilian retailers
  • Enumerate all colorways of a product model by traversing the colors array returned by get_product_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Centauro offer an official public developer API?+
Centauro does not publish a public developer API or developer portal. There is no documented REST or GraphQL API available to third parties on centauro.com.br.
What price fields does get_product_details return, and are they per-size?+
Yes, pricing is returned at the size level inside the sizes array. Each size entry carries a card price (the current promoted price), a Pix price, and an original price, all in BRL. This means the same product colorway can have different effective prices depending on which seller fulfils a given size, reflected in the is_marketplace and seller_name fields on each size row.
How do facet filters work across multiple search calls?+
Each search_products response includes a filters array of available facets for that result set, with each value carrying a facet slug. You can pass those slugs back as comma-separated attribute:value pairs in the filters parameter on a follow-up request to stack refinements. The applied_filters field in the response echoes what was actually applied, so you can verify the filter round-trip.
Does the API include customer reviews or ratings for products?+
Not currently. The API covers product catalog data, Brazilian sizing, stock status, pricing, seller attribution, and color variations. You can fork it on Parse and revise it to add a reviews endpoint if that data is needed.
Is product data limited to items sold directly by Centauro, or does it include marketplace sellers?+
Both are included. The seller filter parameter accepts centauro for first-party listings or marketplace seller slugs to isolate third-party offers. At the size level in get_product_details, the is_marketplace boolean and seller_name field identify which seller fulfils each size, so a single colorway can mix first-party and marketplace stock across its size run.
Page content last updated . Spec covers 2 endpoints from centauro.com.br.
Related APIs in EcommerceSee all →
netshoes.com API
Search and browse products on Netshoes.com.br by keyword or category. Retrieve detailed product information including specifications, pricing, available sizes and colors, customer reviews, and delivery estimates by ZIP code.
nike.com API
Search the Nike product catalog by keyword and retrieve detailed product information including pricing, sizing, color variants, and availability. Use autocomplete suggestions to refine queries and discover relevant products on Nike.com.
cea.com.br API
Search and browse C&A Brazil's product catalog across categories and subcategories, view detailed product information including prices and specifications, and read customer reviews to help with your shopping decisions. Find exactly what you're looking for with powerful product search functionality backed by the complete cea.com.br inventory.
kabum.com.br API
Search and browse KaBuM!'s vast electronics catalog, get detailed product specifications and customer reviews, and explore categories and departments. Find exactly what you need with search suggestions and deep product information from Brazil's top electronics retailer.
adidas.cl API
Browse and search Adidas Chile's product catalog by filtering across gender, sport, and category options, then view detailed information for any item including pricing and specifications. Access complete product listings with full pagination support to explore the entire collection.
pichau.com.br API
Search for electronics products on Pichau.com.br by keyword and browse paginated results to find exactly what you're looking for. Get detailed product information including specifications, pricing, and availability for any item in their Brazilian electronics catalog.
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.
coppel.com API
Search and browse Coppel's product catalog by keyword to find items with prices, images, and detailed product information, with flexible sorting and pagination options. Get real-time access to Mexico's largest department store inventory to compare products and prices effortlessly.