Netshoes APInetshoes.com ↗
Access Netshoes.com.br product data, pricing, sizes, colors, customer reviews, and category listings via a structured JSON API with 5 endpoints.
What is the Netshoes API?
The Netshoes API exposes 5 endpoints covering product search, category browsing, full product details, customer reviews, and ZIP code address lookup for Brazil's largest sports retailer. The get_product_details endpoint returns per-size availability, color variants with images, and pricing in BRL — all in a single call by SKU. Whether you're tracking footwear prices or aggregating review sentiment, the API provides structured data ready to query without any browser automation.
curl -X GET 'https://api.parse.bot/scraper/5dc525c9-09fc-479f-b88d-3e7e25d78043/search_products?page=1&query=adidas+tenis' \ -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 netshoes-com-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.netshoes_com_br_api import Netshoes, ProductSummary, Product, Category
netshoes = Netshoes()
# Search for products by keyword
for item in netshoes.productsummaries.search(query="adidas running", limit=5):
print(item.name, item.price, item.brand, item.is_available)
# Navigate from summary to full product details
product = item.details()
print(product.name, product.brand, product.available, product.discount_percentage)
# Inspect color variants
for color in product.colors:
print(color.color, color.sku, color.available)
# Inspect size availability
for size in product.sizes:
print(size.size, size.available, size.price)
# Get customer reviews
review_data = product.reviews.get()
print(review_data.number_of_reviews, review_data.percent_recommended, review_data.summary_ai)
for review in review_data.reviews:
print(review.name, review.rating, review.comments, review.created_at)
# Check delivery address for a ZIP code
delivery = product.check_delivery(zipcode="01310100")
for addr in delivery.address:
print(addr.street, addr.city, addr.state, addr.postal_code)
# Get a product directly by SKU
product = netshoes.products.get(sku="FB9-9335-205")
print(product.name, product.price, product.old_price)
# Browse a category
category = netshoes.category("/tenis/masculino")
for item in category.list_products(limit=10):
print(item.id, item.name, item.price, item.review_count)
Full-text search over Netshoes product catalog. Returns paginated product listings matching the keyword query. Single brand-name queries (e.g. 'nike') may be redirected by the site to a brand landing page and return upstream_error; use more specific multi-word queries (e.g. 'nike tenis') for reliable results. Paginates via integer page parameter.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g. 'tenis', 'adidas running') |
{
"type": "object",
"fields": {
"items": "array of product summaries with id, name, url, brand, price, oldPrice, discount, rating, reviewCount, image, isAvailable, department, productType, sizes",
"total": "integer total number of matching products",
"totalPages": "integer total number of pages",
"currentPage": "integer current page number or null"
},
"sample": {
"data": {
"items": [
{
"id": "FB9-8532-006",
"url": "https://www.netshoes.com.br/p/tenis-adidas-lite-racer-4-0-FB9-8532-006",
"name": "Tenis Adidas Lite Racer 4 0",
"brand": "Adidas",
"image": "https://static.netshoes.com.br/produtos/tenis-adidas-lite-racer-4-0/06/FB9-8532-006/FB9-8532-006_zoom1.jpg",
"price": 209.99,
"sizes": [
"42",
"43",
"39"
],
"rating": 4.74,
"discount": 90,
"oldPrice": 299.99,
"department": "Running",
"isAvailable": true,
"productType": "Tênis",
"reviewCount": 1418
}
],
"total": 2931,
"totalPages": 30,
"currentPage": null
},
"status": "success"
}
}About the Netshoes API
Search and Category Browsing
The search_products endpoint accepts a query string and an optional page integer, returning paginated arrays of product summaries that include id, name, url, brand, price, oldPrice, discount, rating, reviewCount, image, isAvailable, total, totalPages, and currentPage. Note that single brand-name queries like nike may trigger a brand landing page redirect and return an upstream_error; use multi-word queries like nike running tenis for reliable results. The get_product_listings_by_category endpoint works similarly but takes a path parameter (e.g. /tenis/masculino) that mirrors the Netshoes URL structure, and additionally returns a filters array listing the available filter options for that category.
Product Details and Variants
The get_product_details endpoint requires a sku string (e.g. FB9-9335-205) and returns the most detailed response shape in the API: sizes is an array of objects each with size, sku, available, and price, letting you check per-size stock and pricing in one call. colors provides an array of color variants with color, slug, sku, available, and image. The images field returns an array of zoom-resolution image URLs. Pricing fields price and oldPrice are expressed in Brazilian Reais (BRL).
Reviews and Delivery Data
The get_product_reviews endpoint accepts a sku and returns review data aggregated across all color variants sharing the same base product line. The response includes a histogram of star distribution, a surveys array with attribute-level ratings (e.g. comfort, sizing accuracy), individual reviews with rating, comments, photos, createdAt, and userRecommends, plus a summaryAI field containing an AI-generated text summary of the review corpus. The check_delivery_estimate endpoint accepts a sku and an 8-digit Brazilian zipcode (CEP) and returns address data — street, neighborhood, city, state, and ibgeCode — associated with that postal code. Full delivery time and cost estimates are not included in the response.
The Netshoes API is a managed, monitored endpoint for netshoes.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when netshoes.com 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 netshoes.com 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 changes and discounts (
price,oldPrice,discount) across footwear categories on Netshoes - Build a size-availability tracker for specific SKUs using the per-size
availableandpricefields fromget_product_details - Aggregate customer sentiment by combining
summaryAI,percentRecommended, andsurveysfromget_product_reviews - Populate a product comparison tool with brand, rating, review count, and image data from
search_products - Index Netshoes category hierarchies and their filter options using
get_product_listings_by_categorywith categorypathvalues - Validate Brazilian ZIP codes and resolve address metadata using
check_delivery_estimate - Track color variant availability across a product line by iterating
colorsSKUs throughget_product_details
| 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 Netshoes have an official public developer API?+
What does `get_product_reviews` actually return, and are reviews for all color variants combined?+
reviews (individual comments, ratings, photos), a histogram of star distribution, surveys for attribute-level ratings, percentRecommended, and a summaryAI text field. The numberOfReviews integer reflects the total across all variants.Why do single brand-name searches sometimes return an error?+
nike as the query parameter to search_products, the source may redirect to a brand landing page rather than a search results page, causing the endpoint to return an upstream_error. Using a more specific multi-word query such as nike tenis masculino avoids the redirect and returns normal paginated product listings.Does `check_delivery_estimate` return shipping cost or delivery timeframes?+
street, neighborhood, city, state, and ibgeCode — but does not include delivery cost or estimated transit days. Those details depend on product weight, seller logistics, and user session state that the endpoint does not expose. You can fork this API on Parse and revise it to add a dedicated shipping cost and timeframe endpoint if your use case requires it.