Setup
Environments are stored as .env.yaml files under .scrapeman/environments/ in your
workspace.
# .scrapeman/environments/dev.env.yaml
name: Development
variables:
- key: baseUrl
value: https://api.example.com
secret: false
- key: token
value: sk-live-abc123
secret: true Variable resolution
{{var}} syntax works across: URL, params, headers, body, auth fields, proxy fields, and
Scrape.do fields.
Scope precedence (highest wins):
- Folder chain (deepest folder overrides shallower)
- Active environment
- Collection variables
- Global variables
- Built-in dynamics
Global variables
Stored at .scrapeman/globals.yaml. Available to every request in the workspace, across all
environments. Lowest precedence. Edit via the workspace settings gear icon in the sidebar.
# .scrapeman/globals.yaml
scrapeman: "2.0"
variables:
- key: COMPANY_ID
value: acme
enabled: true
secret: false Collection variables
Stored at .scrapeman/collection.yaml. Apply to all requests, lower precedence than the active
environment. The same file can also hold a collection-level default auth block.
Folder variables and auth inheritance
Each folder can have a _folder.yaml with its own variables and an optional auth block. Folder
variables from ancestor folders merge first (root to leaf), so a deeper folder's variable wins over a
shallower one's.
When a request's Auth tab is set to None (or the Inherit option), Scrapeman walks the folder
chain up to the workspace root. The first ancestor with an auth block in its
_folder.yaml is used. If no folder defines auth, the collection default auth applies. The Auth
tab shows an Inherited from /path label when inheritance is active.
Built-in dynamic variables
These re-resolve on every send:
| Variable | Output |
|---|---|
{{random}} | Random 8-char alphanumeric string |
{{uuid}} | UUID v4 |
{{timestamp}} | Unix timestamp in milliseconds |
{{timestampSec}} | Unix timestamp in seconds |
{{isoDate}} | ISO 8601 date string |
{{randomInt}} | Random integer 0–9999 |
Secret variables
Variables with secret: true are masked in the UI (shown as ••••••). They resolve
normally at send time. History entries preserve the template ({{token}}) on disk, never the
resolved secret value.