Know what's actually happening on your proxy stack

Self-hosted MITM router + dashboard that records every request - status, latency, bytes, target, exit IP geo, and cost - across every vendor you use, then rolls it up so you can compare providers, audit pool quality, debug failures, and attribute spend

ProxyMetrics gives you answers

  • ✅ What is my real bandwidth usage versus what providers report?
  • ✅ What is my error rate, grouped by provider and/or proxy type (residential, mobile etc)?
  • ✅ How accurate is the requested proxy location versus the provided proxy location (GEO mismatch)?
  • ✅ What percentage of provided proxies are not what I requested (requested residential, got datacenter)?
  • ✅ What is the captcha occurrence rate grouped by provider and/or proxy type (residential, mobile etc)?

Proxy Audit & Truth-in-Advertising

Verify that the proxies you're paying for actually match what was sold. Every request is geo-checked (via API with a MaxMind fallback) and IP-typed so you can see when the exit node's real country, city, or ASN drifts from the location you requested. We flag mismatches automatically - including the big one some vendors hate: residential plans silently serving datacenter IPs. Stop trusting the dashboard and start trusting the data.

Per-Provider Traffic Analysis

Drill into your proxy traffic by provider, profile, and credential to see what you're actually getting for the money. Latency, success rates, geo distribution, IP-type breakdown, and request volume are aggregated from your real traffic - not vendor-supplied stats - so you can compare providers head-to-head, spot degradation early, and decide where to shift budget based on evidence from your own workloads.

Install

# macOS or Linux — Homebrew
brew install drsoft-oss/tap/proxymetrics

# Windows or anything else — grab a tagged release
# https://github.com/drsoft-oss/proxymetrics/releases/latest

Run

export PROXYMETRICS_SECRET=$(openssl rand -hex 16)

# grab a default config
curl -fsSL https://raw.githubusercontent.com/drsoft-oss/proxymetrics/main/config.example.yaml -o config.yaml
export PROXYMETRICS_SECRET=$(openssl rand -hex 16)

proxymetrics serve -c config.yaml

Use proxies

The original proxy url is wrapped into the username (using base64 encoding) of our ProxyMetrics proxy auth url. It's what we call the upstream proxy and it's the proxy which our tool will forward the traffic to. Notice how we also injected provider, type and price into it so that our dashboard can start creating reports.

# your real upstream proxy URL, with vendor creds and credtags inline
UPSTREAM='http://username-country-us-provider-anonymous-type-residential-price-400:[email protected]:12345'

PROXY_USER=$(printf %s "$UPSTREAM" | base64 | tr -d '=' | tr '+/' '-_')

curl --cacert ./proxymetrics-ca.crt \
  -x "http://$PROXY_USER:$PROXYMETRICS_SECRET@localhost:8080" \
  https://example.com

Open the dashboard

Go to http://localhost:8080 or whatever port you decided to put in the config file and see the dashboard. Proxy traffic and reporting will appear there.

Per-request spend

Every request gets a price tag: measured bytes × your vendor's $/GB. Roll up by provider, target host, status code, team or project. Find the $300 overage in the morning, not on the invoice.

One-click proxy audit

Paste an upstream URL, set the country you're paying for, run 200 requests. Get back exit-IP geolocation match rate, residential-vs-DC ASN flags, latency percentiles and a shareable run report.

Real-time request stream

Server-sent events feed of every in-flight request. When a job suddenly stalls, you can see who is hitting which target, with which provider, right now. Better than tailing a logfile.

Recommended proxies

Rotating Mobile Proxies

Real 4G/5G mobile IPs that rotate on every request. Highest trust score of any proxy type. Undetectable on mobile-only targets, apps, and social platforms.

Get Rotating Mobile Proxies
  • Real 4G/5G mobile IPs
  • Undetectable on mobile targets
  • Highest trust score available
  • Rotates every request automatically
  • Works on apps and social

Rotating Residential Proxies

Millions of real residential IPs that rotate per request or session. No bans, no blocks. Built for high-volume scraping on the most protected targets.

Get Rotating Residential Proxies
  • Millions of rotating residential IPs
  • Rotate per request or session
  • Real ISP-assigned addresses
  • Zero IP ban risk
  • High-volume scraping ready

Frequently Asked Questions

What does ProxyMetrics actually do?

It's a forward proxy you put between your scrapers and your real proxy vendor. It measures bytes, status codes and latency on every request, multiplies bytes by the vendor's price-per-GB you declared, and writes the result into an embedded database. The dashboard then shows detailed breakdowns that are grouped by vendor or type (residential, mobile etc)

Does it ever see my vendor credentials?

It has to forward them, but it doesn't store them. Your real upstream URL (with vendor user and password) is base64url-encoded into the username slot ProxyMetrics receives. Three reserved tags inside that username — provider-type- and price- — are stripped before forwarding. Everything else passes through verbatim.

Will it slow down my scrapers?

On a single $5 VPS the proxy hot path runs at hundreds of requests per second per core. Added latency is dominated by your upstream vendor's RTT, not by ProxyMetrics. There are go test -bench targets in the repo if you want to measure on your own hardware before you commit.

Why MITM? Doesn't that break TLS?

It terminates TLS so it can count actual response bytes and read the status code, then re-encrypts on the upstream leg. You install its generated CA on the client, or pass --cacert per request. The CA stays on your machine and the fingerprint is on the dashboard's Settings page so you can verify it before trusting it.

How is this different from Scrapoxy or mitmproxy?

Scrapoxy was a router with light stats and the project is no longer maintained. mitmproxy is a Python MITM with a great inspector but no cost model, vendor separation or proxy type separation and reporting. ProxyMetrics is built for the cost-attribution problem first: per-request spend, wasted-spend by status code, and a proxy audit module that geolocates exit IPs to catch DC pools sold as residential. It also runs as a single Go binary instead of a Node + Mongo or Python stack.

Related tools

No posts found.
 

Ready to get started?

We accept all forms of payment, including crypto.