Static IP guide

Making API requests with a static IP from a Node app on Vercel

Vercel functions run across a broad, changing pool of egress IPs, so API partners that allowlist callers cannot rely on them. The Fixie Vercel integration provisions a proxy and injects FIXIE_URL into your project, and each function invocation routes its axios calls through your two static addresses.

RuntimeNode.js and JavaScript
PlatformVercel
DestinationAPI allowlisting
Fixie productFixie Vercel integration

Recommended setup

Use Fixie Vercel integration for HTTP and HTTPS requests to an API, webhook provider, or service that allowlists outbound IP addresses. Store the proxy value in FIXIE_URL, then configure Node.js to route outbound traffic through Fixie before connecting to API allowlisting.

Set up Fixie on Vercel

Add the Fixie Vercel integration, create a proxy in the Fixie dashboard, and connect it to the Vercel project and environment. The integration can create FIXIE_URL in Vercel Environment Variables for the connected project.

Pull Vercel environment variables locally

vercel env pull
grep FIXIE_URL .env.local

Implementation

The example below shows the core application-side change. Keep credentials in environment variables and avoid committing proxy, database, or API secrets.

Make an HTTP request through FIXIE_URL

const axios = require('axios');

const fixieUrl = new URL(process.env.FIXIE_URL);

axios.get('https://api.example.com/data', {
  proxy: {
    protocol: 'http',
    host: fixieUrl.hostname,
    // URL drops default ports, so fall back to 80 for Fixie's standard proxy port.
    port: Number(fixieUrl.port) || 80,
    auth: {
      username: fixieUrl.username,
      password: fixieUrl.password,
    },
  },
}).then((response) => {
  console.log(response.status);
});

Good to know

  • Use the Node.js runtime for these routes — Edge functions cannot use an HTTP proxy for outbound requests.
  • Run vercel env pull to bring FIXIE_URL into .env.local for local development parity.
  • The proxy adds one hop, typically a few milliseconds — pick a Fixie region near your function region to keep it that way.

Allowlist and test the static IPs

  1. Open the Fixie dashboard and copy the outbound IP addresses for this proxy.
  2. Add both IPs to the API provider.
  3. Deploy the updated Node.js app on Vercel.
  4. Run a small connection test before sending production traffic.

Related guides

Related docs