Skip to content

Alternative Data: What It Is and How Investors Collect It From the Web

Alternative data is information about companies that doesn't come from the companies themselves: web prices, job posts, reviews, sentiment, filings and politicians' trades. The main types, their public web sources, two real runs joined in Python, costs and compliance rules.

Published
Reading time
10 min read
Pixel-art robot with an orange >_ on its terminal head pushes a data card into a monitor showing a rising candlestick price chart, fed by cables from a job card, a review slip with gold stars and a filing with a red seal
In this article
  1. Alternative data vs traditional data
  2. Types of alternative data you can collect from the web
  3. How funds turn web data into signals
  4. A real run: the newest congressional stock trades
  5. Join it with market data
  6. Alternative data providers vs collecting it yourself
  7. Compliance: what matters with alternative data
  8. What it costs
  9. Why Scrape.ly for alternative data
  10. FAQ
  11. What is alternative data in simple terms?
  12. What are examples of alternative data?
  13. Is alternative data legal to use?
  14. Who uses alternative data?
  15. Where can I get congressional stock trading data?

Alternative data is information about a company, sector or economy that doesn't come from the company's own reports or from traditional market data feeds. Investors use alternative data such as web prices, job postings, product reviews, social sentiment, app and web traffic, and public disclosures to see what is happening before it shows up in earnings.

Much of it is collected from public websites. This guide covers the main types of alternative data, where each comes from on the web, how funds turn raw pages into signals, and how to collect it yourself with Scrape.ly. On 26 October 2026 we pulled the newest stock trades disclosed by members of Congress and live quotes for the tickers involved, then joined them in Python. You'll see both runs, the code, the cost, and the compliance rules that decide what you can do with the data.

Alternative data vs traditional data

Traditional data is what companies and exchanges publish about themselves: financial statements, earnings calls, guidance, press releases, prices and volumes. Wikipedia's definition puts the difference simply: alternative data sets are "information about a particular company that is published by sources outside of the company".

Traditional data Alternative data
Who publishes it The company, exchanges, regulators on a schedule Customers, employees, retailers, platforms, governments
Frequency Quarterly or annual Daily, hourly, sometimes real time
Examples 10-K, earnings call, price history Product prices, job posts, reviews, web traffic, social posts
Structure Standardised Messy; needs cleaning, mapping to tickers, history
Edge Everyone has it at the same moment Can lead reported numbers, if you collect it early and well

The edge is timing. A retailer's quarterly revenue is a lagging number; the prices on its website, the jobs it's hiring for and what customers write about it this week are leading ones.

Types of alternative data you can collect from the web

The FISD Alternative Data Council's guide lists web-scraped data, sentiment, credit card and point-of-sale data, search trends and crowd-sourced data among the most popular types. Card and point-of-sale panels come from data partnerships, not websites. The others can be collected from public pages, and most have a ready-made Actor in the Scrape.ly Store:

Type What it can tell you Public web source Store Actor List price
Prices and discounts Pricing power, promotions, inflation by category Retailer pages, Amazon price history Keepa Scraper $5.31 per 1,000 products
Hiring Expansion, new products, cost cutting Job boards LinkedIn Jobs Scraper $1.81 per 1,000 jobs
Employee sentiment Morale, churn risk Employer reviews Glassdoor Reviews Scraper $3.02 per 1,000 reviews
Customer sentiment Product problems, brand momentum Review sites Trustpilot Reviews Scraper $0.70 per 1,000 reviews + $0.02 per run
Investor sentiment Retail positioning on a ticker StockTwits messages with Bullish/Bearish tags StockTwits Scraper $2.04 per 1,000 messages
Web traffic Demand for a company's site Similarweb estimates Similarweb Scraper $1.50 per 1,000 sites + platform usage
Search interest Consumer attention to a brand or product Google Trends Google Trends Scraper $2.00 per 1,000 results + platform usage
Insider and fund filings Form 4 insider trades, 13F holdings, 8-K events SEC EDGAR SEC EDGAR Scraper $0.42 per 1,000 filings
Politicians' trades What members of Congress buy and sell House and Senate disclosure reports Congress Stock Trades Scraper $1.87 per 1,000 trades
Market context Price, valuation, analyst targets, news Yahoo Finance Yahoo Finance Scraper $0.54 per 1,000 tickers

Prices are list prices checked on 26 October 2026, platform usage included unless the row says otherwise. Our guides to price scraping, job scraping and Twitter sentiment analysis go deeper on three of these types.

How funds turn web data into signals

Collecting pages is the easy half. The work that makes alternative data usable:

  1. Map every row to an entity. A job post names "Meta", a review names a store, a product page names a brand. Map each to a ticker, and keep the mapping versioned, because brands get sold and renamed.
  2. Store it point in time. Save when you collected each row (many Store Actors add a timestamp such as scrapedAt, and every run records when it started) and never overwrite history. A backtest that uses today's version of last year's data is lying to you.
  3. Collect on a fixed schedule. A signal like "job posts up 20% month on month" only means something if you collected the same way every month.
  4. Build history before you need it. Most web data can't be backfilled: yesterday's prices and reviews are gone once they change. Disclosures are the exception: the Congress trades Actor reads House reports from 2008 and Senate reports from 2012.
  5. Validate against reported numbers. Check whether your signal would have predicted past results before you trade on it.

A real run: the newest congressional stock trades

The STOCK Act requires members of Congress to disclose stock trades in Periodic Transaction Reports, published by the Clerk of the House and the Secretary of the Senate. The Congress Stock Trades Scraper reads both live and returns one row per transaction. We started from the Store preset Latest trades by Congress members, lowered the limit to 5 and turned off the free rows for scanned paper reports:

json
{
  "maxResults": 5,
  "chamber": "both",
  "includeScannedReports": false,
  "includeMemberDetails": true
}

It saved 5 transactions from 2 reports in 15 seconds:

Member Party, state Asset Type Traded Disclosed Days to disclose Amount
Darrell Issa Republican, CA US Treasury Note 3.375% due 09/15/28 Purchase 2026-10-08 2026-10-22 14 $5,000,001 - $25,000,000
Darrell Issa Republican, CA US Treasury Note 3.375% due 09/15/28 Sale 2026-10-14 2026-10-22 8 $5,000,001 - $25,000,000
Cleo Fields Democrat, LA NVIDIA Corporation (NVDA) Purchase 2026-10-01 2026-10-22 21 $1,001 - $15,000
Cleo Fields Democrat, LA NVIDIA Corporation (NVDA) Purchase 2026-10-01 2026-10-22 21 $1,001 - $15,000
Cleo Fields Democrat, LA NVIDIA Corporation (NVDA) Purchase 2026-10-01 2026-10-22 21 $1,001 - $15,000

Three details show what alternative data work looks like in practice:

  • The three NVDA rows are not duplicates. Each has its own line number in the report and a different account (two brokerage accounts and an IRA). Deduplicate on report ID and line number, never on the visible fields.
  • Amounts are ranges, not numbers. Disclosures give bands. The Actor adds amountMin and amountMax, so the three NVDA purchases sum to $3,003 to $45,000.
  • The lag is the signal's weak spot. These trades became public 8 to 21 days after they happened (daysToDisclose). Whatever you build on them reacts weeks late, which is why journalists use them as much as traders do.

Join it with market data

A trade means more next to the stock it's in. We ran the Yahoo Finance Scraper for three tickers with only the blocks we needed (profile, price, statistics, analyst recommendations and three news headlines each). It saved 3 tickers in 4 seconds:

Ticker Price (14:26 UTC) Change Market cap Analyst mean target Consensus
NVDA $214.92 +1.88% $5.19 trillion $328.95 strong buy
MSFT $526.88 +0.45% $3.91 trillion $601.73 strong buy
AAPL $345.39 -0.67% $5.04 trillion $329.25 buy

This Python script (pip install scrapely-client-python) runs both Actors, groups the trades by member, ticker and date, and adds the quote:

python
import os
from collections import defaultdict
from scrapely_client import ScrapelyClient

client = ScrapelyClient(os.environ["SCRAPELY_TOKEN"], api_url="https://api.scrape.ly")

def items(actor, run_input):
    run = client.actor(actor).call(run_input=run_input)
    return list(client.dataset(run.default_dataset_id).iterate_items())

trades = items("querystone/congress-trades-scraper",
               {"maxResults": 5, "chamber": "both", "includeScannedReports": False})
tickers = sorted({t["ticker"] for t in trades if t.get("ticker")})
quotes_raw = items("querystone/yahoo-finance-scraper",
                   {"tickers": tickers, "dataSections": ["profile", "price", "statistics"]})

def summarize(trades, quotes_raw):
    quotes = {q["ticker"]: q for q in quotes_raw}
    groups = defaultdict(lambda: {"n": 0, "min": 0, "max": 0})
    for t in trades:
        if not t.get("ticker"):
            continue
        g = groups[(t["memberName"], t["ticker"], t["transactionType"], t["transactionDate"], t["disclosureDate"])]
        g["n"] += 1
        g["min"] += t["amountMin"]
        g["max"] += t["amountMax"]
    for (member, ticker, kind, traded, disclosed), g in groups.items():
        q = quotes.get(ticker) or {}
        target = (q.get("stock_info") or {}).get("target_mean_price")
        yield {
            "member": member, "ticker": ticker, "type": kind, "traded": traded, "disclosed": disclosed,
            "transactions": g["n"], "amount": f'${g["min"]:,} - ${g["max"]:,}',
            "price_now": q.get("current_price"), "analyst_target": round(target, 2) if target else None,
        }

for row in summarize(trades, quotes_raw):
    print(row)

Run on the two datasets above, summarize printed one line (the Treasury notes have no ticker, so they drop out):

Text
{'member': 'Cleo Fields', 'ticker': 'NVDA', 'type': 'Purchase', 'traded': '2026-10-01', 'disclosed': '2026-10-22', 'transactions': 3, 'amount': '$3,003 - $45,000', 'price_now': 214.92, 'analyst_target': 328.95}

Schedule it and it becomes a monitor: the Actor's README suggests a daily run with Disclosed from set to 1 day, pushing new trades to Slack, a sheet or your database. In Scrape.ly's Automations, that's a daily schedule, the Congress trades Actor with "filedFrom": "1 day", and a delivery to Slack, Google Sheets or a webhook. AI agents can run the same lookup over the hosted MCP server: "Use scrapely to get this week's congressional NVDA trades and today's NVDA price."

Alternative data providers vs collecting it yourself

Alternative data providers sell finished datasets: cleaned, mapped to tickers, with years of history. That history is the main reason to buy, since you can't go back and scrape last year's prices. Collecting it yourself wins on the other dimensions:

  • Coverage you choose. Your watchlist, your competitors, your categories, not a vendor's universe.
  • Freshness you control. Run hourly, daily or weekly; a dataset you collect yourself is never older than your last run.
  • Transparency. You know exactly how every row was collected, which is what compliance teams ask about first (see the App Annie case below).
  • Cost. Store Actors charge per row: tracking 2,000 SKUs' price history daily on Keepa is 2,000 × $0.00531 = $10.62 a day.

Many funds do both: buy history for the backtest, then collect the live feed themselves.

Compliance: what matters with alternative data

This is general information, not legal advice. Talk to your compliance team and counsel before alternative data goes into investment decisions.

  • Material non-public information. Insider trading, as the SEC's investor site defines it, is trading "in breach of a fiduciary duty or other relationship of trust and confidence, on the basis of material, nonpublic information". Data shown to any visitor of a public page is the opposite of confidential, which is why diligence focuses on how data was obtained. Scrape.ly Store Actors collect only publicly available data that any visitor can see, without logging in.
  • How the data was made. In 2021 the SEC brought its first enforcement action against an alternative data provider, App Annie, which agreed to pay a $10 million penalty. The SEC found it had used confidential app data from companies, contrary to its promise to aggregate and anonymise it, to make the estimates it sold to trading firms more valuable. Know your data's provenance and be able to show it.
  • Restrictions on specific sources. Federal law makes it unlawful to obtain or use congressional financial disclosure reports "for any commercial purpose, other than by news and communications media for dissemination to the general public" (5 U.S.C. § 13107). The Congress trades Actor's README flags the Senate site's terms on this too. Check this with counsel before congressional trades feed a commercial product or a fund's trading.
  • Website terms. Many sites restrict automated access in their terms. How they apply depends on your jurisdiction and use; our guide to whether web scraping is legal covers the main cases.
  • Personal data. Reviews, job posts and social posts contain names and opinions of private people. Aggregate to the company level, drop identifiers you don't need, and follow the GDPR and CCPA.

What it costs

You pay per row, at the list prices in the table above. Our two runs:

  • Congress trades: 5 × $0.00187 = $0.0094 at list price.
  • Yahoo Finance: 3 × $0.000537 = $0.0016 at list price.

The account was billed $0.0075 and $0.0013 because its plan has a Store discount. A realistic monitor, daily congressional trades (say 50 a day) plus quotes for a 500-ticker watchlist, comes to 50 × $0.00187 + 500 × $0.000537 = $0.36 a day, about $10.86 for 30 days. The Free plan's $5 of monthly credit is enough to build and test the pipeline.

Why Scrape.ly for alternative data

  • One platform, many sources. Prices, jobs, reviews, sentiment, traffic, trends, SEC filings and congressional trades are each one Actor away, with the same API, client and billing.
  • Point-in-time by default. Every run is stored with its date and dataset, and schedules collect the same way every time.
  • Fixed per-row prices with a maximum charge per run, so a backfill never turns into a surprise bill.
  • Built for pipelines and agents. Schedules, webhooks, Google Sheets, S3/R2, Python and Node.js clients, and MCP for research agents. For a deeper look at one source, see our guide to scraping Yahoo Finance.

FAQ

What is alternative data in simple terms?

Information about a company that the company didn't publish itself: the prices on its website, the jobs it posts, what customers and employees write about it, how many people visit its site. Investors use it to estimate results before they're reported.

What are examples of alternative data?

Web prices, job postings, product and employer reviews, social media sentiment, web traffic estimates, search trends, satellite images, credit card panels, app downloads, insider filings and politicians' stock trades. Most of the web-based ones can be collected with Store Actors.

Using public data is common and generally lawful, but it depends on how it was collected and what it contains. Avoid material non-public information, respect site terms and privacy law, check source-specific rules such as the commercial-use restriction on congressional disclosure reports, and document provenance. This isn't legal advice.

Who uses alternative data?

Quantitative hedge funds adopted it first, and the FISD guide describes fundamental and hybrid asset managers following them. Corporate strategy teams, consultants and journalists use the same public sources, and individual investors use the accessible ones, such as Google Trends, StockTwits sentiment and congressional trades.

Where can I get congressional stock trading data?

From the official Periodic Transaction Reports on the House Clerk and Senate disclosure sites, or as structured rows with the Congress Stock Trades Scraper, which reads both chambers live and adds party, state, amount bounds and days to disclose.

  • alternative data
  • finance
  • investing
  • congress trades
  • yahoo finance
  • sec edgar
  • sentiment

About the author

Actor publisher on the Scrape.ly Store

Search results, AI answers, web pages and market feeds as structured data. For SEO teams, developers and AI builders, plus finance, crypto and sports data for analysts. A Scrapely studio.

//Keep reading\\

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.