Obscura

Wikipedia Top

Wikipedia's most-viewed articles for each day.

wikipedia_top — the dataset name to pass to the Obscura API.

Category Web attention Columns 5 Refresh Daily Point-in-time available_date

What one row means

One article's entry in English Wikipedia's daily top-1000 most-viewed-articles ranking for a single calendar day, as published by the Wikimedia pageviews REST API (all-access, all-agents) — the article's rank position and total pageview count for that day. A broad attention signal that complements the per-ticker `wikipedia_pageviews` table — a company appearing here means it broke into the day's most-read pages.

One row per (occurred_on, article).

Point-in-time availability

Every Obscura dataset carries available_date: the calendar day the publisher made the row available, day-of, with no session rounding. It is the one column a backtest filters on, and it means the same thing on every dataset in the catalog.

For wikipedia_top: published: available_date = occurred_on + 1 day (Wikimedia finalizes and serves a day's top-1000 list the following day, ~09:00 UTC).

Refresh cadence

Obscura refreshes wikipedia_top daily — the most frequent scheduled job that re-collects or re-exports it. This is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when a row became public is recorded per row in available_date.

Schema — 5 columns

The full public column list for wikipedia_top, with the meaning of every field. The same schema is served unauthenticated at https://api.obscura.trade/v1/catalog/wikipedia_top.

ColumnTypeDescription
occurred_ondate · not nullThe calendar day being ranked (the pageview day itself), per the Wikimedia `{Y}/{M}/{D}` path segment requested. Part of the composite OnConflict key with `article`.
articletext · not nullWikipedia article title in URL-encoded page-title form as returned by the pageviews API (e.g. 'Main_Page', 'Sam_Neill', 'Special:Search'); underscores replace spaces, and non-article namespaces like 'Special:Search' and 'Main_Page' commonly dominate the top ranks alongside real content articles.
rankinteger · not null1-based position of this article in that day's top-1000 all-access pageview ranking, as returned by the API's 'rank' field (1 = most-viewed). Updated on re-upsert since ranks for a given day can shift if Wikimedia revises the count before it's fully settled.
viewsbigint · not nullTotal pageview count for the article on that day across all-access (desktop + mobile web + mobile app), all-agents, from the API's 'views' field. Updated on re-upsert alongside rank.
available_datedatePUBLIC-availability date = occurred_on + 1 day (Wikimedia finalizes and serves a day's top-1000 batch the following day, ~09:00 UTC). DB-generated STORED column, read-only; the point-in-time column to filter/join on — NEVER the ranking day itself.

Access wikipedia_top

Two delivery paths, one identifier. Both require an Obscura account and an active subscription; the catalog entry and the schema above are public.

import obscura

client = obscura.Client("obs_live_…")

df = client.query(
    dataset="wikipedia_top",
    start="2024-01-01",
)

Create a free account Browse all 95 datasets

Frequently asked questions

What is in the wikipedia_top dataset?

Wikipedia's most-viewed articles for each day. One article's entry in English Wikipedia's daily top-1000 most-viewed-articles ranking for a single calendar day, as published by the Wikimedia pageviews REST API (all-access, all-agents) — the article's rank position and total pageview count for that day. A broad attention signal that complements the per-ticker `wikipedia_pageviews` table — a company appearing here means it broke into the day's most-read pages.

How do I avoid look-ahead bias with wikipedia_top?

Filter on wikipedia_top.available_date, the day the publisher made the row public. For this dataset that date is derived as follows — published: available_date = occurred_on + 1 day (Wikimedia finalizes and serves a day's top-1000 list the following day, ~09:00 UTC). A query of the form WHERE available_date <= '<as-of date>' never sees a row before it existed.

In what formats can I get wikipedia_top?

As a Parquet bulk export (POST https://api.obscura.trade/v1/download) or as JSON from the typed query API (POST https://api.obscura.trade/v1/query), both with dataset="wikipedia_top". The column schema is public at https://api.obscura.trade/v1/catalog/wikipedia_top.

How often is wikipedia_top updated?

Obscura refreshes wikipedia_top on a daily schedule — that is the most frequent scheduled job that re-collects or re-exports the table. It is Obscura's own pipeline cadence, not the upstream publisher's release schedule; when the publisher makes a row available is described by the availability rule above, and is recorded per row in available_date.

Related datasets

GDELT EventsGeopolitical and economic events extracted from worldwide news by the GDELT project, coded by actor, action and location… GitHub ReposActivity on tracked GitHub repositories: stars, forks and commit frequency. Google TrendsGoogle search interest over time for the full US equity universe by ticker, back two decades. Scores are 0-100 rescaled … Hacker News StoriesFront-page stories from Hacker News. Open Data CatalogDataset listings harvested from government open-data portals running CKAN. Web PopularityDaily website popularity rank of each public company's domain, from four independent top-sites lists (Majestic Million, … Wikipedia PageviewsDaily Wikipedia pageviews for a universe of public companies, by ticker. Wikipedia RevisionsEdit activity on tracked Wikipedia articles.