Skip to main content
A proxy is an intermediary server that sits between a client application (like Bruno) and the destination server that the client is communicating with (like an API). The proxy server acts as a security barrier, making requests on your behalf to websites and other internet resources, and preventing others from accessing your internal network. If your machine sits behind a corporate network or firewall, you may need to configure the proxy settings in Bruno in order for requests to be made.

Try it out

Try the proxy_configuration sample collection to see proxy setups in action:
Starting from v3.1.0+, System Proxy is enabled by default for new users and Existing users retain their current preference settings.
Below are steps for configuring your proxy settings at different levels within Bruno.

1. Accessing Proxy Settings

  1. Open Bruno.
  2. Click on the Preferences section from the bottom left corner.
  3. Navigate to the Proxy tab in the sidebar.
proxy-settings

2. Configuring Proxy Mode

Bruno provides four options for proxy mode:
  • Off: Disables proxy usage.
  • On: Enables proxy and routes requests through a manually configured proxy.
  • System Proxy: Uses the system-wide proxy settings.
  • PAC: Uses a Proxy Auto-Configuration (PAC) file to determine the proxy for each request.
Select On if you want to configure a custom proxy, or PAC if your network uses a PAC file for automatic proxy configuration.
Bruno automatically detects and uses the system proxy configuration, including PAC (Proxy Auto-Config) settings configured at the operating system level.

3. Selecting Proxy Protocol

Bruno supports different proxy protocols. Choose one of the following:
  • HTTP
  • HTTPS
  • SOCKS4
  • SOCKS5

4. Entering Proxy Details

Fill in the required fields:
  • Hostname: The proxy server’s domain or IP address (e.g., example.com).
  • Port: The port number for the proxy connection (e.g., 3000).

5. Enabling Authentication (Optional)

If your proxy requires authentication:
  1. Check the Auth checkbox.
  2. Enter the Username.
  3. Enter the Password (Click the eye icon to reveal the password if needed).

6. Configuring PAC proxy

When you select the PAC proxy mode, Bruno resolves the appropriate proxy for each request using a PAC file. You can provide the PAC file in two ways:
  • URL: Enter the URL to your PAC file (e.g., https://example.com/proxy.pac). The URL must use the http://, https://, or file:// protocol.
  • File: Click Choose file… to select a .pac file from your local filesystem.
Bruno evaluates the FindProxyForURL function in the PAC file for each request and routes traffic through the returned proxy. pac-proxy

7. Configuring Proxy at Collection Level

There may be instances in which your collection needs to use a different proxy than what you have configured globally. Configuring proxy settings at the collection level will override any configuration you’ve made in the preferences section. Below are instructions on proxy settings at the collection level:
  1. Open the collection settings.
  2. Navigate to the Proxy tab.
collection-proxy

Choose the Configuration Mode:

  • inherit: Uses the main proxy settings from Preferences.
  • Enabled: Enables a custom proxy for this collection.
  • Disabled: Disables the proxy for this collection.
  1. Choose inherit, enabled, or disabled.
  2. Enter the Hostname, Port, Protocol, Username, and Password if needed.
  3. Click Save to apply the settings.

8. Testing an API From Another Country

Some APIs answer differently depending on the country the request comes from. They may redirect to a country-specific site, return content in another language, or show regional prices. To reproduce this from your own machine, send the request through a proxy in that country, then send it again without the proxy and compare the two responses. You need an HTTP proxy with an exit in the country you want to test.

Steps

  1. Open the collection settings and go to the Proxy tab.
  2. Set the mode to Enabled, choose the HTTP protocol, and enter the proxy’s Hostname and Port. Fill in the username and password if the proxy needs them. Click Save.
  3. Send the request and note the response: status code, headers, body, and any redirect.
  4. Go back to the Proxy tab, set the mode to Disabled, and click Save. This turns off the proxy for the collection, including one inherited from Preferences. It does not affect a VPN or proxy configured outside Bruno.
  5. Send the same request again without changing anything else, and compare the two responses.
If the responses differ, check that nothing else changed between the two requests, such as cookies, cached data, or redirect handling. When you are done, set the collection proxy back to the mode it was in before.
To check that requests go through the proxy, send a request to a service that returns your public IP address. With the proxy enabled, it returns the proxy’s address instead of your own.

Using Shellroute as the proxy

Shellroute is an open-source command-line tool that runs a proxy on your machine and routes its traffic through an IP address in a country you choose. Install it, sign in with shellroute login, then start a proxy in a terminal:
Replace DE with the two-letter code of the country you want. You can also add a city, for example --city Berlin. The command prints the proxy address as proxy_url, for example http://127.0.0.1:41900. In Bruno, enter 127.0.0.1 as the Hostname and 41900 as the Port, or the values your output shows. No username or password is needed. Keep the terminal open while you test. When you are done, press Ctrl+C to stop the proxy. Any other HTTP proxy with an exit in the country you want works the same way.