---
title: "Product Data API - Aggregate Product Catalogs at Scale"
description: "A product data API for e-commerce. Handle product data extraction across any store - specs, descriptions, images, and reviews - as clean structured JSON."
url: https://webscraping.ai/use-cases/product-data-aggregation
markdown_index: https://webscraping.ai/llms.txt
---
E-COMMERCE & RETAIL

# Product Data Aggregation at Scale

One product data API for the whole catalog. Handle product data extraction across any e-commerce site - specs, descriptions, images, variants, and reviews - in one schema.

[Start Free Trial](https://webscraping.ai/auth/sign_up)[View Documentation](https://webscraping.ai/docs)

## Building Product Databases Is Hard

Creating comprehensive product catalogs requires collecting data from dozens of sources. Each site has different structures, formats, and anti-scraping measures.

Manual data collection doesn't scale, and building custom scrapers for each source is expensive and time-consuming to maintain.

#### WebScraping.AI Solution

- **Universal Extraction:** One API works across all e-commerce sites, no custom code needed
- **AI Understanding:** Our AI identifies product fields regardless of page structure
- **Rich Data:** Extract specs, descriptions, images, reviews, variants, and more
- **JSON Output:** Get clean, structured data ready for your database

## Complete Product Data Extraction

Extract every detail you need from product pages

#### Specifications

Extract technical specs, dimensions, materials, and all product attributes.

#### Images & Media

Collect all product images, videos, and media gallery URLs.

#### Reviews & Ratings

Aggregate customer reviews, ratings, and sentiment data.

#### Variants & Options

Capture all product variants, sizes, colors, and their prices.

## How It Works

Aggregate product data in three simple steps

1

#### Define Your Schema

Describe the product fields you want using natural language - name, specs, images, reviews, etc.

2

#### Send Product URLs

Pass product page URLs from any e-commerce site. Our AI handles the extraction automatically.

3

#### Build Your Catalog

Receive structured JSON data ready to import into your database or product catalog.

## Code Examples

Extract complete product data with a single API call

**cURL**

```bash
curl -G "https://api.webscraping.ai/ai/fields" \
  --data-urlencode "api_key=YOUR_API_KEY" \
  --data-urlencode "url=https://example-store.com/product/wireless-headphones" \
  --data-urlencode "fields[name]=Product name" \
  --data-urlencode "fields[brand]=Brand or manufacturer" \
  --data-urlencode "fields[price]=Current price as a number" \
  --data-urlencode "fields[description]=Full product description" \
  --data-urlencode "fields[specifications]=Array of specification objects with name and value" \
  --data-urlencode "fields[images]=Array of all product image URLs" \
  --data-urlencode "fields[rating]=Average customer rating" \
  --data-urlencode "fields[review_count]=Number of reviews" \
  --data-urlencode "fields[variants]=Array of available variants (color, size) with prices"
# Response:
# {
# "name": "Pro Wireless Headphones",
# "brand": "AudioTech",
# "price": 199.99,
# "description": "Premium wireless headphones with...",
# "specifications": [
# {"name": "Battery Life", "value": "30 hours"},
# {"name": "Driver Size", "value": "40mm"}
# ],
# "images": ["https://...", "https://..."],
# "rating": 4.5,
# "review_count": 1247,
# "variants": [
# {"color": "Black", "price": 199.99},
# {"color": "Silver", "price": 209.99}
# ]
# }
```

**Python**

```python
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client

client = Client(api_key="YOUR_API_KEY")
result = client.fields(
    "https://example-store.com/product/wireless-headphones",
    fields={
        "name": "Product name",
        "brand": "Brand or manufacturer",
        "price": "Current price as a number",
        "description": "Full product description",
        "specifications": "Array of specification objects with name and value",
        "images": "Array of all product image URLs",
        "rating": "Average customer rating",
        "review_count": "Number of reviews",
        "variants": "Array of available variants (color, size) with prices",
    },
)
print(result)
# Response:
# {
# "name": "Pro Wireless Headphones",
# "brand": "AudioTech",
# "price": 199.99,
# "description": "Premium wireless headphones with...",
# "specifications": [
# {"name": "Battery Life", "value": "30 hours"},
# {"name": "Driver Size", "value": "40mm"}
# ],
# "images": ["https://...", "https://..."],
# "rating": 4.5,
# "review_count": 1247,
# "variants": [
# {"color": "Black", "price": 199.99},
# {"color": "Silver", "price": 209.99}
# ]
# }
```

**JavaScript**

```javascript
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';

const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.fields({
  url: 'https://example-store.com/product/wireless-headphones',
  fields: {
    name: 'Product name',
    brand: 'Brand or manufacturer',
    price: 'Current price as a number',
    description: 'Full product description',
    specifications: 'Array of specification objects with name and value',
    images: 'Array of all product image URLs',
    rating: 'Average customer rating',
    review_count: 'Number of reviews',
    variants: 'Array of available variants (color, size) with prices',
  },
});
console.log(result);
// Response:
// {
// "name": "Pro Wireless Headphones",
// "brand": "AudioTech",
// "price": 199.99,
// "description": "Premium wireless headphones with...",
// "specifications": [
// {"name": "Battery Life", "value": "30 hours"},
// {"name": "Driver Size", "value": "40mm"}
// ],
// "images": ["https://...", "https://..."],
// "rating": 4.5,
// "review_count": 1247,
// "variants": [
// {"color": "Black", "price": 199.99},
// {"color": "Silver", "price": 209.99}
// ]
// }
```

**PHP**

```php
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';

use WebScrapingAI\Client;

$client = new Client('YOUR_API_KEY');
$result = $client->fields('https://example-store.com/product/wireless-headphones', [
    'name' => 'Product name',
    'brand' => 'Brand or manufacturer',
    'price' => 'Current price as a number',
    'description' => 'Full product description',
    'specifications' => 'Array of specification objects with name and value',
    'images' => 'Array of all product image URLs',
    'rating' => 'Average customer rating',
    'review_count' => 'Number of reviews',
    'variants' => 'Array of available variants (color, size) with prices',
]);
print_r($result);
// Response:
// {
// "name": "Pro Wireless Headphones",
// "brand": "AudioTech",
// "price": 199.99,
// "description": "Premium wireless headphones with...",
// "specifications": [
// {"name": "Battery Life", "value": "30 hours"},
// {"name": "Driver Size", "value": "40mm"}
// ],
// "images": ["https://...", "https://..."],
// "rating": 4.5,
// "review_count": 1247,
// "variants": [
// {"color": "Black", "price": 199.99},
// {"color": "Silver", "price": 209.99}
// ]
// }
```

**Ruby**

```ruby
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'

client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.fields(
  'https://example-store.com/product/wireless-headphones',
  fields: {
    name: 'Product name',
    brand: 'Brand or manufacturer',
    price: 'Current price as a number',
    description: 'Full product description',
    specifications: 'Array of specification objects with name and value',
    images: 'Array of all product image URLs',
    rating: 'Average customer rating',
    review_count: 'Number of reviews',
    variants: 'Array of available variants (color, size) with prices',
  }
)
puts result.inspect
# Response:
# {
# "name": "Pro Wireless Headphones",
# "brand": "AudioTech",
# "price": 199.99,
# "description": "Premium wireless headphones with...",
# "specifications": [
# {"name": "Battery Life", "value": "30 hours"},
# {"name": "Driver Size", "value": "40mm"}
# ],
# "images": ["https://...", "https://..."],
# "rating": 4.5,
# "review_count": 1247,
# "variants": [
# {"color": "Black", "price": 199.99},
# {"color": "Silver", "price": 209.99}
# ]
# }
```

**Go**

```go
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main

import (
    "context"
    "fmt"

    webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)

func main() {
    client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
    result, _ := client.Fields(context.Background(), &webscrapingai.FieldsOptions{
        URL: "https://example-store.com/product/wireless-headphones",
        Fields: map[string]string{
            "name": "Product name",
            "brand": "Brand or manufacturer",
            "price": "Current price as a number",
            "description": "Full product description",
            "specifications": "Array of specification objects with name and value",
            "images": "Array of all product image URLs",
            "rating": "Average customer rating",
            "review_count": "Number of reviews",
            "variants": "Array of available variants (color, size) with prices",
        },
    })
    fmt.Println(result.Result)
}
// Response:
// {
// "name": "Pro Wireless Headphones",
// "brand": "AudioTech",
// "price": 199.99,
// "description": "Premium wireless headphones with...",
// "specifications": [
// {"name": "Battery Life", "value": "30 hours"},
// {"name": "Driver Size", "value": "40mm"}
// ],
// "images": ["https://...", "https://..."],
// "rating": 4.5,
// "review_count": 1247,
// "variants": [
// {"color": "Black", "price": 199.99},
// {"color": "Silver", "price": 209.99}
// ]
// }
```

**Java**

```java
// Maven: ai.webscraping:webscraping-ai:4.2.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.FieldsOptions;
import ai.webscraping.result.FieldsResult;

Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
FieldsResult result = client.fields(FieldsOptions.builder()
    .url("https://example-store.com/product/wireless-headphones")
    .addField("name", "Product name")
    .addField("brand", "Brand or manufacturer")
    .addField("price", "Current price as a number")
    .addField("description", "Full product description")
    .addField("specifications", "Array of specification objects with name and value")
    .addField("images", "Array of all product image URLs")
    .addField("rating", "Average customer rating")
    .addField("review_count", "Number of reviews")
    .addField("variants", "Array of available variants (color, size) with prices")
    .build());
System.out.println(result.getResult());
// Response:
// {
// "name": "Pro Wireless Headphones",
// "brand": "AudioTech",
// "price": 199.99,
// "description": "Premium wireless headphones with...",
// "specifications": [
// {"name": "Battery Life", "value": "30 hours"},
// {"name": "Driver Size", "value": "40mm"}
// ],
// "images": ["https://...", "https://..."],
// "rating": 4.5,
// "review_count": 1247,
// "variants": [
// {"color": "Black", "price": 199.99},
// {"color": "Silver", "price": 209.99}
// ]
// }
```

**C#**

```csharp
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;

var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var result = await client.FieldsAsync(new FieldsRequest {
    Url = "https://example-store.com/product/wireless-headphones",
    Fields = new Dictionary<string, string> {
        ["name"] = "Product name",
        ["brand"] = "Brand or manufacturer",
        ["price"] = "Current price as a number",
        ["description"] = "Full product description",
        ["specifications"] = "Array of specification objects with name and value",
        ["images"] = "Array of all product image URLs",
        ["rating"] = "Average customer rating",
        ["review_count"] = "Number of reviews",
        ["variants"] = "Array of available variants (color, size) with prices",
    },
});
Console.WriteLine(result.Result);
// Response:
// {
// "name": "Pro Wireless Headphones",
// "brand": "AudioTech",
// "price": 199.99,
// "description": "Premium wireless headphones with...",
// "specifications": [
// {"name": "Battery Life", "value": "30 hours"},
// {"name": "Driver Size", "value": "40mm"}
// ],
// "images": ["https://...", "https://..."],
// "rating": 4.5,
// "review_count": 1247,
// "variants": [
// {"color": "Black", "price": 199.99},
// {"color": "Silver", "price": 209.99}
// ]
// }
```

## Benefits of Automated Product Aggregation

**Cross-Platform Coverage:** Extract from Amazon, eBay, Walmart, Shopify stores, and any e-commerce platform.

**Consistent Schema:** Get uniform data structure regardless of source website layout.

**Automatic Updates:** Schedule regular extractions to keep your catalog fresh.

**Rich Media:** Collect all product images and media for your listings.

**Review Intelligence:** Aggregate customer sentiment across platforms.

#### Use Cases

**Comparison Shopping Engines**

Build product comparison sites with data from multiple retailers

**Marketplace Listings**

Quickly populate your marketplace with rich product data

**Product Research**

Analyze product trends, features, and market gaps

**Dropshipping Catalogs**

Sync supplier product data to your store automatically

## Related Use Cases

Explore other e-commerce scraping solutions

[Price Monitoring](https://webscraping.ai/use-cases/price-monitoring): Track competitor pricing in real-time to optimize your pricing strategy.

[Stock Monitoring](https://webscraping.ai/use-cases/stock-inventory-monitoring): Track product availability and inventory levels across competitors.

[MAP Compliance](https://webscraping.ai/use-cases/map-compliance-monitoring): Monitor minimum advertised price compliance across distributors.

## Start Building Your Product Database

Get started with 2,000 free API credits. No credit card required.

[Start Free Trial](https://webscraping.ai/auth/sign_up)[View API Documentation](https://webscraping.ai/docs)
