Geonode logo

Alternative data scraping proxies for investment signals

Quick answer

Alternative data scraping for investors needs residential proxies with country and city targeting, so that job counts, app rankings, prices and review velocity are captured as a local user sees them, on a fixed schedule, with a timestamp you can defend. Geonode residential covers 195+ countries from $0.27/GB, and the Unlimited Scraper has ready targets for Amazon, Google, eBay, LinkedIn and others for structured collection.

Why alternative data collection breaks without the right proxies

Alternative data is only useful as a consistent time series. A job-postings count for a retailer must be collected the same way, from the same region, every day. Career sites and job boards apply per-IP rate limits and serve hosting ranges a reduced or cached result set, so a crawl from one datacenter IP produces a series with gaps and sudden step changes that have nothing to do with the company.

App-store rankings are regional. The top-grossing chart in Japan is not the chart in the US, and the store decides which one to show from your IP. Pricing pages on e-commerce and travel sites geo-resolve the same way, so a single-origin crawl mixes markets without telling you.

Review platforms and store-locator pages are the usual proxies for consumer demand and footprint. They are also the most aggressively rate-limited: dozens of requests from one IP bring HTTP 429, CAPTCHAs or shadow-limited pages that return a 200 with half the reviews missing.

Any of these failures silently corrupts the signal. The defence is many residential IPs, strict region control and logging that lets you prove what was captured when.

Which Geonode proxy type fits

The recommended product for alternative data scraping is Residential Proxies, with the Unlimited Scraper for targets it already supports. Residential IPs from real consumer devices in 195+ countries, with country, state, city and ASN targeting (state and city not combined in one request), let you collect each signal from the market it belongs to. 30 to 50 million unique IPs rotate monthly, which keeps per-IP request counts on any one platform low.

Rotating mode suits daily snapshot collection. Sticky sessions up to 24 hours are for signals that need a logged-in or stateful view, such as a store locator that keeps the entered postcode in a session.

The Unlimited Scraper has ready targets for Amazon, Google, eBay, Zillow, LinkedIn and more, returning structured JSON. For job-postings, product-pricing and review-velocity signals on those platforms it removes parser maintenance entirely; monthly plans run from $47 for 2 threads to $1,799 for 100 threads.

  • Residential — Best for: Job boards, app stores, regional pricing, reviews, store locators; IP source: Real consumer devices, 195+ countries, 2.5M IPs online; Session: Rotating or sticky up to 24 h; Price from: $0.27/GB at volume; 10 GB = $7.92
  • ISP (static residential) — Best for: Fixed-identity daily checks on a short list of pages; IP source: Static IPs from real ISPs; Session: Unlimited sessions, unlimited bandwidth; Price from: $1.25/IP
  • Datacenter — Best for: Regulatory filings, press releases, investor-relations pages; IP source: Rotating datacenter ranges; Session: Rotating; Price from: $0.14/GB

How to set it up

  1. Define each signal as a tuple: source, query or URL set, region, cadence, and the field you extract. Freeze it; changing collection mid-series breaks the backtest.
  2. Map each source to a collection method: Unlimited Scraper target where one exists, residential proxy plus your parser elsewhere, datacenter for filings.
  3. Build usernames per region with rotating residential, and schedule each signal at the same UTC time daily so snapshots are comparable.
  4. Store raw responses with the proxy username, timestamp, status and byte count. Derive the metric in a separate step so you can recompute it later.
  5. Run two weeks of collection, check for gaps and outliers against manual spot checks, then promote the series to production.
# verify endpoint against docs.geonode.com before publishing
import requests

USER = "USERNAME-country-us-city-chicago"   # rotating snapshot
PASS = "PASSWORD"
proxy = f"http://{USER}:{PASS}@premium-residential.geonode.com:9000"

r = requests.get(
    "https://example-careers.com/search?company=acme&location=chicago",
    proxies={"http": proxy, "https": proxy},
    headers={"Accept-Language": "en-US"},
    timeout=30,
)
# store r.text raw; count postings in a separate parsing step
print(r.status_code, len(r.text))

Get the exact snippet for your language from the API Code Generator in the dashboard.

Alternative-data-specific settings that matter

Same region, same time, every run

A signal is only comparable if the collection is fixed. Pin the username region, the cadence and the query for each series, and document them in the dataset metadata. Any change should start a new series version rather than altering the existing one.

Rotating by default, sticky by exception

Daily snapshots of job counts, rankings and prices should rotate so no IP accumulates requests on one platform. Use a session id only when the source keeps state across pages, and release it after the flow completes.

Shadow-limit detection

Rate-limited platforms often return 200 with fewer results instead of an error. Record result counts per request and compare against a rolling baseline. A sudden drop with a 200 status is a collection fault, not a signal, and should be re-requested from a fresh session before it enters the dataset.

Raw storage and point-in-time proofs

Keep the raw HTML or JSON for every snapshot along with headers and the proxy username. Compliance teams and backtests both need to see exactly what was observable at a given time, not a derived number.

What Geonode gives you for alternative data

  • Residential IPs in 195+ countries with country, state, city and ASN targeting.
  • 30 to 50 million unique IPs rotating monthly for low per-IP footprint.
  • Unlimited Scraper ready targets for Amazon, Google, eBay, Zillow, LinkedIn and more.
  • Scraper API returning JSON, Markdown or HTML with JavaScript rendering.
  • Pay-as-you-go billing, card or crypto, 24/7 support.

Pricing for alternative data

Residential traffic is pay-as-you-go from $0.27/GB at volume, with an entry plan of 10 GB for $7.92 per month and a 3-day trial for $5. There is no contract. The Scraper API is free for 1.5K requests per month, then from $3.50 per 10K, with Unlimited Scraper plans from $47 to $1,799 per month. Datacenter starts at $0.14/GB. Details on the pricing page.

FAQ

What is alternative data scraping for investors?

It is the scheduled collection of public web signals that are not in market feeds: job-posting counts, app-store rankings, product prices, review velocity, store counts and similar. Captured consistently over time, these series inform earnings expectations and sector views before official reports.

How does alternative data scraping differ from stock-market data collection?

Stock-market data covers public market feeds: quotes, order books, filings and exchange notices. Alternative data covers operational signals from company and third-party websites. The proxy requirements differ too: market feeds rarely geo-resolve, while alternative sources need regional residential IPs.

Why do alternative data scraping pipelines need regional residential proxies?

Job boards, app stores, pricing pages and review sites serve different content by visitor country and city, and limit hosting ranges. Residential IPs with city targeting return the local view consistently, which keeps the time series comparable from one day to the next.

Is collecting web signals for investment compliant?

Collect only publicly available data, respect each platform's terms, robots policy and rate limits, honour GDPR and CCPA for any personal data in reviews or profiles, and never collect credentials or private content. Use accounts you own or manage with authorisation. Geonode's AUP prohibits fraud, spam and credential abuse.

Should I use the Unlimited Scraper or plain proxies?

Use the Unlimited Scraper where a ready target exists, such as Amazon, Google, eBay, Zillow or LinkedIn, to get structured JSON without parser maintenance. Use residential proxies with your own parser for sources it does not cover.

How do I prove when a data point was captured?

Store the raw response, response headers, proxy username and a UTC timestamp for every request. That record shows what was publicly observable at that moment and from which region, which is what compliance reviews and backtests require.

Start

Create an account, run the $5 three-day trial on one signal in one region for a week, and check the series for gaps before adding sources. Get started or Contact sales for panel-scale volume and Unlimited Scraper plans.

Related: Job listings data · Review monitoring · Stock market data