Make an HTTP/S request to a third-party API

Fixie is a proxy service that provides static IP addresses. Fixie provides an HTTP proxy that makes it easy to make HTTP/S requests to third-party APIs and webservices that require IP whitelisting.

If your application is hosted on Vercel or Heroku, please also check out their respective documentation pages for more details

We recommend using the FIXIE_URL environment variable to provide your Fixie crentials to your application. If you use the Vercel or Heroku addon, this environment variable will be set for you automatically.

To make a request to an external API through a static Fixie IP, using Python:

import os, requests
proxyDict = {
              "http"  : os.environ.get('FIXIE_URL', ''),
              "https" : os.environ.get('FIXIE_URL', '')
            }
r = requests.get('http://example.com', proxies=proxyDict)

Or, equivalently in JavaScript:

const HttpsProxyAgent = require('https-proxy-agent');

const response = await fetch("http://example.com", {
  agent: new HttpProxyAgent({
    proxy: process.env.FIXIE_URL
  }),
});

Your static IP addresses

Each Fixie proxy group has two static IP addresses, and when you make a request through your FIXIE_URL your requests are load-balanced across these two IPs.

You can find the IP addresses for your subscription in the Fixie Dashboard.

If you need to make requests from a single IP address, you may also address either IP directly instead of using a subdomain, but doing so will sacrifice the availability benefits of load-balancing across two availability zones.

HTTPS requests are encrypted end-to-end

When you make an HTTPS request over an HTTP proxy like Fixie, your request library makes a CONNECT request to establish a secure tunnel and then makes the HTTPS request through that tunnel. This is called HTTP Tunneling.

HTTP Tunneling allows encrypted HTTPS data to pass through the proxy opaquely, ensuring end-to-end encryption between the client and server. The proxy has no ability to inspect or alter the traffic that traverses the tunnel.

If you exclusively make requests to HTTPS resources, this generally means that you do not need to consider Fixie to be a data processor for the purposes of GDPR and similar regulations.

Language-specific documentation

All popular HTTP/S clients support HTTP proxies like those provided by Fixie. You can find documentation for your language of choice below:

Having issues? Please reach out to our team here.