Marisa APImarisa.com.br ↗
Access Marisa.com.br product data via API. Search listings, browse categories, retrieve prices, sizes, stock, and the full category tree for Brazil's fashion retailer.
What is the Marisa API?
The Marisa.com.br API provides 4 endpoints covering product search, category browsing, product detail retrieval, and navigation structure for one of Brazil's major fashion retail sites. The get_product_details endpoint returns per-size stock availability, current and original prices, breadcrumb trails, and image arrays for any product ID. Whether you're building a price tracker, category crawler, or inventory monitor, these endpoints give structured access to Marisa's catalog.
curl -X GET 'https://api.parse.bot/scraper/f8117216-4a07-4e57-902a-c6e41e60a8b1/search_products?page=1&query=vestido' \ -H 'X-API-Key: $PARSE_API_KEY'
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 marisa-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.
from parse_apis.marisa.com.br_scraper_api import Marisa, Product, ProductSummary, Category
marisa = Marisa()
# Browse the main category tree
for category in marisa.categories.list():
print(category.label, category.link)
# Search for dresses
for item in marisa.productsummaries.search(query="vestido", limit=5):
print(item.name, item.price, item.product_id)
# Get full details for the first result
detail = item.details()
print(detail.name, detail.current_price, detail.original_price)
for size in detail.sizes:
print(size.label, size.stock, size.available)
# Browse a category
for product in marisa.productsummaries.by_category(category_path="/feminino/c/roupas", limit=3):
print(product.name, product.price, product.url)
# Fetch a product directly by ID
full = marisa.products.get(product_id="10058547014")
print(full.name, full.current_price, full.breadcrumb)
Full-text search over Marisa.com.br product catalog. Returns paginated product listings matching the keyword. Each page contains up to ~36 products. The total count is not always available from the site.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-indexed) |
| queryrequired | string | Search keyword (e.g. 'vestido', 'blusa', 'calcinha') |
{
"type": "object",
"fields": {
"page": "integer, the current page number",
"query": "string, the search query used",
"total": "string or null, total number of results if available from site",
"products": "array of product objects with name, product_id, price, category, url, image"
},
"sample": {
"data": {
"page": 1,
"query": "vestido",
"total": null,
"products": [
{
"url": "https://www.marisa.com.br/vestido-curto-feminino-manga-curta-drapeado-marisa-vinho-vermelho/p/10058547014",
"name": "Vestido Curto Feminino Manga Curta Drapeado Marisa Vinho",
"image": "https://images2.marisa.com.br/medias/sys_master/images/images/h41/hed/27081897377822/VEST-MC-FRANZIDO-VINHO-VIN-P-10058547090-C1.jpg",
"price": 64.99,
"category": "Vestido Curto - Vestidos - Roupa Feminina - Moda Feminina - Marisa - Marcas",
"product_id": "10058547014"
}
]
},
"status": "success"
}
}About the Marisa API
Search and Category Browsing
The search_products endpoint accepts a query string — such as vestido or blusa — and an optional page integer for pagination. Each response includes a products array where every item carries name, product_id, price, category, url, and image. The total field reports the number of matching results when available, letting you estimate how many pages to iterate. The get_category_products endpoint works similarly but takes a category_path string (e.g. /feminino/c/roupas) to browse a specific section of the catalog rather than a search query.
Product Detail
The get_product_details endpoint requires a product_id and accepts an optional slug for URL construction. It returns current_price, original_price, a sizes array (each element has sku, label, stock, and available), an images array of full-size URLs, a breadcrumb array of label strings indicating the product's position in the taxonomy, and a metadata object drawn from page-level data. This is the endpoint to use when you need to determine whether a specific size is in stock or compare sale price against list price.
Category Tree
The get_category_tree endpoint takes no inputs and returns a category_tree array. Each element has a label string and a link string (or null) corresponding to a first-level navigation item. This gives a stable snapshot of Marisa's top-level taxonomy, which you can use to seed category crawls via get_category_products.
The Marisa API is a managed, monitored endpoint for marisa.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when marisa.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 marisa.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor price drops by comparing
current_priceandoriginal_pricefields across product IDs over time. - Track per-size stock availability using the
availableandstockfields inget_product_details. - Build a category crawler by seeding paths from
get_category_treeand paginating throughget_category_products. - Aggregate fashion product listings for a Brazilian retail comparison engine using
search_products. - Extract product images and breadcrumbs for catalog enrichment or taxonomy mapping.
- Identify which top-level categories Marisa carries by calling
get_category_treewithout any parameters. - Compile keyword-based product datasets (e.g. all results for
calcinhaorpijama) with pagination viasearch_products.
| 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 | 100 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 Marisa have an official public developer API?+
What does `get_product_details` return for sizes, and does it distinguish out-of-stock from unavailable?+
sizes array includes a label (e.g. 'P', 'M', '38'), a sku string, a boolean available field, and a stock value. The available flag indicates whether the size can be purchased; stock gives a numeric quantity when exposed.Does the API return customer reviews or ratings for products?+
How does pagination work across endpoints that return product lists?+
search_products and get_category_products accept a page integer (1-indexed). The response echoes back the current page. For search_products, a total field is included when available so you can calculate the total page count; get_category_products does not currently return a total count in its response shape.Does `get_category_tree` return nested subcategories?+
label and link. Deeper subcategory levels are not included in the response. You can fork it on Parse and revise it to walk the subcategory links and build a deeper tree.