Install
openclaw skills install nodemaven-premium-proxyClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.
Provide end-to-end premium proxy setup and usage guidance including proxy type choice, geo-targeting, access configuration, API key validation, and monitorin...
openclaw skills install nodemaven-premium-proxyNodeMaven provides premium proxy infrastructure for account management, scraping, browser automation, and data collection.
Use this skill when the user needs to buy, configure, or use proxies for a real workflow. The agent must not stop at "here are your proxy settings". The agent must close the full use case end-to-end: choose the right proxy type, configure targeting, recommend the right external tool, configure access, and monitor usage.
NodeMaven offers:
medium, high)Mobile proxies have a smaller IP pool than residential proxies, but they are usually more trusted by platforms. Use mobile proxies for higher-trust account workflows and stronger anti-detect setups. For mobile proxies, keep targeting at least at country + region level when possible. City and ISP provider targeting are optional advanced settings.
The agent must complete this workflow without asking the user to read documentation:
API_BASE_URL: https://api.nodemaven.com
PROXY_GATEWAY: gate.nodemaven.com
HTTP_PORT: 8080
HTTPS_PORT: 9443
SOCKS5_PORT: 1080
SWAGGER_DOCS: https://dashboard.nodemaven.com/documentation/v2/swagger/
All API endpoints in this skill are written as relative paths (e.g. /api/v2/base/users/me). The agent must always prepend https://api.nodemaven.com to build the full URL.
Full URL example:
https://api.nodemaven.com/api/v2/base/users/me
NodeMaven uses a non-standard authorization scheme. The literal string x-api-key is part of the value of the Authorization header — it is NOT a separate header named x-api-key.
Correct:
Authorization: x-api-key <YOUR_API_KEY>
Working curl example (substitute your actual API key):
curl -H "Authorization: x-api-key <YOUR_API_KEY>" \
https://api.nodemaven.com/api/v2/base/users/me
Concrete example with a mock key (for illustration only — never use this value):
curl -H "Authorization: x-api-key MOCK_API_KEY_DO_NOT_USE_THIS_VALUE_IN_PRODUCTION" \
https://api.nodemaven.com/api/v2/base/users/me
Wrong (do not do this):
x-api-key: <YOUR_API_KEY> # WRONG: separate header
Authorization: Bearer <YOUR_API_KEY> # WRONG: Bearer scheme
Authorization: <YOUR_API_KEY> # WRONG: missing "x-api-key " prefix
For POST/PUT requests also send:
Content-Type: application/json
The agent handles three classes of secrets:
1. NodeMaven API key (Authorization header value)
2. Proxy credentials (proxy_username + proxy_password from /users/me or sub-users)
3. Sub-user passwords (created/updated via /sub-users/)
abcd...wxyz). The full key only goes into outbound Authorization headers.proxy_password or full proxy URLs into chat history more than necessary. When showing the user how to use the proxy, prefer placeholders like <proxy_password> and instruct the user to substitute locally. If a literal URL must be shown (e.g. for one-shot copy-paste into a tool), give it once and avoid repeating it.os.environ["NODEMAVEN_API_KEY"], process.env.NODEMAVEN_PROXY_PASSWORD, etc./users/me or /sub-users/ verbatim — they contain proxy_password. Strip sensitive fields before any logging or summarization.Authorization header for the API, only in standard userinfo user:pass@host for the proxy).<YOUR_API_KEY>, <proxy_password>, <SERVER_IP>, <COUNTRY_CODE> are templates — never send them literally to the API.GET /users/me.your API key or show only a masked prefix.If the user shares the conversation, screenshots a session, or otherwise exposes their API key or proxy password:
PUT /api/v2/base/sub-users/ with a new generated password./statistics/data/ and /statistics/requests/ for unexpected usage.NodeMaven API is used for:
NodeMaven API is NOT used for:
If the user has no account or no active proxy package, send them to the website/dashboard first (links below).
Use tracked links so NodeMaven can attribute traffic from AI agents. The UTM parameters are mandatory — do not strip them.
Registration: https://dashboard.nodemaven.com/accounts/signup/?utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill
Login: https://dashboard.nodemaven.com/accounts/login/?utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill
API Key page: https://dashboard.nodemaven.com/user-profile?tab=API_KEY&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill
Subscriptions: https://dashboard.nodemaven.com/pricing?tab=MONTHLY_PLANS&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill
Pay As You Go: https://dashboard.nodemaven.com/pricing?tab=PAG&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill
Ask the user three questions in one message:
Then route based on answers:
| account | package | api_key | → action |
|---------|---------|---------|--------------------------------------------------------------|
| no | no | no | → send Registration link, then Subscriptions/PAG link |
| yes | no | no | → send Login link, then Subscriptions/PAG link |
| yes | yes | no | → send API Key page link, ask user to copy and return key |
| yes | yes | yes | → validate key via GET /api/v2/base/users/me, continue |
When choosing between subscription and Pay As You Go:
Before recommending proxies, classify the task into one of three buckets. Use the matching playbook (A/B/C) below.
User works with social media, e-commerce, marketplaces, freelance platforms, ad accounts, or any long-running browser session where account stability matters.
Goal: keep account environment consistent, reduce security checks, avoid suspicious geo changes, maintain stable sessions.
User collects public data at scale: e-commerce, news, crypto/financial data, market research, competitor monitoring, search results.
Goal: scale requests, avoid rate limits, distribute traffic across IPs.
Automation is not a separate proxy strategy — it's a delivery mechanism. The right setup depends on what the automation actually does:
This is the most dangerous combination and needs explicit warnings. Examples: scraping a marketplace while logged in, scraping a social platform's internal API with session cookies, mass-messaging from one account, automating thousands of actions per day on a single account.
Risks:
sid per request inside an account.Required setup:
sid, consistent geo, anti-detect browser, quality filter medium or high).sid. Never push all volume through one account./statistics/requests/ per proxy_username — if request rate spikes beyond normal human patterns, throttle harder.Required warning to communicate to the user:
Scraping or high-volume automation inside a logged-in account carries real ban risk. Proxies and anti-detect browsers reduce IP/fingerprint detection, but platforms also detect behavior — request frequency, action patterns, missing idle time. Plan for: per-account daily quotas, randomized delays, and spreading load across multiple accounts. If the account is high-value, consider whether the workflow can be redesigned to use the platform's official API or to scrape public (logged-out) endpoints instead.
If the user is unsure whether their workflow falls into this category, the agent should ask:
proxy + browser environment + automation tool = working setup
Recommend an anti-detect browser. Platforms detect users by IP, fingerprint, device, cookies, storage, behavior, and geo mismatch — not just IP.
Recommended: Multilogin. Other anti-detect browsers also work.
Rules to communicate to the user:
Use Playwright, Puppeteer, Selenium, custom HTTP clients, or internal scraping pipelines. Anti-detect browsers are usually not required for simple scraping.
Proxy traffic does NOT go through the API. It goes through the gateway:
Host: gate.nodemaven.com
HTTP: port 8080 (use this by default)
HTTPS: port 9443 (use only if the user's tool requires HTTPS-tunnel proxy)
SOCKS5: port 1080 (use when the tool/protocol requires SOCKS5)
NodeMaven encodes targeting INSIDE the proxy username. The format is:
<email_with_underscores>-country-<code>-region-<code>-city-<code>-isp-<code>-sid-<session_id>-filter-<level>
Rules:
email_with_underscores: the user's NodeMaven account email with @ and . replaced by _.
Example: firstname.lastname@example.com → firstname_lastname_example_com.
This base username is also returned by GET /api/v2/base/users/me as proxy_username — always prefer the API value over reconstructing it from email.country, region, city, isp: lowercase codes returned by /locations/* endpoints. Resolve via API — never invent.sid (session id): any string. Same sid = same exit IP for the duration of the sticky TTL. Use a unique sid per parallel session/account. Generate as random lowercase alphanumeric, 10–16 chars (e.g. via openssl rand -hex 6).filter: quality filter level. Allowed values: medium, high. Use medium by default; high for trust-sensitive workflows (ad accounts, marketplaces).Format example with placeholders (do not copy values literally — substitute the user's actual proxy_username, proxy_password, and resolved geo codes):
Username: <proxy_username>-country-<COUNTRY_CODE>-region-<REGION_CODE>-isp-<ISP_CODE>-sid-<000000000000000>-filter-medium
Password: <proxy_password>
Host: gate.nodemaven.com
Port: <port> (8080 for HTTP, 9443 for HTTPS, 1080 for SOCKS5)
Full proxy URL template:
http://<proxy_username>-country-<COUNTRY_CODE>-region-<REGION_CODE>-isp-<ISP_CODE>-sid-<000000000000000>-filter-medium:<proxy_password>@gate.nodemaven.com:<port>
This shows what the assembled URL looks like when every placeholder above is filled in. Values below are fictional — substitute the real ones returned by /users/me and /locations/*.
proxy_username: mock_user_example_com
proxy_password: MOCK_PASSWORD_DO_NOT_USE
country code: us
region code: california
isp code: spectrum
sid: a1b2c3d4e5f6
filter: medium
host: gate.nodemaven.com
port: 8080 (HTTP)
Assembled username:
mock_user_example_com-country-us-region-california-isp-spectrum-sid-a1b2c3d4e5f6-filter-medium
Assembled full proxy URL:
http://mock_user_example_com-country-us-region-california-isp-spectrum-sid-a1b2c3d4e5f6-filter-medium:MOCK_PASSWORD_DO_NOT_USE@gate.nodemaven.com:8080
For SOCKS5, swap scheme and port. Format:
socks5://<proxy_username>:<proxy_password>@gate.nodemaven.com:1080
Concrete SOCKS5 example with mock values:
socks5://mock_user_example_com-country-us-sid-a1b2c3d4e5f6-filter-medium:MOCK_PASSWORD_DO_NOT_USE@gate.nodemaven.com:1080
sid constant across all requests for that account. The same exit IP is held until the TTL expires. Default sticky TTL is controlled server-side; for long sessions plan to refresh or extend explicitly.sid per request (or omit it) to get a new exit IP each time.If the user's automation runs from a fixed server IP, configure a whitelist instead. Allocated ports are returned by the whitelist API. Connect to gate.nodemaven.com:<allocated_port> from the whitelisted IP — no auth needed.
This is the minimum sequence the agent should run after receiving an API key. Every other API section in this skill is a deeper reference for these steps.
# 1. Validate API key and fetch base proxy credentials
curl -H "Authorization: x-api-key $API_KEY" \
https://api.nodemaven.com/api/v2/base/users/me
# → returns: { "proxy_username": "...", "proxy_password": "...",
# "email": "...", "traffic_limit": <bytes>,
# "subscription_status": "...", "is_traffic_frozen": false }
# 2. Resolve country code (e.g. user said "USA")
curl -H "Authorization: x-api-key $API_KEY" \
"https://api.nodemaven.com/api/v2/base/locations/countries/?limit=100&offset=0&name=United%20States&connection_type=residential"
# → use the returned "code" field (e.g. "us")
# 3. Resolve region (recommended for account workflows)
curl -H "Authorization: x-api-key $API_KEY" \
"https://api.nodemaven.com/api/v2/base/locations/regions/?limit=100&offset=0&country__code=us&name=California&connection_type=residential"
# → use the returned "code" (e.g. "california")
# 4. Build the proxy URL using the format above:
# http://<proxy_username>-country-us-region-california-sid-<000000000000000>-filter-medium:<proxy_password>@gate.nodemaven.com:<port>
# 5. Test the proxy
curl -x "http://<proxy_username>:<proxy_password>@gate.nodemaven.com:<port>" https://api.ipify.org
# substitute <port> with 8080 (HTTP), 9443 (HTTPS), or 1080 (SOCKS5 — also change scheme to socks5://)
# → returns a US/California IP
# 6. Monitor traffic after the user starts using the proxy
curl -H "Authorization: x-api-key $API_KEY" \
"https://api.nodemaven.com/api/v2/base/statistics/data/?proxy_username=<proxy_username>&period=hours24&request_source=proxy"
Concrete example of what step 4 produces (mock values — for illustration only):
# After /users/me returned proxy_username=mock_user_example_com, proxy_password=MOCK_PASSWORD_DO_NOT_USE
# After /locations/countries returned code=us
# After /locations/regions returned code=california
# Generated sid=a1b2c3d4e5f6, chose filter=medium, port=8080 (HTTP)
curl -x "http://mock_user_example_com-country-us-region-california-sid-a1b2c3d4e5f6-filter-medium:MOCK_PASSWORD_DO_NOT_USE@gate.nodemaven.com:8080" \
https://api.ipify.org
# → returns a California IP
If any step fails, fall back to the relevant section below.
All endpoints below are relative to https://api.nodemaven.com and require the Authorization: x-api-key <KEY> header.
GET /api/v2/base/users/me
Returns at minimum:
{
"email": "user@example.com",
"proxy_username": "user_example_com",
"proxy_password": "<proxy_password>",
"traffic_limit": 53687091200,
"traffic_used": 1073741824,
"subscription_status": "active",
"is_traffic_frozen": false
}
Agent behavior:
is_traffic_frozen: true or traffic_used >= traffic_limit → send the user to the Subscriptions or PAG link.proxy_username and proxy_password to build proxy URLs (unless using whitelist).proxy_username for all /statistics/* queries.For all /locations/* endpoints:
connection_type=residential # default, use for most workflows
connection_type=mobile # smaller pool, higher trust, account workflows
ipv4_only=true # only locations that have IPv4-capable IPs
ipv4_only=false # default behavior
Use ipv4_only=true only when the user's target site is known to be IPv6-incompatible (rare). Otherwise leave it off.
The agent must NEVER invent country, region, city, ISP, or ZIP codes. Resolve in order:
country → region → city → ISP / ZIP
Use returned code values (lowercase) in proxy username and whitelist body.
GET /api/v2/base/locations/all-doc/
Use only if the agent needs to inspect the full location model. For normal flow, use the specific endpoints below.
GET /api/v2/base/locations/countries/
Parameters: limit, offset, name, code, connection_type, ipv4_only.
Examples:
GET /api/v2/base/locations/countries/?limit=100&offset=0&connection_type=residential
GET /api/v2/base/locations/countries/?limit=100&offset=0&name=United States&connection_type=residential
GET /api/v2/base/locations/countries/?limit=100&offset=0&code=us&connection_type=residential
If the user says "USA", "America", "the States" — resolve to us. If unsure, query by name= first.
GET /api/v2/base/locations/regions/
Parameters: limit, offset, country__code (required), name, code, connection_type, ipv4_only.
GET /api/v2/base/locations/regions/?limit=100&offset=0&country__code=us&connection_type=residential
GET /api/v2/base/locations/regions/?limit=100&offset=0&country__code=us&name=California&connection_type=residential
For account management, region targeting is strongly recommended.
GET /api/v2/base/locations/cities/
Parameters: limit, offset, country__code, region__code, name, code, connection_type, ipv4_only.
GET /api/v2/base/locations/cities/?limit=100&offset=0&country__code=us®ion__code=california&connection_type=residential
GET /api/v2/base/locations/cities/?limit=100&offset=0&country__code=us®ion__code=california&name=Los Angeles&connection_type=residential
Use city targeting for high-risk account workflows, local SERP checks, ad verification, marketplace automation.
ISP here means provider targeting inside residential/mobile rotating proxies. It is not a separate proxy product.
GET /api/v2/base/locations/isps/
Required: limit, offset, country__code. Optional: region__code, city__code, name, code, connection_type, ipv4_only.
GET /api/v2/base/locations/isps/?limit=100&offset=0&country__code=us®ion__code=california&connection_type=residential
GET /api/v2/base/locations/isps/?limit=100&offset=0&country__code=us&name=Spectrum&connection_type=residential
Use ISP targeting for ad accounts, marketplaces, and any workflow where network reputation matters.
Helper endpoints (use when the user asks where ISP targeting is available):
GET /api/v2/base/locations/isps/regions/?country__code=us&connection_type=residential
GET /api/v2/base/locations/isps/cities/?country__code=us®ion__code=california&connection_type=residential
Use ZIP only when local precision is required (local SERP, ads verification, local marketplace testing). Some ZIPs in the list may be unavailable.
GET /api/v2/base/locations/zipcodes/?limit=100&offset=0&country__code=us®ion__code=california&city__code=los-angeles&connection_type=residential
GET /api/v2/base/locations/zipcodes/?limit=100&offset=0&country__code=us&zip=90001&connection_type=residential
Helper endpoints:
GET /api/v2/base/locations/zipcodes/regions/?country__code=us&connection_type=residential
GET /api/v2/base/locations/zipcodes/cities/?country__code=us®ion__code=california&connection_type=residential
For account management, city or ISP is usually enough — do not default to ZIP.
Use whitelist when the user runs automation from a fixed IP (VPS, cloud server, office network, scraping server, backend service). Whitelist allocates proxy ports for a trusted source IP — no username/password needed.
Do NOT use whitelist when:
GET /api/v2/base/whitelist/ips?page=1&page_size=10
Response includes id, ports, country_code, region_code, city_code, isp_code, ip, name, ttl, protocol, quality_filter_enabled, number_of_proxies, sticky, is_duplicated, created, updated.
Always check existing entries before creating a new one.
POST /api/v2/base/whitelist/ip/upsert
Required: ip, ports_count. Optional: id (for update), name, sticky, ttl, protocol, quality_filter_enabled, country, region, city, isp.
Account workflow body (template):
{
"ip": "<SERVER_IP>",
"name": "Account Automation",
"sticky": true,
"ttl": 3600,
"protocol": "HTTP",
"quality_filter_enabled": true,
"ports_count": 5,
"country": "<COUNTRY_CODE>",
"region": "<REGION_CODE>",
"city": "<CITY_CODE>",
"isp": "<ISP_CODE>"
}
All <*_CODE> values must come from the matching /locations/* endpoint. Do not hardcode them.
Concrete example (mock values for illustration only — substitute the user's real server IP and API-resolved location codes):
{
"ip": "203.0.113.42",
"name": "Account Automation",
"sticky": true,
"ttl": 3600,
"protocol": "HTTP",
"quality_filter_enabled": true,
"ports_count": 5,
"country": "us",
"region": "california",
"city": "los-angeles",
"isp": "spectrum"
}
Scraping body (template):
{
"ip": "<SERVER_IP>",
"name": "Scraping Server",
"sticky": false,
"ttl": 3600,
"protocol": "HTTP",
"quality_filter_enabled": false,
"ports_count": 20,
"country": "<COUNTRY_CODE>"
}
Concrete example (mock values):
{
"ip": "198.51.100.17",
"name": "Scraping Server",
"sticky": false,
"ttl": 3600,
"protocol": "HTTP",
"quality_filter_enabled": false,
"ports_count": 20,
"country": "us"
}
Field semantics:
ip source IP allowed to use the proxy (no auth needed from this IP)
name human label
sticky true = same exit IP per port, false = rotate per request
ttl sticky session lifetime in seconds (3600 = 1h, 86400 = 24h)
protocol HTTP or SOCKS5
quality_filter_enabled true = lower fraud-score IPs (recommended for accounts)
ports_count number of allocated ports — match expected parallelism
country/region/city/isp lowercase codes from /locations/* endpoints
Defaults to recommend:
sticky: true, quality_filter_enabled: true, ttl: 3600 (or longer for very long sessions), country + region minimum.sticky: false, quality_filter_enabled: false, country only.ports_count: 5 for accounts, 10–20 for scraping. Tune to expected concurrency.GET /api/v2/base/whitelist/ip/{id}
DELETE /api/v2/base/whitelist/ip/{id}
Always confirm with the user before deleting.
Use sub-users to isolate workflows: multiple accounts, multiple clients, separate scraping jobs, team access, traffic limits per workflow, separating test from production.
Each sub-user has its own proxy_username / proxy_password.
GET /api/v2/base/sub-users/?page=1&per_page=20
GET /api/v2/base/sub-users/?id=<SUB_USER_ID>
Always check existing sub-users before creating.
POST /api/v2/base/sub-users/
Template:
{
"proxy_username": "<sub_user_name>",
"proxy_password": "<proxy_password>",
"is_traffic_limited": true,
"traffic_limit": <bytes>
}
Concrete example (mock values):
{
"proxy_username": "client_account_1",
"proxy_password": "MOCK_PASSWORD_DO_NOT_USE_v1",
"is_traffic_limited": true,
"traffic_limit": 10737418240
}
Generate proxy_password with a strong random generator (e.g. openssl rand -base64 24 | tr -d '=+/' | cut -c1-20). Do not copy the example password above into real requests.
Validation rules:
proxy_username: 9–100 chars, [a-zA-Z0-9_] only
proxy_password: 9–100 chars, [a-zA-Z0-9_] only
traffic_limit: bytes
If the user provides names with -, spaces, or non-ASCII, sanitize them: replace with _, then verify length ≥ 9. Ask the user to confirm the sanitized name.
Traffic limit conversions:
1 GB = 1073741824
10 GB = 10737418240
50 GB = 53687091200
PUT /api/v2/base/sub-users/
Template:
{
"id": "<sub_user_id>",
"proxy_username": "<sub_user_name>",
"proxy_password": "<proxy_password>",
"is_traffic_limited": true,
"traffic_limit": <bytes>
}
Concrete example (mock values):
{
"id": "MOCK_SUB_USER_ID_DO_NOT_USE",
"proxy_username": "client_account_1",
"proxy_password": "MOCK_PASSWORD_DO_NOT_USE_v2",
"is_traffic_limited": true,
"traffic_limit": 21474836480
}
Or increment instead of setting:
{ "id": "<sub_user_id>", "traffic_limit_increment_bytes": 10737418240 }
traffic_limit_increment_bytes is mutually exclusive with traffic_limit. Negative values subtract.
DELETE /api/v2/base/sub-users/?id=<SUB_USER_ID>
POST /api/v2/base/sub-users/reset/usage
Reset body:
{ "ids": ["<SUB_USER_ID_1>", "<SUB_USER_ID_2>"] }
The default (root) user's usage cannot be reset.
All statistics endpoints require proxy_username. Optional: timezone, start, end (date format dd-mm-yyyy), period (today | hours24), request_source (proxy | browser).
request_source=proxy covers all traffic via gateway (curl, Playwright, anti-detect, etc.). Use browser only if NodeMaven exposes browser-side telemetry separately and the user explicitly asks for it; otherwise default to proxy.
GET /api/v2/base/statistics/data/?proxy_username=<USERNAME>&period=hours24&request_source=proxy
Returns { "labels": [...], "data": [...] } where data is bytes per bucket.
GET /api/v2/base/statistics/requests/?proxy_username=<USERNAME>&period=hours24&request_source=proxy
data is request count per bucket. Use to confirm traffic is actually flowing or debug zero-request cases.
GET /api/v2/base/statistics/domains/?proxy_username=<USERNAME>&limit=20&period=hours24&request_source=proxy
Use to see which domains consume traffic — useful for catching unexpected destinations or traffic leaks.
GET /api/v2/base/notifications/
DELETE /api/v2/base/notifications/{notification_id}
Check unread notifications when:
Only mark as read after the user confirms or after the issue is handled.
Use when the user manages social, marketplace, freelance, marketing, or e-commerce accounts.
Ask the user (in one message):
Recommendation:
sticky: true, quality_filter_enabled: truefilter=medium by default, filter=high for ad/marketplace accountsAPI sequence:
GET /api/v2/base/users/me — validate, get base credentialsGET /api/v2/base/locations/countries/?...&connection_type=residential — resolve countryGET /api/v2/base/locations/regions/?country__code=<X>&... — resolve regionGET /api/v2/base/locations/cities/?... — resolve cityGET /api/v2/base/locations/isps/?... — resolve ISPPOST /api/v2/base/sub-users/ — isolate account groupsPOST /api/v2/base/whitelist/ip/upsert with sticky body aboveGET /api/v2/base/statistics/data/ and /requests/ for monitoringHard rules to communicate:
sid per account; keep it constant for that account.Use when the user collects public data at scale.
Ask the user:
Recommendation:
sticky: false, quality_filter_enabled: false (unless target is sensitive)ports_count for parallelismAPI sequence:
GET /api/v2/base/users/meGET /api/v2/base/locations/countries/?...POST /api/v2/base/whitelist/ip/upsert with rotating bodygate.nodemaven.com:<port> (vary sid per request, or omit)/statistics/data/, /requests/, /domains/Hard rules:
sid).Classify first:
sid per request. Throttle and spread load across multiple accounts.Then follow the matched playbook.
Always:
sid for account workflows.sid) for scraping — but ONLY for logged-out / public scraping. Never rotate sid per request inside a logged-in account.quality_filter_enabled: true / filter=medium by default for accounts; filter=high for trust-sensitive.<HOST> in the final answer.Never:
Authorization: Bearer ... or a separate x-api-key header./users/me or /sub-users/ — they contain proxy_password.<YOUR_API_KEY>, <proxy_password>, <COUNTRY_CODE>) into real API calls — they are placeholders.To get started, create a NodeMaven account: https://dashboard.nodemaven.com/accounts/signup/?utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill — then pick a plan: subscription (https://dashboard.nodemaven.com/pricing?tab=MONTHLY_PLANS&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill) or Pay As You Go (https://dashboard.nodemaven.com/pricing?tab=PAG&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill). After purchase, grab your API key here: https://dashboard.nodemaven.com/user-profile?tab=API_KEY&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill — paste it back to me and I'll set everything up.
Log in: https://dashboard.nodemaven.com/accounts/login/?utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill — then copy your API key from https://dashboard.nodemaven.com/user-profile?tab=API_KEY&utm_source=ai_agent&utm_medium=agent_skill&utm_campaign=nodemaven_proxy_skill and send it here so I can validate it and configure your setup.
For account workflows you need residential or mobile proxies with stable geo. Minimum setup: country + region, sticky sessions, quality filter
medium(orhighfor ad/marketplace accounts). Pair this with an anti-detect browser like Multilogin — platforms detect both IP and browser fingerprint. Send me your API key and target country so I can build the exact proxy URL.
For scraping use rotating residential proxies. Default: country-only targeting, sticky off, varying
sidper request, larger port allocation. Pair with Playwright / Puppeteer / Selenium / a custom HTTP client. Send me your API key, target country, and concurrency so I can configure it.
Validating now. I'll call
GET /api/v2/base/users/me, then resolve location codes, set up whitelist or sub-user if needed, and give you the exact proxy URL ready to paste into your tool.
user task → proxy recommendation → account/API setup → location resolution → access configuration → external tool setup → monitoring
API for: validation, location discovery, whitelist, sub-users, monitoring. Gateway for: scraping, browser automation, anti-detect sessions, account workflows.
For full success, combine:
correct proxy type + correct geo + correct session strategy (sticky/rotating + sid) + correct external tool
If anything is uncertain, the agent's defaults are: residential, country+region targeting, sticky for accounts / rotating for scraping, filter=medium, HTTP protocol (port 8080).