Alphanume
Alternative DataPro

Wikipedia Views

See when the public suddenly starts looking a company up, and how far that is from the company's own normal. Daily Wikipedia page views per ticker, with a trailing 30-day mean and a z-score that puts every name on the same scale.

GET /v1/wikipedia-viewsUpdated daily from Wikipedia page views
  • Catch the attention spike.

    zscore_30d scores the day's views against that ticker's trailing 30-day baseline, and zscore_30d_gte filters to the outliers inside the request itself.

  • Rank the whole tape on one day.

    Pin date and screen zscore_30d across every ticker to see where the crowd went that session, not just which names moved.

  • Separate noticed events from quiet ones.

    Join views and avg_30d to your own event dates to see whether attention showed up before the event, on it, or never.

Ask your agent
Prompt · MCP or REST

Which stocks are getting far more public attention this week than they normally do? Show me the biggest jumps and tell me whether anything actually happened at those companies.

Your agent translates this into daily page-view counts, each ticker's own 30-day baseline, and the z-score threshold that separates a genuine spike from ordinary noise.

What this dataset is

A daily count of who bothered to look the company up.

Wikipedia publishes how many times each page was viewed on each day. When something happens at a company, some share of the people who hear about it go and read that company's page, which makes the count a rough, public measure of attention. This dataset maps those pages to tickers and carries the daily count in views.

Raw counts are not comparable across companies: a mega cap gets more views on its quietest day than a small cap gets on its loudest. avg_30d and zscore_30d fix that by measuring each day against the same ticker's own recent history. A z-score of 4 means the same thing on both names, which is what makes a cross-sectional screen possible at all.

Each row includes:

  • The ticker and the Wikipedia page name it is mapped to.
  • The observation date, one row per ticker per day.
  • Raw page views for that ticker's page on that day.
  • The trailing 30-day mean of daily views for the same ticker.
  • A z-score placing the day's count inside that trailing distribution.

Attention is not direction. A high z-score says the crowd showed up, not why and not on which side: the same spike sits underneath a takeover rumor, a product launch, and a fraud allegation.

What you can do with it

Turn a spike in curiosity into a dated, filterable feature.

Attention shows up in places price does not. A stock can trade flat while the number of people reading about it goes up several times over, and the reverse happens too: a large move nobody looked up is a different kind of event from a large move the whole internet watched. The z-score is what makes that comparison possible across a universe instead of one name at a time.

The usual use is as a conditioner rather than a standalone signal. Setting zscore_30d_gte in the request turns the endpoint into an anomaly feed you can pin to a single date, which is a cheap way to ask whether the crowd was present for a setup you already had a reason to look at.

  • Query zscore_30d_gte=2 with a fixed date to list every name that carried abnormal attention that session.
  • Use zscore_30d_lte=-2 to find names the crowd has stopped watching, which is a different regime and not simply the opposite trade.
  • Feed views and avg_30d into a cross-sectional attention factor rather than committing to one threshold.
  • Line spike dates up against earnings, filings, and enforcement events to see which categories the public actually follows.
  • Walk history with cursor_date and cursor_ticker to build a full per-ticker attention series once, then update it daily.
Where the data comes from

One row per ticker per day, scored against its own baseline.

Each ticker is mapped to a single Wikipedia page, carried in name, and that page's daily view count becomes views. The trailing statistics are computed per ticker over the previous 30 days: avg_30d is the mean of daily views, and zscore_30d places the day's count inside that distribution, so it is measured in standard deviations of the name's own recent traffic.

New observations land daily. Results are ordered by date descending then ticker ascending, and the endpoint is cursor-paginated: send back both cursor_date and cursor_ticker from next_cursor to walk history, since sending only one returns a 400.

Fields that matter

A short schema, and the z-score that carries it.

The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.

FieldTypeWhat it tells you
tickerstringEquity ticker symbol
namestringThe Wikipedia page the ticker is mapped to
datestringObservation date, one row per ticker per day
viewsfloatPage views on that date, the raw attention count
avg_30dfloatTrailing 30-day mean of daily views for this ticker
zscore_30dfloatHow far the day's views sit from that trailing distribution, in standard deviations
countintegerRows returned in this response, at the top level of the envelope
has_morebooleanTrue when more rows are available beyond this page
next_cursorobjectThe date and ticker to resend as cursor_date and cursor_ticker for the next page
Query it in one call

Filter on the z-score, not on raw views.

One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.

Python
import requests

url = "https://api.alphanume.com/v1/wikipedia-views"
params = {
    "date": "2026-02-06",
    "zscore_30d_gte": 2,
    "api_key": "alp_abc123"
}

r = requests.get(url, params=params)
print(r.json())
cURL
curl "https://api.alphanume.com/v1/wikipedia-views?date=2026-02-06&zscore_30d_gte=2&api_key=alp_abc123"
Example response
{
  "count": 1,
  "has_more": false,
  "next_cursor": null,
  "data": [
    {
      "ticker": "AAPL",
      "name": "Apple Inc.",
      "date": "2026-02-06",
      "views": 48213,
      "avg_30d": 21847.3,
      "zscore_30d": 4.11
    }
  ]
}
Honest limitations

What this data does not claim.

  • The baseline is only 30 days long. A name that has been in the news for a month can look calm at the peak of the story, because the spike has already been absorbed into its own average.
  • Views are counted at the page level. A company page is shared by everything that company is famous for, so a film, a lawsuit, or a founder can move the count without the stock being the subject.
  • Each ticker maps to one page, carried in name. Companies discussed across several pages, or under a page named for a parent or a product, are only partly captured.
  • The count measures readers, not investors. Nothing in it distinguishes a shareholder from a student, a journalist, or someone who clicked the wrong link.
  • Pro includes full history and the latest session.
Common questions

Asked by researchers, answered plainly.

What does a Wikipedia z-score of 2 mean?

It means the day's page views sat two standard deviations above the ticker's trailing 30-day mean. In practice that is roughly where a day stops looking like ordinary traffic, which is why zscore_30d_gte=2 is the common screen. Raising the threshold to 3 or 4 leaves you with far fewer names and far more obvious stories.

Do Wikipedia page views predict stock returns?

This is an attention measure, not a return forecast, and we do not have a published market-effect study for it the way we do for several other datasets. Treat it as a feature: something to condition an existing signal on, or to test as one input among several, rather than something to trade on its own.

How is this different from Google Trends?

Google Trends returns a relative popularity index rescaled from 0 to 100 over whatever window you request, so the same day changes value depending on the query. This is an absolute count of page views for one specific page on one specific day, which does not move when you ask a different question, and it is the same count that gets fed into avg_30d and zscore_30d.

How do I pull the full attention history for one ticker?

Send ticker with no date filter and page through with the cursor. Each response carries has_more and next_cursor, and the next request must include both cursor_date and cursor_ticker taken from that cursor object. Providing only one of the two returns a 400 rather than silently guessing the other.

Start querying

Available with Pro. Enterprise for teams.

New REST API and MCP access requires Pro or Enterprise. Public dashboard previews are separate from a subscription. Pro includes the available historical record, current updates, REST, MCP, dashboard exports, and every standard dataset as it launches. Explore the dashboard preview before subscribing; its existing limits still apply.