Net-A-Porter Scraper API
Extract structured product data from public Net-A-Porter pages as JSON. Send a product URL and receive the fields exposed by the target page.
Decide before you build
- Endpoint
- POST /scrape/retail
- Scrapers
- Net-A-Porter product pages
- Cost
- from 1 credit / call
- Free plan
- 1,000 credits / month
- Call pattern
- sync, POST
- On failure
- credits refunded
- Response format
- JSON
- Concurrency
- by plan tier
E-commerce & Retail requests are synchronous. Cost depends on the options selected for the request.
Try the Net-A-Porter scraper on your own targetRun a request against a public product page and inspect the JSON before you integrate.
Open the live testWhat you get back
product dataNet-A-Porter data in JSON
Retrieve the product information exposed by the public Net-A-Porter page.
- Title, description and product images
- Price, currency and stock when available
- Brand, identifiers and product variations
- Categories and seller information
Request optionsControl how the page is collected
Use rendering or proxy options only when the target requires them.
- JavaScript rendering with useChrome
- Premium proxy and country targeting
- Public URL input; no account login required
- Structured JSON in the same response
Call the Net-A-Porter scraper
Send a public product URL to the E-commerce & Retail endpoint. The API returns the result in the same response.
# POST - scrape a public product page
curl -X POST "https://api.scraping-bot.io/scrape/retail" \
-u "yourUsername:yourApiKey" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/product/123",
"options": {
"useChrome": false,
"premiumProxy": false
}
}'Code example
Authenticate with your ScrapingBot username and API key, then read the returned JSON.
const auth = "Basic " + Buffer.from("yourUsername:yourApiKey").toString("base64");
const response = await fetch("https://api.scraping-bot.io/scrape/retail", {
method: "POST",
headers: { "Content-Type": "application/json", Authorization: auth },
body: JSON.stringify({ url: "https://example.com/product/123", options: { useChrome: false, premiumProxy: false } }),
});
const result = await response.json();Run this call in two minutesCreate an account, copy your API key, then use the example above.
Get your API keyRequest parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Full public page URL, including https://. |
options.useChrome | boolean | false | Render JavaScript when the target page requires a browser. |
options.premiumProxy | boolean | false | Use a premium proxy for targets that require it. |
options.proxyCountry | string | — | Country targeting with a premium proxy. |
Response example
Example returned by the legacy Net-A-Porter scraper documentation.
{
"data": {
"title": "BALENCIAGA Le City medium textured-leather tote | NET-A-PORTER",
"description": "Shop BALENCIAGA Le City medium textured-leather tote, Explore the latest BALENCIAGA women's collection today on NET A PORTER",
"image": "https://www.net-a-porter.com/variants/images/1647597345547039/in/w2000_a3-4_q60.jpg",
"price": 2350,
"shippingFees": null,
"currency": "EUR",
"isInStock": true,
"EAN13": null,
"ASIN": null,
"ISBN": null,
"color": "Sand",
"brand": "BALENCIAGA",
"category": null,
"categories": [],
"siteURL": "https://www.net-a-porter.com/en-fr/shop/product/balenciaga/bags/tote-bags/le-city-medium-textured-leather-tote/1647597345547039",
"siteHtml": null,
"productHasVariations": null,
"statusCode": 200,
"isFinished": null,
"isDead": null,
"htmlLength": 783882,
"captchaFound": true,
"isHtmlPage": true,
"host": "www.net-a-porter.com",
"images": [
"https://www.net-a-porter.com/variants/images/1647597345547039/e2/w2000_a3-4_q60.jpg",
"https://www.net-a-porter.com/variants/images/1647597345547039/in/w2000_a3-4_q60.jpg",
"https://www.net-a-porter.com/variants/images/1647597345547039/ou/w2000_a3-4_q60.jpg",
"https://www.net-a-porter.com/variants/images/1647597345547039/bk/w2000_a3-4_q60.jpg",
"https://www.net-a-porter.com/variants/images/1647597345547039/cu/w2000_a3-4_q60.jpg",
"https://www.net-a-porter.com/variants/images/1647597345547039/e1/w2000_a3-4_q60.jpg"
],
"originalPrice": null
}
}Credits, failures and limits
| Case | Credits | Notes |
|---|---|---|
| Standard request | from 1 credit / call | Current plans start at this rate. |
| JavaScript rendering | Additional credits | Enable only when the target requires it. |
| Premium proxy | Additional credits | Use for targets that require a premium proxy. |
| Unsuccessful request | Not deducted | Only successful requests count towards the monthly limit. |
E-commerce & Retail API or Raw HTML scraper?
| E-commerce & Retail API | Raw HTML scraper | |
|---|---|---|
| Endpoint | /scrape/retail | /scrape/raw-html |
| Returns | Structured product JSON | Rendered page HTML |
| Flow | One synchronous request | One synchronous request |
| Starting cost | from 1 credit / call | from 1 credit / call |
| Use it when | You need parsed product fields | You need your own extraction logic |
Questions about the Net-A-Porter API
- Does the Net-A-Porter scraper access private data?
- No. This guide covers public product pages and does not require signing in to a Net-A-Porter account.
- Are all fields always available?
- No. Returned data depends on what the public Net-A-Porter page exposes and what the extractor supports.
- Can I collect multiple pages at once?
- Each request takes one public URL. Submit one request per page you need to collect.
- When should I use a premium proxy?
- Use it only when a target requires it or when you need country targeting for a public page.
Source: ScrapingBot API documentation.
Other e-commerce & retail scrapers
Browse the E-commerce & Retail category for the complete list of guides, or visit the ScrapingBot blog for implementation guides.
Trusted by developers using E-commerce & Retail data.
Customer reviews apply to ScrapingBot's service overall, not specifically to this scraper.
Start scraping Net-A-Porter today
1,000 free credits every month. No card required, cancel anytime.
