# 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](https://scrapfly.io/docs/scrape-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](https://scrapfly.io/docs/crawler-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](https://scrapfly.io/docs/screenshot-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](https://scrapfly.io/docs/extraction-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)
- [Vibium](https://scrapfly.io/docs/cloud-browser-api/vibium)

- [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)

---

# Fingerprint API Specification

 [  View as markdown ](https://scrapfly.io/?view=markdown)   Copy for LLM    Copy for LLM  [     Open in ChatGPT ](https://chatgpt.com/?hints=search&prompt=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Ffingerprint-api%2Fspecification%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Claude ](https://claude.ai/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Ffingerprint-api%2Fspecification%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Perplexity ](https://www.perplexity.ai/search/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Ffingerprint-api%2Fspecification%20so%20I%20can%20ask%20questions%20about%20it.) 

 

 

 Complete parameter reference for the Fingerprint API endpoints.

## Endpoints

 | Endpoint | Method | Description |
|---|---|---|
| `/fingerprint/generator` | `GET` | Generate a complete browser fingerprint |
| `/fingerprint/options` | `GET` | List available options (screen resolutions, GPU models, browser versions, brand data) |

## Generator Endpoint

 `GET /fingerprint/generator`

 Generates a complete browser fingerprint. All parameters are optional — the API will randomly select appropriate values when parameters are omitted.

 ```
curl 'https://api.scrapfly.io/fingerprint/generator?key=&os=windows&country=us&browser_brand=chrome&version=145&seed=12345'
```

 

   

 

### Platform &amp; Identity Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `os` | string | *random* | Operating system platform. Values: `windows`, `linux`, `mac`. If omitted, a random platform is selected. |
| `arch` | string | *platform default* | CPU architecture. Values: `x86`, `arm`. If omitted, uses the platform's default architecture. |
| `seed` | integer | *random* | Numeric seed for deterministic fingerprint generation. Same seed + same parameters = same fingerprint. |
| `country` | string | `us` | ISO country code for geo-aware localization (timezone, locale, language, daylight cycle). |

### Browser Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `browser_brand` | string | `chrome` | Browser brand. Values: `chrome`, `edge`, `brave`, `opera`. Edge is Windows-only. |
| `version` | string | *random* | Browser major version (e.g., `145` for Chrome, `144` for Edge, `127` for Opera) or full version. For non-Chrome brands, use the brand's version number — the API automatically resolves it to the correct underlying Chromium version. |
| `browser_version_full` | string | *random* | Explicit full browser version (e.g., `145.0.7632.75` for Chrome, `144.0.3719.115` for Edge, `127.0.5778.64` for Opera). For non-Chrome brands, use the brand's version. Takes precedence over `version`. |
| `browser_locale` | string | *auto* | Browser UI locale (e.g., `en-US`, `fr-FR`). If omitted, auto-detected from `country`. |

### Localization Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `origin` | string | `https://httpbin.dev` | Target website origin (scheme + domain). Used for generating `sec-ch-ua-*` client hints and Referer header. |
| `locales` | string | *auto* | Comma-separated list of locales (max 3), e.g., `fr-FR,en-US`. If omitted, derived from `country`. |
| `timezone` | string | *auto* | IANA timezone identifier (e.g., `America/New_York`, `Europe/Paris`). If omitted, derived from `country`. |
| `theme` | string | *auto* | Browser color theme. Values: `light`, `dark`. If omitted, determined by the country's daylight cycle. |

### Hardware Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `screen_resolution` | string | *random* | Screen resolution as `{width}x{height}` (e.g., `1920x1080`). Use `/options` to list available resolutions. |
| `gpu_model` | string | *random* | GPU model identifier slug (e.g., `amd_radeon_rx_6700_xt`). Use `/options` to list available models. |
| `hardware_concurrency` | integer | *random* | Number of logical CPU cores (`navigator.hardwareConcurrency`). Common values: 2, 4, 8, 16, 32. |
| `device_memory` | float | *random* | Device memory in GB (`navigator.deviceMemory`). Values: 0.25, 0.5, 1, 2, 4, 8. |
| `device_pixel_ratio` | float | *auto* | Display scaling factor (`window.devicePixelRatio`). Values: 1, 1.5, 2, 2.5, 3. Derived from screen resolution if omitted. |
| `color_depth` | integer | *auto* | Screen color depth in bits (`screen.colorDepth`). Values: 24, 30. Derived from screen resolution if omitted. |

### Rendering Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `headless` | boolean | `true` | Rendering mode. `true` = headless (optimized for automation), `false` = headfull (with GUI). Affects WebGL signatures and rendering behavior. |
| `scrapium_format` | boolean | `false` | When `true`, returns the fingerprint in Scrapium format with additional `variables` section containing CLI arguments. |

### Proxy Parameters

 Optional proxy settings for generating fingerprints with proxy-aware WebRTC and network configuration. These parameters are passed through to the Scrapium format's `proxyConfig`.

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `proxy_ip` | string | `127.0.0.1` | Public IP address of the proxy. Used for WebRTC ICE candidate generation. |
| `proxy_server` | string | *none* | Proxy server hostname or IP address. |
| `proxy_port` | integer | *none* | Proxy server port number. |
| `proxy_username` | string | *none* | Proxy authentication username. |
| `proxy_password` | string | *none* | Proxy authentication password. |
| `proxy_protocol` | string | *none* | Proxy protocol. Values: `http`, `https`, `socks5`, `socks5h`. |
| `proxy_supports_udp` | boolean | `false` | Whether the SOCKS5 proxy supports UDP relay. Affects WebRTC configuration. |

### Persistence Parameters

 Parameters for saving and loading fingerprints from the database.

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `save_fingerprint` | boolean | `false` | When `true`, saves the generated fingerprint to the database for future retrieval. |
| `fingerprint_uuid` | string | *none* | UUID identifier for the fingerprint. Required when `save_fingerprint=true`. |
| `user_uuid` | string | *none* | User UUID who owns the fingerprint. Required when `save_fingerprint=true`. |

## Options Endpoint

 `GET /fingerprint/options`

 Returns available screen resolutions, GPU models, browser versions, and brand-specific data for the specified platform.

 ```
curl 'https://api.scrapfly.io/fingerprint/options?key=&os=windows'
```

 

   

 

### Parameters

 | Parameter | Type | Default | Description |
|---|---|---|---|
| `os` | string | *all* | Platform to filter options for. Values: `windows`, `linux`, `mac`. If omitted, returns options for all platforms. |

### Response Fields

 | Field | Type | Description |
|---|---|---|
| `screen_resolutions` | array | List of available screen resolutions with `value` (e.g., `1920x1080`) and `label` (e.g., `1920x1080 (16:9)`). |
| `gpu_models` | array | List of available GPU models with `value` (slug) and `label` (display name). |
| `browser_versions` | array | List of available Chromium full version strings (e.g., `145.0.7632.75`), sorted newest first. |
| `brand_data` | object | Per-brand data keyed by brand name (`chrome`, `edge`, `brave`, `opera`). Each entry contains `versions` (brand-specific version list) and `platforms` (supported platform list). |

## Brand Platform Constraints

 Not all browser brands are available on all platforms. The table below shows which platform/brand combinations are valid:

 | Platform | Chrome | Edge | Brave | Opera |
|---|---|---|---|---|
| `windows` |  |  |  |  |
| `mac` |  |  |  |  |
| `linux` |  |  |  |  |

## Code Examples

- [cURL](#fp-tab-curl)
- [Python](#fp-tab-python)
- [TypeScript](#fp-tab-typescript)
 
 ```
curl 'https://api.scrapfly.io/fingerprint/generator?key=&os=windows&country=us&browser_brand=chrome&version=145&seed=12345&screen_resolution=1920x1080'
```

 

   

 

 

 ```
import requests

# Generate a Windows Chrome fingerprint for the US
response = requests.get(
    'https://api.scrapfly.io/fingerprint/generator',
    params={
        'key': '',
        'os': 'windows',
        'country': 'us',
        'browser_brand': 'chrome',
        'version': '145',
        'seed': 12345,
        'screen_resolution': '1920x1080',
    }
)
fingerprint = response.json()

# Use headers in your requests
headers = fingerprint['headers']
session = requests.Session()
session.headers.update(headers)
response = session.get('https://example.com')
```

 

   

 

 

 ```
const response = await fetch(
    'https://api.scrapfly.io/fingerprint/generator?' + new URLSearchParams({
        key: '',
        os: 'windows',
        country: 'us',
        browser_brand: 'edge',
        version: '145',
    })
);
const fingerprint = await response.json();

// Use the generated headers
console.log(fingerprint.headers['user-agent']);
console.log(fingerprint.headers['sec-ch-ua']);
```

 

   

 

 

 

## Related Documentation

- [Getting Started](https://scrapfly.io/docs/fingerprint-api/getting-started) — Overview and quick start guide
- [Fingerprint API Player](https://scrapfly.io/dashboard/playground/fingerprint) — Interactive playground