๐ŸŽ‰ Premium Proxies ยท 24-Hour Free TrialClaim Now
Use Cases

Proxies for Threat Intelligence: Building SOC Infrastructure

Buying proxies for threat intelligence: a tiering table by collection task, concurrency sizing math, build-vs-buy costs, and vendor questions for SOC teams.

S SparkProxy 2 18 min read
Share
Proxies for Threat Intelligence: Building SOC Infrastructure

Proxies for threat intelligence get specified badly more often than almost any other category, because the person writing the requirement is usually a detection engineer solving a plumbing problem at 2am, not a buyer comparing plans. Two failures follow. Either the SOC keeps collecting from its corporate egress and hands every adversary it studies a clean identifier, or someone signs a metered residential contract sized for an e-commerce scraper and burns the budget on WHOIS lookups. Here is the purchase decision first, then the sizing math, the build-versus-buy numbers, and what your own security and legal reviewers will ask.

Key Takeaways

  • Buy by collection tier, not as one blanket product. Most threat-intel request volume hits sources that never score ASN, and that volume belongs on a flat, unlimited-bandwidth datacenter plan.
  • Your egress IP is telemetry the adversary collects. Phishing kits and C2 panels filter by ASN, hostname and known security-vendor ranges, so what your traffic exits under is a capability question rather than a cosmetic one.
  • Building it yourself on cloud VMs looks cheap until you price idle IPv4 addresses and remember that AWS, Azure and Google each publish their address ranges as a downloadable file any adversary can match against in five lines of code.

The Short Answer: What a SOC Should Buy

A threat intelligence program is not one collection problem. It is four, and they want different products. Match the row.

Collection taskWhat to buyWhy not the tier above or below
Passive enrichment at volume: WHOIS, passive DNS, certificate transparency, reputation and sandbox APIs, open feed pullsRotating datacenter proxies on a flat unlimited-bandwidth planThese endpoints rate-limit by IP, not by ASN. You need many exits and predictable billing, not expensive ones.
Surface monitoring: typosquat and brand sweeps, paste sites, code hosts, forums, search results across countriesDatacenter with wide country coverage plus sticky sessions where pagination mattersGeo accuracy and session stability decide the result here. IP type rarely does.
Consumer platforms: social accounts pushing lures, app-store clones, messaging web clientsA small residential or mobile allocation, geo-matched to the target audienceThese platforms score datacenter ASNs hard. Buy this tier only for the sources that measurably fail.
Adversary-controlled content: phishing pages, kit archives, open C2 panels, credential-harvest landersIsolated, compartmentalized exits that are not shared with your other collection and not registered to your organizationThis is where the exit IP becomes adversary telemetry. Cost per request is the wrong optimization.
Live malware detonation egress, or anything requiring a login to an attacker or victim accountNot a shared commercial pool. Dedicated, disposable infrastructure, and a legal conversation firstShared pools have acceptable-use policies for a reason, and account access is a legal question that no proxy answers.

The practical build for most teams: one flat datacenter plan carrying 80 to 90 percent of request volume, a small residential allocation in reserve for consumer platforms, and a separate isolated egress path for anything that touches live attacker infrastructure. Buy a single expensive tier for everything and you overpay by a large multiple while still getting filtered on the sources that matter, because IP type was never what failed.

The mechanics of running that collection, as opposed to buying it, are in the companion piece on datacenter proxies for cybersecurity threat intelligence. This post is the purchase and the architecture around it.


Why SOC Collection Is Not Just Scraping

A scraping proxy has one job: get the page. A threat intelligence proxy has three, and the extra two should drive the purchase.

The adversary reads logs too. Commercial scraping targets rarely care who is crawling them. An attacker running a phishing kit absolutely does. Off-the-shelf kits ship with blocklists that filter visitors by ASN, reverse DNS, hostname pattern and user agent, specifically to hide the lure from security vendors, crawlers and sandbox infrastructure. Researchers have documented that filtering in kit source code for years. When your collector arrives from a range that resolves to your company, you do not get an error. You get a decoy page, a 404, or a redirect to a benign site, and your feed quietly records the wrong thing. That is worse than a block, because nothing alerts.

Compartmentalization is a requirement, not a nicety. If one exit IP fetches an open C2 panel on Tuesday and enriches a customer's indicator on Wednesday, you have linked two activities in a way that exists nowhere except inside your own infrastructure. An adversary correlating panel logs across campaigns can see it. So can anyone who later obtains those logs.

Repeatability under scrutiny. Intelligence products get challenged and timelines get rebuilt months later. You need to state what you fetched, when, from which country, and what came back, then fetch it again. That favors stable geo metadata and predictable sessions over the cheapest pool with the highest churn.


Free trial

Scraping at scale? Skip the blocks.

Fast, unblockable datacentre proxies with unlimited bandwidth.

The Four Collection Tiers

Model the program as tiers with different risk and economics. That structure is what makes the budget defensible.

TierTypical share of requestsEgress requirementSensible productBurn policy
0. Passive enrichment60 to 80 percentAny clean, rotating exit; high concurrencyFlat-billed rotating datacenterReuse freely
1. Surface monitoring10 to 25 percentCountry-accurate exits, sticky where paginatedSame plan, sticky session portReuse freely
2. Consumer platforms2 to 10 percentResidential or mobile, geo-matchedMetered residential, small commitmentRotate per session
3. Adversary-controlled contentUnder 5 percentIsolated, non-attributable, never shared with tiers 0 to 2Separate credentials or a separate accountRetire the identity after the campaign

Two things fall out of that table. The tier consuming almost all your request volume is also the cheapest to serve, so per-GB pricing fits this workload badly. And tier 3 is a security control rather than a scraping problem: provision it, review it and retire it like any other sensitive access path. For the underlying differences between IP types, see the comparison of residential, datacenter and mobile proxy types.


Sizing: Concurrency, Not Bandwidth

Most teams size on monthly request count and buy four times what they need. Size on peak concurrent connections instead. The arithmetic is short:

sustained_threads = (requests_per_day x avg_seconds_per_request) / 86400
plan_threads      = sustained_threads x peak_factor

A peak factor of 3 to 4 is realistic for a SOC, because enrichment queues drain in bursts after a feed ingest or when a hunt kicks off, not at a flat rate all day.

Worked example one. You enrich 200,000 indicators a day against four sources, so 800,000 requests, each plain HTTP call taking about 1.5 seconds. That is (800000 x 1.5) / 86400, roughly 14 sustained threads. At a peak factor of 4 you land near 56, and a 100-thread plan covers it with headroom for analyst lookups.

Worked example two. Continuous monitoring across a few thousand watched domains, 2,000,000 requests a day, with rendering pushing the average to 6 seconds. That is roughly 139 sustained threads, and at a peak factor of 2.5 you need about 350. Now you are shopping in the 500-thread bracket.

SparkProxy's published datacenter plans, all unlimited bandwidth with 30 days validity:

PlanPriceConcurrent threadsWhitelist slotsSpeed ceiling
Starter$75/mo100525 Mbps
Core$140/mo2501050 Mbps
Boost$240/mo50015100 Mbps
Plus$440/mo100025150 Mbps

Larger Pro and Pro+ tiers, at 1500 and 2000 threads with 200 and 250 Mbps ceilings, exist under the Fair Usage Policy and are quoted rather than listed. Treat every speed number as a ceiling, not a guaranteed rate: real throughput depends on the target, the route, and how many threads you run at once. The network behind those plans covers over 1 million datacenter IPs across 80+ countries, including more than 50,000 US datacenter IPs, which is what makes per-country monitoring practical instead of theoretical.

One sizing trap is specific to this category: render budget moves the math more than volume does. Shifting 10 percent of your monitoring to a headless browser can double the concurrency you need. Decide the render share before you pick a plan, not after.


Build on Cloud VMs, or Buy?

Every SOC with a competent platform team asks this. DIY wins for a handful of controlled static egress points and loses badly for everything else.

Start with the part most build plans miss. AWS, Microsoft Azure and Google Cloud all publish their public IP ranges as machine-readable files anyone can download: AWS as ip-ranges.json, Azure as Service Tags, Google as cloud.json. An adversary who wants to know whether a visitor came from a cloud provider needs a JSON file and a subnet match, not a threat feed. Default cloud VMs therefore give you an exit that is trivially classifiable as automation, which is exactly the property tier 3 collection cannot have.

Then price the addresses. AWS began charging for all public IPv4 addresses on 1 February 2024 at $0.005 per address-hour, roughly $3.60 per address per month before any compute, per Amazon's own published pricing. Fifty addresses is about $180 a month in address rent alone, plus instances, egress data charges, and the engineer who maintains it. Check current rates on each provider's pricing page before you model this, since cloud pricing moves.

FactorSelf-hosted cloud VMsCommercial proxy plan
Classifiability of egressHigh. Ranges are published by the providerLower, and you can verify the ASN before buying
IP diversityLimited to what you provision, in a few subnetsLarge pool across many countries and subnets
Address costPer-address hourly charge plus computeIncluded in a flat plan
Ops burdenYours: rotation, health checks, replacement, patchingThe vendor's
Time to add a countryDays, if the provider has a region thereImmediate
Where it genuinely winsA small number of long-lived, fully controlled egress points you must own end to endEverything driven by volume or geography

The realistic architecture is both. Buy a commercial plan for tiers 0 through 2, where volume and country coverage decide the outcome, and keep a small owned egress path for work where you must control every packet and every log. Do not make either one do the other's job.


Segmentation: One Account Is Not One Pool

This is where the buying decision and the security architecture meet, and where the plan spec sheet starts to matter in a way nobody writes about.

Whitelist slots cap how many collector hosts you can authorize by IP. Starter includes 5, Core 10, Boost 15, Plus 25. Run twelve collectors across three regions and Starter cannot express that with IP authorization, regardless of thread count. Username and password authorization scales without slot limits and travels better through containers and ephemeral workers, so most SOC deployments should use credentials for collectors and reserve whitelist slots for fixed, long-lived hosts. The mechanics of both are in how proxy authentication works.

Issue credentials per workstream, not per team. Separate credentials for enrichment, brand monitoring, hunt support and sensitive collection buy you three things: attribution of spend, the ability to revoke one workstream without a global rotation, and a hard boundary that stops tier 3 traffic exiting on a tier 0 identity because somebody copied a config file.

Write a burn policy before you need one. Decide in advance what happens to an exit identity used against adversary-controlled infrastructure: retire it, never reuse it for benign enrichment, record which campaign it touched. Two lines of policy prevent a correlation problem you cannot fix afterwards.

Rotate on a schedule, not on incident. Credential rotation at case close or on a fixed cadence is cheap. Rotation performed in a panic during an active investigation is how collection stops mid-hunt.


Wiring It Into the SOC Stack

The plumbing is short. SparkProxy routes through gateway.sparkproxy.io on three ports: 11000 for HTTP and HTTPS, 11002 for sticky sessions, 13000 for SOCKS5. Rotating exits come from 11000; use 11002 when a task needs one IP across several requests.

# Confirm what a target actually sees before you point this at anything
curl -x http://USER:PASS@gateway.sparkproxy.io:11000 \
     -s https://ipinfo.io/json

# Sticky session for a paginated source that must stay on one exit
curl -x http://USER-session-hunt2291:PASS@gateway.sparkproxy.io:11002 \
     -s https://ipinfo.io/json

Run the first command a dozen times before production and record the ASN and org values. That is your disclosure surface, and checking it costs two minutes. When sticky beats rotating is covered in what a sticky session proxy is.

For rendered pages and evidence capture without a browser fleet, the SparkProxy Scraping API at https://scrape.sparkproxy.io/api/v1 takes an X-API-Key header and handles rotation, rendering and country routing:

import requests

API = "https://scrape.sparkproxy.io/api/v1"
KEY = "YOUR_API_KEY"

def collect(url, country="US", render=False, shot=False):
    r = requests.get(
        API,
        headers={"X-API-Key": KEY},
        params={
            "url": url,
            "country_code": country,
            "render_js": "true" if render else "false",
            "screenshot": "true" if shot else "false",
            "format": "md",
        },
        timeout=90,
    )
    r.raise_for_status()
    return r.json()

# Enrichment: cheap, no browser
page = collect("https://indicator-under-review.test/robots.txt")

# Suspected lure: render it and keep an image for the report
lure = collect("https://suspect-lure.test/login", country="DE", render=True, shot=True)

Credit costs matter here, because SOC volume is lumpy. The Scraping API gives 1,000 free credits with no card, then Starter at $49 for 250,000 credits a month with 50 concurrent requests, Growth at $99 for 1,000,000, Pro at $249 for 3,000,000, and Scale at $599 for 8,000,000. A plain fetch costs 1 credit, a JavaScript render 5, and a screenshot or PDF 10, so capture images only on pages that may reach a report. Requesting format=md also returns clean Markdown instead of raw HTML, which makes diffing a watched page across two runs much easier. The wider trade-off between an API and self-managed exits is laid out in web scraping API vs self-managed proxies.


Running It: The Failure Modes That Matter

Fail closed, always. The worst outcome is a collector that falls back to direct egress when the proxy is unreachable, publishing your corporate IP to attacker infrastructure. Set the proxy in the HTTP client rather than OS-wide, assert the exit IP at the start of every batch, and abort the run if that assertion fails. Better still, run collectors in a container whose default route is denied, so a misconfiguration cannot reach the internet at all.

Watch DNS separately. Traffic can route through the proxy while name resolution goes out over your own resolver, telling the adversary's authoritative DNS server exactly who is looking. Test for that before go-live using the proxy DNS leak testing guide.

Instrument silent failure. Soft blocks matter more than hard blocks here, because a decoy page returns HTTP 200. Alert on status distribution, response-size distribution and content fingerprint drift per source, not only on error rates. The patterns are catalogued in how to detect when your scraper is blocked.

Rate-limit yourself. Hammering small research sites and community feeds is how a SOC loses access to sources it depends on. The ethical scraping and rate limiting guide covers sensible pacing.

Record the collection event. For anything that may reach a product, store the URL, UTC timestamp, exit IP and country, HTTP status, response headers, and a SHA-256 hash of the raw body taken before parsing. Normalize first and you have hashed your pipeline's output, not what the source served.


Honest Trade-Offs

Four things a vendor is unlikely to raise.

A shared commercial pool is the wrong place for malware detonation. You would put attacker-facing traffic on exits other customers use, and most acceptable-use policies prohibit it. Detonation egress belongs on infrastructure you own and can burn.

Datacenter exits will fail on consumer social platforms. No amount of rotation defeats an ASN check. If tracking lures across social surfaces is core to your program, budget for residential from day one instead of discovering it in week three. Platform-specific patterns are in the notes on social media monitoring with proxies.

Unlimited bandwidth is not unlimited speed. Flat plans carry a speed ceiling and a fair usage policy. For bursty SOC workloads that ceiling rarely binds; for continuous multi-terabyte crawling it will.

Pool size is a vanity metric. A million addresses packed into a handful of subnets serves you worse than a smaller pool spread widely. Ask about subnet diversity in the countries you actually monitor.


Frequently asked questions

Frequently Asked Questions

Most threat intelligence collection runs fine on rotating datacenter proxies with a flat, unlimited-bandwidth plan, because enrichment APIs, registries and feeds rate-limit by IP rather than filtering by ASN. Add a small residential allocation only for consumer platforms, and keep a separate isolated egress for anything touching adversary-controlled infrastructure.

Size on peak concurrency, not on IP count or monthly volume. Multiply daily requests by average seconds per request, divide by 86,400, then multiply by a peak factor of 3 to 4. Enriching 200,000 indicators a day across four sources lands near 56 threads, which a 100-thread plan covers comfortably.

For passively viewing an open phishing page or a public kit archive, a compartmentalized commercial exit is normally fine, provided the provider's acceptable-use policy allows security research. Live malware detonation and anything interactive belongs on dedicated infrastructure you own and can retire, not on exits shared with other customers.

Only for a small number of long-lived egress points you must fully control. Cloud providers publish their address ranges as downloadable files, so cloud-hosted exits are trivially classifiable, and public IPv4 addresses now carry an hourly charge that makes even modest fleets expensive before compute.

They help on the minority of sources that reject datacenter ASNs outright, mainly consumer social platforms and some mobile app endpoints. Paying metered residential rates for WHOIS, passive DNS and certificate transparency lookups is the most common budget mistake in this category.

Using proxies is lawful in most jurisdictions, and in the US collecting publicly accessible pages is supported by hiQ Labs v. LinkedIn (9th Cir., 2022). The constrained parts are what you access and what you process: logging into attacker or victim accounts, and handling personal data from breach dumps without a documented lawful basis, are legal questions no proxy purchase resolves.

Special Discount ยท 20% off

Get 20% off your first month

Premium datacentre proxies with unlimited bandwidth. Use the code at checkout.

Save up to 15% more on quarterly, half-yearly and yearly plans

Claim Discount

About the Author

The SparkProxy Technical Team builds and operates proxy and web-data infrastructure: datacenter proxies across 80+ countries, residential proxies, and the SparkProxy Scraping API. We work with security, threat-intelligence and research teams running collection against defended, geo-restricted and adversary-controlled sources, and these guides reflect what holds up in production rather than what reads well on a pricing page. Product details and API documentation are at sparkproxy.io and sparkproxy.io/docs/scraping-api.

Keep reading

Related articles