# Scrapfly Documentation

## Table of Contents

### Dashboard

- [Intro](https://scrapfly.io/docs)
- [Project](https://scrapfly.io/docs/project)
- [Account](https://scrapfly.io/docs/account)
- [Workspace & Team](https://scrapfly.io/docs/workspace-and-team)
- [Billing](https://scrapfly.io/docs/billing)

### Products

#### MCP Server

- [Getting Started](https://scrapfly.io/docs/mcp/getting-started)
- [Tools & API Spec](https://scrapfly.io/docs/mcp/tools)
- [Authentication](https://scrapfly.io/docs/mcp/authentication)
- [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- [FAQ](https://scrapfly.io/docs/mcp/faq)
##### Integrations

- [Overview](https://scrapfly.io/docs/mcp/integrations)
- [Claude Desktop](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
- [Claude Code](https://scrapfly.io/docs/mcp/integrations/claude-code)
- [ChatGPT](https://scrapfly.io/docs/mcp/integrations/chatgpt)
- [Cursor](https://scrapfly.io/docs/mcp/integrations/cursor)
- [Cline](https://scrapfly.io/docs/mcp/integrations/cline)
- [Windsurf](https://scrapfly.io/docs/mcp/integrations/windsurf)
- [Zed](https://scrapfly.io/docs/mcp/integrations/zed)
- [Roo Code](https://scrapfly.io/docs/mcp/integrations/roo-code)
- [VS Code](https://scrapfly.io/docs/mcp/integrations/vscode)
- [LangChain](https://scrapfly.io/docs/mcp/integrations/langchain)
- [LlamaIndex](https://scrapfly.io/docs/mcp/integrations/llamaindex)
- [CrewAI](https://scrapfly.io/docs/mcp/integrations/crewai)
- [OpenAI](https://scrapfly.io/docs/mcp/integrations/openai)
- [n8n](https://scrapfly.io/docs/mcp/integrations/n8n)
- [Make](https://scrapfly.io/docs/mcp/integrations/make)
- [Zapier](https://scrapfly.io/docs/mcp/integrations/zapier)
- [Vapi AI](https://scrapfly.io/docs/mcp/integrations/vapi)
- [Agent Builder](https://scrapfly.io/docs/mcp/integrations/agent-builder)
- [Custom Client](https://scrapfly.io/docs/mcp/integrations/custom-client)


#### Web Scraping API

- [Getting Started](https://scrapfly.io/docs/scrape-api/getting-started)
- [API Specification]()
- [Monitoring](https://scrapfly.io/docs/monitoring)
- [Customize Request](https://scrapfly.io/docs/scrape-api/custom)
- [Debug](https://scrapfly.io/docs/scrape-api/debug)
- [Anti Scraping Protection](https://scrapfly.io/docs/scrape-api/anti-scraping-protection)
- [Proxy](https://scrapfly.io/docs/scrape-api/proxy)
- [Proxy Mode](https://scrapfly.io/docs/scrape-api/proxy-mode)
- [Proxy Mode - Screaming Frog](https://scrapfly.io/docs/scrape-api/proxy-mode/screaming-frog)
- [Proxy Mode - Apify](https://scrapfly.io/docs/scrape-api/proxy-mode/apify)
- [(Auto) Data Extraction](https://scrapfly.io/docs/scrape-api/extraction)
- [Javascript Rendering](https://scrapfly.io/docs/scrape-api/javascript-rendering)
- [Javascript Scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario)
- [SSL](https://scrapfly.io/docs/scrape-api/ssl)
- [DNS](https://scrapfly.io/docs/scrape-api/dns)
- [Cache](https://scrapfly.io/docs/scrape-api/cache)
- [Session](https://scrapfly.io/docs/scrape-api/session)
- [Webhook](https://scrapfly.io/docs/scrape-api/webhook)
- [Screenshot](https://scrapfly.io/docs/scrape-api/screenshot)
- [Errors](https://scrapfly.io/docs/scrape-api/errors)
- [Timeout](https://scrapfly.io/docs/scrape-api/understand-timeout)
- [Throttling](https://scrapfly.io/docs/throttling)
- [Troubleshoot](https://scrapfly.io/docs/scrape-api/troubleshoot)
- [Billing](https://scrapfly.io/docs/scrape-api/billing)
- [FAQ](https://scrapfly.io/docs/scrape-api/faq)

#### Crawler API

- [Getting Started](https://scrapfly.io/docs/crawler-api/getting-started)
- [API Specification]()
- [Retrieving Results](https://scrapfly.io/docs/crawler-api/results)
- [WARC Format](https://scrapfly.io/docs/crawler-api/warc-format)
- [Data Extraction](https://scrapfly.io/docs/crawler-api/extraction-rules)
- [Webhook](https://scrapfly.io/docs/crawler-api/webhook)
- [Billing](https://scrapfly.io/docs/crawler-api/billing)
- [Errors](https://scrapfly.io/docs/crawler-api/errors)
- [Troubleshoot](https://scrapfly.io/docs/crawler-api/troubleshoot)
- [FAQ](https://scrapfly.io/docs/crawler-api/faq)

#### Screenshot API

- [Getting Started](https://scrapfly.io/docs/screenshot-api/getting-started)
- [API Specification]()
- [Accessibility Testing](https://scrapfly.io/docs/screenshot-api/accessibility)
- [Webhook](https://scrapfly.io/docs/screenshot-api/webhook)
- [Billing](https://scrapfly.io/docs/screenshot-api/billing)
- [Errors](https://scrapfly.io/docs/screenshot-api/errors)

#### Extraction API

- [Getting Started](https://scrapfly.io/docs/extraction-api/getting-started)
- [API Specification]()
- [Rules Template](https://scrapfly.io/docs/extraction-api/rules-and-template)
- [LLM Extraction](https://scrapfly.io/docs/extraction-api/llm-prompt)
- [AI Auto Extraction](https://scrapfly.io/docs/extraction-api/automatic-ai)
- [Webhook](https://scrapfly.io/docs/extraction-api/webhook)
- [Billing](https://scrapfly.io/docs/extraction-api/billing)
- [Errors](https://scrapfly.io/docs/extraction-api/errors)
- [FAQ](https://scrapfly.io/docs/extraction-api/faq)

#### Proxy Saver

- [Getting Started](https://scrapfly.io/docs/proxy-saver/getting-started)
- [Fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints)
- [Optimizations](https://scrapfly.io/docs/proxy-saver/optimizations)
- [SSL Certificates](https://scrapfly.io/docs/proxy-saver/certificates)
- [Protocols](https://scrapfly.io/docs/proxy-saver/protocols)
- [Pacfile](https://scrapfly.io/docs/proxy-saver/pacfile)
- [Secure Credentials](https://scrapfly.io/docs/proxy-saver/security)
- [Billing](https://scrapfly.io/docs/proxy-saver/billing)

#### Cloud Browser API

- [Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started)
- [Proxy & Geo-Targeting](https://scrapfly.io/docs/cloud-browser-api/proxy)
- [Unblock API](https://scrapfly.io/docs/cloud-browser-api/unblock)
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads)
- [Session Resume](https://scrapfly.io/docs/cloud-browser-api/session-resume)
- [Human-in-the-Loop](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop)
- [Debug Mode](https://scrapfly.io/docs/cloud-browser-api/debug-mode)
- [Bring Your Own Proxy](https://scrapfly.io/docs/cloud-browser-api/bring-your-own-proxy)
- [Browser Extensions](https://scrapfly.io/docs/cloud-browser-api/extensions)
##### Integrations

- [Puppeteer](https://scrapfly.io/docs/cloud-browser-api/puppeteer)
- [Playwright](https://scrapfly.io/docs/cloud-browser-api/playwright)
- [Selenium](https://scrapfly.io/docs/cloud-browser-api/selenium)
- [Vercel Agent Browser](https://scrapfly.io/docs/cloud-browser-api/agent-browser)
- [Browser Use](https://scrapfly.io/docs/cloud-browser-api/browser-use)
- [Stagehand](https://scrapfly.io/docs/cloud-browser-api/stagehand)

- [Billing](https://scrapfly.io/docs/cloud-browser-api/billing)
- [Errors](https://scrapfly.io/docs/cloud-browser-api/errors)


### Tools

- [Antibot Detector](https://scrapfly.io/docs/tools/antibot-detector)

### SDK

- [Golang](https://scrapfly.io/docs/sdk/golang)
- [Python](https://scrapfly.io/docs/sdk/python)
- [TypeScript](https://scrapfly.io/docs/sdk/typescript)
- [Scrapy](https://scrapfly.io/docs/sdk/scrapy)

### Integrations

- [Getting Started](https://scrapfly.io/docs/integration/getting-started)
- [LangChain](https://scrapfly.io/docs/integration/langchain)
- [LlamaIndex](https://scrapfly.io/docs/integration/llamaindex)
- [CrewAI](https://scrapfly.io/docs/integration/crewai)
- [Zapier](https://scrapfly.io/docs/integration/zapier)
- [Make](https://scrapfly.io/docs/integration/make)
- [n8n](https://scrapfly.io/docs/integration/n8n)

### Academy

- [Overview](https://scrapfly.io/academy)
- [Web Scraping Overview](https://scrapfly.io/academy/scraping-overview)
- [Tools](https://scrapfly.io/academy/tools-overview)
- [Reverse Engineering](https://scrapfly.io/academy/reverse-engineering)
- [Static Scraping](https://scrapfly.io/academy/static-scraping)
- [HTML Parsing](https://scrapfly.io/academy/html-parsing)
- [Dynamic Scraping](https://scrapfly.io/academy/dynamic-scraping)
- [Hidden API Scraping](https://scrapfly.io/academy/hidden-api-scraping)
- [Headless Browsers](https://scrapfly.io/academy/headless-browsers)
- [Hidden Web Data](https://scrapfly.io/academy/hidden-web-data)
- [JSON Parsing](https://scrapfly.io/academy/json-parsing)
- [Data Processing](https://scrapfly.io/academy/data-processing)
- [Scaling](https://scrapfly.io/academy/scaling)
- [Walkthrough Summary](https://scrapfly.io/academy/walkthrough-summary)
- [Scraper Blocking](https://scrapfly.io/academy/scraper-blocking)
- [Proxies](https://scrapfly.io/academy/proxies)

---

# Product Extraction Schema

> This model has been tailored based on customer feedback and usage. If you need a specific model and enough generalist, you can contact us on the support link below. If some fields are missing, you can also contact us to add them. 
>  
>  [Contact us](https://scrapfly.io/docs/support)

##### product\_schema  object

 

- **name**  string The name of the product
- **main\_category**  \[string, null\] The main category of the product
- **secondary\_category**  \[string, null\] The secondary category of the product
- **delivery**  \[string, null\] Estimated delivery information, can be any open text such as a date range or delivery time (e.g., '5 Sept - 9 Sept', '2 days')
- **offers**  \[array, null\] List of offers for the product
    
    ###### Items  object
    
    
    - **price**  number Price of the offer
    - **currency**  \[string, null\] COMPUTE: Currency code in ISO3 format (e.g., USD, EUR, GBP). Derive from currency symbol if code not found ($ -&gt; USD, € -&gt; EUR, £ -&gt; GBP).
    - **regular\_price**  \[number, null\] Regular price of the offer
    - **availability**  \[string, null\] Availability status of the offer
- **sizes**  \[array, null\] List of size attributes for the product, such as width, height, depth, etc.
    
    ###### Items  object
    
    
    - **attribute**  string Name of the size attribute, e.g., width, height, depth, diameter, etc.
    - **value**  number Numerical value of the size attribute
    - **unit**  string Unit of the size attribute, e.g., cm, in
- **related\_products**  \[array, null\] List of related products
    
    ###### Items  object
    
    
    - **name**  string Name of the related product
    - **images**  \[array, null\] Images of the product (carousel, slideshow, etc.). Most of the time the image description is the same as the product name
        
        ###### Items  object
        
        
        - **url**  string URL of the image
    - **link**  string Link to the related product
    - **price**  \[object, null\] The price of the product, including amount, currency, and raw value. If there is an amount but you do not find the currency, you must use the main offer currency
        
        
        - **amount**  number The numerical value of the product price.
        - **currency**  string COMPUTE: Currency code in ISO3 format (e.g., USD, EUR, GBP). Derive from currency symbol if code not found ($ -&gt; USD, € -&gt; EUR, £ -&gt; GBP). If still unknown, use the main offer currency.
        - **raw**  string The raw, non-transformed price data as originally listed.
    - **description**  \[string, null\] Description of the related product
    - **availability**  \[string, null\] Availability status of the related product
        
         *available*
- **identifiers**  \[object, null\] Identifiers for the product
    
    
    - **sku**  string Extract the unique alphanumeric string fitting the above description, often preceded by labels like "SKU:", "Item Number:", or "Product Code:". Ensure no spaces and include any hyphens or separators. An SKU is not a URL
    - **mpn**  \[string, null\] Manufacturer Part Number
    - **isbn10**  \[string, null\] ISBN-10
    - **isbn13**  \[string, null\] ISBN-13
    - **issn**  \[string, null\] International Standard Serial Number
    - **ean13**  \[string, null\] European Article Number (EAN-13)
    - **upc**  \[string, null\] Universal Product Code
    - **ismn**  \[string, null\] International Standard Music Number
    - **gtin8**  \[string, null\] Global Trade Item Number (GTIN-8)
    - **gtin14**  \[string, null\] Global Trade Item Number (GTIN-14)
- **brand**  \[string, null\] Brand of the product
- **breadcrumbs**  \[array, null\] Breadcrumbs for navigation
    
    ###### Items  object
    
    
    - **name**  string Name of the breadcrumb
    - **link**  string Link of the breadcrumb
- **main\_image**  \[string, null\] URL of the main image of the product - Most of the time the first image in the image carousel or the image list. Copy the exact URL as found in the document. Never construct or guess URLs.
- **images**  \[array, null\] Product images list
    
    ###### Items  object
    
    
    - **url**  string URL of the image
- **description\_markdown**  \[string, null\] Description of the product in markdown format - escaped for JSON format
- **description**  \[string, null\] Description of the product in text format
- **specifications**  \[array, null\] List of specifications
    
    ###### Items  object
    
    
    - **name**  string Name of the specification
    - **value**  string Value of the specification
- **aggregate\_rating**  \[object, null\] Aggregate rating of the product
    
    
    - **rating\_value**  \[number, null\] Rating value
    - **best\_rating**  \[number, null\] Best rating possible
    - **review\_count**  \[number, null\] Number of reviews
- **color**  \[string, null\] Color of the product
- **size**  \[string, null\] Size of the product
- **style**  \[string, null\] Style of the product
- **variants**  \[array, null\] List of variants of the product
    
    ###### Items  object
    
    
    - **offers**  \[array, null\] Offers for the variant
        
        ###### Items  object
        
        
        - **price**  \[object, null\] The price of the product, including amount, currency, and raw value. If there is an amount but you do not find the currency, you must use the main offer currency
            
            
            - **amount**  \[number, null\] The numerical value of the product price.
            - **currency**  \[string, null\] COMPUTE: Currency code in ISO3 format (e.g., USD, EUR, GBP). Derive from currency symbol if code not found ($ -&gt; USD, € -&gt; EUR, £ -&gt; GBP). If still unknown, use the main offer currency.
            - **raw**  \[string, null\] The raw, non-transformed price data as originally listed.
        - **availability**  \[string, null\] Availability status
            
             *available*
    - **color**  \[string, null\] Color of the variant
    - **url**  \[string, null\] URL of the variant product
    - **sku**  \[string, null\] Extract the unique alphanumeric string fitting the above description, often preceded by labels like "SKU:", "Item Number:", or "Product Code:". Ensure no spaces and include any hyphens or separators. An SKU is not a URL
- **canonical\_url**  \[string, null\] Canonical URL of the product - the current URL of the product page. Copy the exact URL as found in the document. Never construct or guess URLs.
- **url**  string URL of the product page. Copy the exact URL as found in the document. Never construct or guess URLs.
- **bidding**  \[object, null\] Bidding details for the product if the the sales is by bid
    
    
    - **current\_bid**  number The current highest bid on the product
    - **currency**  string COMPUTE: Currency code in ISO3 format (e.g., USD, EUR, GBP). Derive from currency symbol if code not found ($ -&gt; USD, € -&gt; EUR, £ -&gt; GBP).
    - **bid\_increment**  number The minimum amount required to outbid the current highest bid
    - **minimum\_bid**  \[number, null\] The minimum bid required to participate, or null if not applicable
    - **reserve\_price\_met**  \[boolean, null\] Indicates whether the seller's reserve price has been met
    - **auction\_end\_time**  string Timestamp for when the auction ends in ISO 8601 format
    - **total\_bids**  integer The total number of bids placed on the product
    - **watchers**  \[integer, null\] Number of users watching the auction
    - **status**  \[string, null\] Status of bid