River Island APIriverisland.com ↗
Fetch River Island product details, stock levels, colour variants, and size charts via two clean API endpoints. GBP pricing, images, and material data included.
What is the River Island API?
The River Island API gives developers structured access to product and sizing data across riverisland.com through 2 endpoints. The get_product endpoint returns over 15 fields per product — including price, stock status, all size variants with inventory quantities, sibling colour options, material composition, wash care instructions, and images. The get_size_chart endpoint resolves the size guide referenced in a product response into labelled measurement tables.
curl -X GET 'https://api.parse.bot/scraper/9fbc85d6-2693-4ce6-9724-be09c14aef2c/get_product?product_url=https%3A%2F%2Fwww.riverisland.com%2Fp%2Fcream-2-in-1-knit-tank-top-satin-midi-dress-940481' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the full details of one River Island product identified by its product page URL: name, colour, price, bullet details, model info, material composition, wash care, stock flags, category breadcrumbs, images, every size variant with its stock quantity, sibling colour options (each with its own product_url), and the name of the size guide the product uses. By default the complete size chart for that guide is fetched as well and returned under size_chart as one or more tables of labelled rows (size conversions such as UK/EU/US and body measurements in cm and inches); set include_size_chart=false to skip that second lookup, in which case the size_chart key is omitted. size_chart is null when the product has no size guide. Two round trips per call with the chart, one without. A URL whose product does not exist yields a stale_input (not found) result.
| Param | Type | Description |
|---|---|---|
| product_urlrequired | string | Full riverisland.com product page URL, of the shape https://www.riverisland.com/p/<product-name>-<numeric product id>. A path without the host (e.g. /p/<name>-<id>) is also accepted. |
| include_size_chart | boolean | When false the size chart lookup is skipped and the size_chart key is omitted from the response. |
{
"type": "object",
"fields": {
"name": "product display name",
"price": "object: value (number, site currency GBP as shown in formatted), formatted (display string with currency symbol), has_price_range (boolean)",
"badges": "array of promotional badge strings",
"brands": "array of brand names (may be empty)",
"colour": "product colour name",
"images": "array of {type, url} product images",
"videos": "array of product video entries (usually empty)",
"details": "array of detail bullet strings",
"in_stock": "boolean, any variant in stock",
"variants": "array of size variants: variant_id, size (display label), dimensions (object of dimension name -> value, e.g. Size and Fit), inventory_quantity (integer), in_stock (boolean), price_formatted",
"wash_care": "array of care instruction strings",
"categories": "array of category names from department to sub-category",
"product_id": "numeric product identifier as a string; matches the trailing digits of the product URL",
"size_chart": "present unless include_size_chart=false; null when the product has no size guide; otherwise object with size_guide_name, display_name, tables (array of {title, rows:[{label, values[]}]}) and notes (array of strings)",
"breadcrumbs": "array of {title, path} site-relative breadcrumb entries",
"description": "newline-separated plain-text description bullets",
"product_url": "canonical product page URL",
"purchasable": "boolean, product can be bought online",
"colour_options": "array of sibling colourways: product_id, colour, name, product_url, swatch_image",
"is_coming_soon": "boolean",
"our_model_wears": "model size/height sentence, or null",
"size_guide_name": "identifier of the size guide this product uses (input for get_size_chart), or null",
"material_composition": "array of material percentage strings"
},
"sample": {
"data": {
"name": "Cream 2 In 1 Knit Tank Top Satin Midi Dress",
"price": {
"value": 62,
"formatted": "£62.00",
"has_price_range": false
},
"badges": [],
"brands": [
"River Island"
],
"colour": "Cream",
"images": [
{
"url": "https://images.riverisland.com/is/image/RiverIsland/cream-2-in-1-knit-tank-top-satin-midi-dress_940481_main",
"type": "Main"
}
],
"videos": [],
"details": [
"Relaxed fit",
"Crew neck",
"2 in 1 style",
"Knitted",
"Sleeveless"
],
"in_stock": true,
"variants": [
{
"size": "XS (UK)",
"in_stock": true,
"dimensions": {
"Size": "XS"
},
"variant_id": "18378",
"price_formatted": "£62.00",
"inventory_quantity": 87
},
{
"size": "XL (UK)",
"in_stock": false,
"dimensions": {
"Size": "XL"
},
"variant_id": "20336",
"price_formatted": "£62.00",
"inventory_quantity": 0
}
],
"wash_care": [
"Cool iron",
"Machine wash at max 30°C gentle",
"Do not bleach",
"Dry flat",
"Do not dry clean"
],
"categories": [
"women",
"Dresses",
"Slip & Cami Dresses"
],
"product_id": "940481",
"size_chart": {
"notes": [],
"tables": [
{
"rows": [
{
"label": "Size",
"values": [
"XS",
"S",
"M",
"L",
"XL"
]
},
{
"label": "UK",
"values": [
"6",
"8-10",
"12-14",
"16-18",
"20-22"
]
},
{
"label": "Bust (cm)",
"values": [
"81",
"85-89",
"93-98",
"104-110",
"116"
]
}
],
"title": "TOPS, DRESSES, COATS & JACKETS , LOUNGE, NIGHTWEAR, KNITWEAR, JERSEY"
}
],
"display_name": "Womens Clothing To fit XS-XL",
"size_guide_name": "WOMENS-CLOTHING-TO-FIT-XS-XL"
},
"breadcrumbs": [
{
"path": "/",
"title": "Home"
},
{
"path": "/women",
"title": "Women"
},
{
"path": "/c/women/dresses",
"title": "dresses"
}
],
"description": "Relaxed fit\nCrew neck\n2 in 1 style\nKnitted\nSleeveless",
"product_url": "https://www.riverisland.com/p/cream-2-in-1-knit-tank-top-satin-midi-dress-940481",
"purchasable": true,
"colour_options": [
{
"name": "Brown 2 In 1 Knit Tank Top Satin Midi Dress",
"colour": "Brown",
"product_id": "940482",
"product_url": "https://www.riverisland.com/p/brown-2-in-1-knit-tank-top-satin-midi-dress-940482",
"swatch_image": "https://images.riverisland.com/is/image/RiverIsland/940482_swatch"
}
],
"is_coming_soon": false,
"our_model_wears": "Our model wears a UK 8/S and is 178cm/5'10'' tall",
"size_guide_name": "WOMENS-CLOTHING-TO-FIT-XS-XL",
"material_composition": [
"38% Acrylic",
"6% Elastane",
"51% Polyester",
"5% Wool"
]
},
"status": "success"
}
}About the River Island API
Product Data
The get_product endpoint accepts a full riverisland.com product page URL via the product_url parameter and returns a detailed object covering: display name, GBP price (both raw numeric value and formatted string), promotional badges, colour, all product images (typed by role), details bullet strings, in_stock boolean, category breadcrumbs, and brands. The variants array contains every size option with its variant_id, size label, dimensions map, and per-size inventory quantity — useful for tracking which specific sizes are actually available.
Size Chart Resolution
When include_size_chart is not explicitly set to false, get_product also performs a size chart lookup and attaches the result under size_guide_name. The dedicated get_size_chart endpoint accepts that size_guide_name identifier directly, returning display_name, notes (free-text guidance paragraphs), and tables — an ordered array of measurement tables each with an optional title and rows of labelled string values aligned by column. A single guide can contain multiple tables covering different garment groups.
Colour Variants and Sibling Products
Each get_product response includes sibling colour options alongside the primary product colour, making it straightforward to enumerate all colour variants of a style without separate lookups. Combined with per-size inventory quantities in variants, this gives a reasonably complete picture of what stock is currently available for a given style.
The River Island API is a managed, monitored endpoint for riverisland.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when riverisland.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 riverisland.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 per-size stock availability on specific River Island products to trigger restock alerts
- Build a size recommendation tool using structured measurement tables from get_size_chart
- Aggregate River Island pricing data for GBP fashion retail market analysis
- Enumerate all colour variants of a style via sibling colour options in the get_product response
- Extract material composition and wash care fields for product catalogue enrichment
- Track promotional badge changes on River Island products over time
- Sync River Island variant IDs and inventory quantities into an internal catalogue or PIM system
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does River Island have an official public developer API?+
What does the variants array in get_product actually contain?+
variants includes a variant_id, a size display label, a dimensions object mapping dimension names (such as Size and Fit) to their values, and an inventory quantity for that specific size. This lets you distinguish between, say, a size 10 that is fully stocked versus one showing zero inventory.Can I skip the size chart lookup when calling get_product?+
include_size_chart: false and the API skips the size chart resolution entirely, returning the product data without a size_chart or size_guide_name key. This is useful when you only need pricing and stock fields and want a faster, lighter response.