Build comprehensive product databases by extracting specifications, descriptions, images, and reviews from any e-commerce website.
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.
Extract every detail you need from product pages
Extract technical specs, dimensions, materials, and all product attributes.
Collect all product images, videos, and media gallery URLs.
Aggregate customer reviews, ratings, and sentiment data.
Capture all product variants, sizes, colors, and their prices.
Aggregate product data in three simple steps
Describe the product fields you want using natural language - name, specs, images, reviews, etc.
Pass product page URLs from any e-commerce site. Our AI handles the extraction automatically.
Receive structured JSON data ready to import into your database or product catalog.
Extract complete product data with a single API call
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}
# ]
# }
# 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}
# ]
# }
// 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
// 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}
// ]
// }
# 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 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}
// ]
// }
// Maven: ai.webscraping:webscraping-ai:4.0.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}
// ]
// }
// 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}
// ]
// }
Build product comparison sites with data from multiple retailers
Quickly populate your marketplace with rich product data
Analyze product trends, features, and market gaps
Sync supplier product data to your store automatically
Explore other e-commerce scraping solutions
Get started with 1,000 free API credits. No credit card required.