Skip to main content
Install the Rust SDK and send your first request with reqwest. The nodemaven crate builds validated proxy configurations for Rust. Use the resulting URL with your HTTP client, or get separate authentication fields for a browser driver. The crate also includes a synchronous account API client.

Before you start

You need Rust 1.85 or newer, an active Residential/Mobile plan with available traffic, and your proxy credentials. This quickstart uses SDK version 0.2.2 and the blocking reqwest client.

1. Create a project

The blocking feature lets this example run without an async runtime. The rustls-tls feature enables HTTPS requests. The SDK’s built-in account API transport is enabled by default. If you only build proxy configurations, you can disable default features for the nodemaven dependency. An account API client then needs a transport supplied by your application.

2. Set your proxy credentials

In the NodeMaven dashboard, open Rotating Residential Proxy → Authenticated and find your credentials under Proxy generator. Proxy Setup 2 Use the base username for your main user or sub-user, without generated parameters such as -country-us. The SDK adds the parameters you set in code. Your dashboard sign-in credentials will not authenticate a proxy. On macOS or Linux:
On Windows PowerShell:
Run the program from this terminal so it inherits the variables. The SDK does not load .env files automatically.

3. Send your first request

Replace src/main.rs with:
Run it:
The output contains the proxy’s public exit IP. For example:
This is illustrative output. Your IP will be different, and the request uses proxy traffic. The builder reads your proxy credentials from the environment. filter="medium" corresponds to the dashboard’s Quality mode. Building the object alone makes no network request.

Use the proxy with an async client

proxy.url() also works with reqwest::Client. Your application supplies the async runtime and HTTP client. Keep connection-check and account API calls in mind: those SDK methods are synchronous, so move them off the async executor’s worker threads when necessary.

Configure a browser driver

Use proxy.browser() to retrieve a BrowserProxy with separate server, username, and password fields:
Map those fields to the authentication options required by your driver. The SDK does not launch a browser or manage its lifecycle. Browser libraries differ in how they accept proxy authentication, so use the driver’s own documentation for that step.

Choose the right output

Do not encode credentials returned by browser() again. Do not log the authenticated URL or password field.

Next steps

Full method reference: docs.rs. Source and issues: nodemaven-rust.