Pichau APIpichau.com.br ↗
Search Pichau.com.br products by keyword and retrieve detailed pricing, stock status, categories, and images via two structured endpoints.
What is the Pichau API?
The Pichau API provides two endpoints to access product data from Pichau.com.br, a Brazilian electronics and hardware retailer. search_products returns up to 36 items per page with pricing, brand, categories, and stock status for any keyword query. get_product_details returns a full product record including PIX discount pricing, installment breakdown, open-box flag, and category path — covering 12 distinct fields per product.
curl -X GET 'https://api.parse.bot/scraper/6fb9c2c9-3331-417f-badd-03d7f06152c9/search_products?page=1&query=monitor' \ -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 pichau-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.pichau_products_api import Pichau, Product, ProductNotFound
pichau = Pichau()
# Search for products by keyword
for product in pichau.products.search(query="monitor", limit=5):
print(product.name, product.sku, product.stock_status)
print(product.price.pix_price, product.price.current_price)
# Get full details for a specific product by url_key
detail = pichau.products.get(url_key="mesa-de-colo-para-notebook-fortrek-lapdesk-preto-84989")
print(detail.name, detail.brand, detail.is_openbox)
print(detail.price.pix_price, detail.price.pix_discount_percent)
for cat in detail.categories:
print(cat.name, cat.path)
# Refresh an already-fetched product
refreshed = detail.refresh()
print(refreshed.name, refreshed.url)
Full-text search over Pichau product catalog by keyword. Returns up to 36 products per page with pricing (PIX discount, installments), availability, brand, categories, and product URL keys for drill-down. Paginates via integer page counter. An unmatched query returns zero results (not an error).
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based) |
| query | string | Search query keyword |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"query": "string, the search query used",
"products": "array of product objects with id, sku, name, url, url_key, brand, price, categories, is_openbox, stock_status, image_url",
"total_count": "integer, total number of matching products",
"total_pages": "integer, total number of pages available",
"products_on_page": "integer, number of products returned on this page"
},
"sample": {
"data": {
"page": 1,
"query": "monitor",
"products": [
{
"id": 65107,
"sku": "22U403A-B",
"url": "https://www.pichau.com.br/monitor-lg-home-office-22-pol-va-fhd-5ms-120hz-hdmi-22u403a-b",
"name": "Monitor LG Home Office, 22 Pol, VA, FHD, 5ms, 120Hz, HDMI, 22U403A-B",
"brand": "LG",
"price": {
"pix_price": 559.99,
"current_price": 658.81,
"special_price": 658.81,
"original_price": 764.69,
"max_installments": 12,
"installment_price": 54.9,
"pix_discount_percent": 15
},
"url_key": "monitor-lg-home-office-22-pol-va-fhd-5ms-120hz-hdmi-22u403a-b",
"image_url": null,
"categories": [
{
"name": "Monitores",
"path": "monitores"
},
{
"name": "Monitor Casa e Escritório",
"path": "monitores/monitor-casa-e-escritorio"
}
],
"is_openbox": false,
"stock_status": "IN_STOCK"
}
],
"total_count": 1065,
"total_pages": 30,
"products_on_page": 36
},
"status": "success"
}
}About the Pichau API
Searching Products
The search_products endpoint accepts a query string and an optional page integer (1-based). Each response includes total_count, total_pages, and products_on_page to support pagination, along with an array of product objects. Each product object carries id, sku, name, url, url_key, brand, price, categories, is_openbox, stock_status, and image_url. The url_key field is the slug used to fetch full product details.
Product Details
get_product_details takes a single required parameter, url_key, which maps directly to the url_key values returned in search results (e.g. samsung-odyssey-g3-monitor-24-f24g35tfwl). The response expands the price field into structured sub-fields: pix_price, pix_discount_percent, original_price, current_price, special_price, max_installments, and installment_price. This makes it straightforward to display both cash and installment pricing as Pichau presents them on-site. The categories array includes each category's name and path.
Coverage and Limitations
Both endpoints cover Pichau's Brazilian electronics catalog including CPUs, GPUs, monitors, peripherals, and components. The is_openbox boolean flag distinguishes refurbished open-box listings from new stock. Product descriptions, full specification sheets, and customer reviews are not returned by either endpoint — only the fields listed in the response schemas above.
The Pichau API is a managed, monitored endpoint for pichau.com.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pichau.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 pichau.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?+
- Track price changes on specific products by polling
get_product_detailsand comparingcurrent_priceandpix_priceover time - Build a GPU availability monitor using
search_productswith hardware-specific queries and thestock_statusfield - Compare PIX cash pricing against installment pricing using
pix_price,pix_discount_percent, andinstallment_pricefrom product detail responses - Identify open-box deals by filtering
search_productsresults whereis_openboxis true - Aggregate Pichau category data by collecting the
categories[*].pathfields across paginated search results - Populate a Brazilian electronics comparison tool with brand, SKU, and pricing data from both endpoints
- Monitor total inventory breadth for a product segment using
total_countreturned from keyword searches
| 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 Pichau.com.br have an official public developer API?+
What pricing fields does `get_product_details` return, and how do they differ?+
get_product_details returns a price object with seven sub-fields: original_price (list price before any discount), current_price (active selling price), special_price (promotional price when applicable), pix_price (cash price paid via PIX), pix_discount_percent (percentage reduction for PIX payment), max_installments (maximum number of installment periods), and installment_price (per-period amount). This lets you display both the installment and cash-discount pricing that Pichau shows on product pages.Does the API return product descriptions or technical specifications?+
How does pagination work in `search_products`?+
total_count, total_pages, and products_on_page. Pass the page parameter (1-based integer) to iterate through results. Each page returns a maximum of 36 products. If page is omitted, the first page is returned by default.