Spotted something off?Report on Discord
api reference

Profiles

Attach a profileId to any request to persist browser configuration, cookies, proxy, and session data across multiple requests.

Updated Feb 2, 2026

Attach a profileId to any request to maintain a consistent browser configuration, cookies, proxy, and session data across all future requests using that profile.

Overview

Persistent profiles solve a common challenge: maintaining a stable, reproducible browser environment across requests. Each profile stores:

  • Browser configuration - Canvas, WebGL, fonts, screen size, user agent, and 50+ other browser properties
  • Cookies - All cookies are automatically saved and restored
  • Session data - localStorage and other session information
  • Proxy & IP - The proxy and IP address used with this profile (automatically remembered)

Once created, a profile's configuration never changes. This gives you a stable, reproducible browser environment every time you use that profile β€” useful for consistent QA runs, monitoring, and session continuity. Unlike a sessions.create session, which expires after ~200 seconds, a profile persists indefinitely.

Parameters

Parameter Type Required Description
profileId string Yes Unique identifier for the profile. Use any string (alphanumeric, hyphens, underscores).
proxy string No Your proxy URL. If provided, it is saved to the profile and used for all future requests.
forceNewProxy boolean No When true, ignores the stored proxy and assigns a fresh one. The new proxy replaces the old one.

Request

Add profileId to your request to use a persistent profile:

bash7 lines
Want to run this request directly in your browser?to try it live with your own API key.

If the profile does not exist it is automatically created with a unique browser configuration. All subsequent requests with the same profileId will reuse that exact configuration.

First Request (Profile Creation)

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.
  • A new browser configuration is generated and permanently saved
  • A proxy is automatically assigned and saved to the profile
  • The browser launches with this configuration and proxy
  • Any cookies set by the website are saved when the session ends

Subsequent Requests (Profile Reuse)

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.
  • The saved configuration is loaded (100% identical to first request)
  • The saved proxy is automatically used (same IP address)
  • Saved cookies are injected into the browser
  • The site sees the same consistent browser environment as before

Use Cases

Account Management

Maintain separate, isolated browser environments for different accounts:

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

Give each account its own profileId (e.g. email-account-2) so their configurations, cookies, and proxies stay fully isolated.

Session Persistence

Stay logged in across requests without re-authenticating:

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

Reuse the same profileId on follow-up requests (e.g. https://mystore.example.com/admin/orders) to keep the session alive.

Consistent Environment

Present a stable, returning-visitor environment for sites that expect session continuity:

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

Best Practices

Profile Naming

Use descriptive, consistent naming:

text2 lines

One Profile Per Identity

Each unique identity should have its own profile.

Profile Isolation

Two users with the same profileId get completely separate profiles and data.

Configuration Consistency

Every property of the browser environment remains identical across sessions, which makes runs reproducible:

Component Consistency
Canvas fingerprint 100% identical
WebGL renderer/vendor 100% identical
Audio fingerprint 100% identical
Font list 100% identical
Screen dimensions 100% identical
User agent 100% identical
Platform/OS 100% identical
Timezone 100% identical
Language 100% identical

Proxy Persistence

Profiles automatically remember the proxy used during their session, so a profile maintains a consistent IP location across requests. This provides session continuity β€” the same browser environment and the same regional proxy every time.

With Your Own Proxy

json6 lines
Want to run this request directly in your browser?to try it live with your own API key.
  • Your proxy is saved to the profile
  • All future requests automatically use this proxy
  • If the proxy stops working, you'll get an error asking you to provide a new one

Without a Proxy (Automatic Assignment)

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.
  • A proxy is automatically assigned and saved to the profile
  • All future requests use the same proxy (same IP)
  • If the proxy stops working, a new one is automatically assigned

Subsequent Requests

Once a profile has a proxy saved, just use the profile β€” no proxy needed:

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

The saved proxy is automatically used.

Proxy Use Cases

Consistent IP + Environment

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

Repeat with the same profileId to reuse the same IP and browser environment on every request.

Stable Sessions

json5 lines
Want to run this request directly in your browser?to try it live with your own API key.

Using Your Own Proxy

json6 lines
Want to run this request directly in your browser?to try it live with your own API key.

Later requests with the same profileId (e.g. https://target.com/page1) reuse the saved proxy automatically β€” no need to send it again.

Update the Proxy

json6 lines
Want to run this request directly in your browser?to try it live with your own API key.

Force a New Proxy

json6 lines
Want to run this request directly in your browser?to try it live with your own API key.

Why Use Proxy Persistence?

Benefit Description
IP Consistency Maintains the same browser environment and regional IP across requests
Simpler Requests Proxy is automatically handled β€” no need to manage it yourself
Stable Sessions Avoids session resets caused by IP changes mid-workflow
Automatic Recovery If an internal proxy fails, a new one is automatically assigned

Limitations

  • Profiles are permanent once created β€” the browser configuration cannot be changed
  • Maximum profile storage depends on your plan
  • Very large cookie stores (>10MB) may impact performance

FAQ

Q: What happens if I don't specify a profileId? A: A temporary browser with a randomly generated configuration is used. Nothing is persisted.

Q: Can I delete a profile? A: Yes, contact support or use the profile management API.

Q: How long are profiles stored? A: Indefinitely, unless you delete them.

Q: Do profiles work with proxies? A: Yes. Proxies are automatically saved and reused with profiles. The browser configuration stays the same regardless of which proxy you use.

Q: Will a site recognize the same profile across requests? A: Yes β€” a profile provides a consistent browser environment, so the site sees a stable returning visitor rather than a brand-new environment on every request. This is the intended behavior for maintaining sessions.

Q: What happens if my proxy stops working? A: If you provided your own proxy, you'll get an error asking you to provide a new one. If you're using an automatically assigned proxy, a new one is automatically assigned.

Q: Can I use a profile without any proxy? A: Profiles always use a proxy to ensure consistent IP addresses. If you don't provide one, one is automatically assigned.

Q: How do I change the proxy for an existing profile? A: Use forceNewProxy: true to assign a new proxy, or provide your own proxy URL. The new proxy replaces the stored one.

Go deeper in the Scrappey knowledge base: