May’d It

DATA TOOLS / news

Wikipedia Topic Attention Monitor

Compare two seven-day Wikipedia pageview windows for exact article titles. Export fourteen dated observations, totals, changes and evidence URLs. Pageviews are not unique readers or sentiment.

JSON / CSV outputLimited permissionsSource: maydit/wikipedia-topic-attention-monitor

A QUESTION WORTH ANSWERING

Which topics are attracting more Wikipedia pageviews?

Compare two seven-day Wikipedia pageview windows for exact article titles. Export fourteen dated observations, totals, changes and evidence URLs. Pageviews are not unique readers or sentiment.

Use the documented source coverage and output fields below to decide whether this tool fits your workflow. A bounded run is a sample, not a guarantee of complete source coverage.

START SMALL

Example input

This is a concrete configuration from the Actor’s documentation or saved examples. Adjust its targets and dates for your use case. Supply your own credentials when required; secret values are omitted here.

{
  "articles": [
    "OpenAI"
  ],
  "maxResults": 1
}
Download input.json

A CLEAR DATA CONTRACT

Inputs you can configure

FieldTypeMeaning
articlesarray

1-10 exact titles or HTTPS article URLs on the selected project. Omitted or empty uses OpenAI, YouTube and TikTok. Spaces become underscores; spelling and title case remain exact. URL fragments are ignored. Redirects, page moves and alternate titles are not merged.

projectstring

One explicit Wikipedia hostname for all articles, for example en.wikipedia.org or de.wikipedia.org. URLs must match it. Only the fixed Wikimedia Analytics API host is contacted.

endDatestring

Optional YYYY-MM-DD, inclusive. Omitted uses three days before today in UTC to allow publication delay. Must precede today and leave a full 14-day range since 2015-07-01. Current window ends here; the prior window is the preceding seven days.

comparePreviousboolean

Use a named store to compare complete observations with the last confirmed saved row. First comparison establishes a baseline. This is separate from the adjacent-week calculation, which works on the first run. Use one writer per scope.

onlyChangesboolean

Implies comparison. A first run saves initial rows; unchanged repeats can correctly save zero. Incomplete source windows never advance history.

snapshotNamestring

1-80 letters, numbers, underscores or hyphens. History also includes project, sorted titles and fixed-end-date or rolling mode. New input scope starts a separate baseline.

maxResultsinteger

1-10 confirmed saved article rows. A row includes its 14-day series. Unchanged skipped rows and diagnostics are not dataset results. A smaller cap can leave later articles unprocessed.

maxRunSecondsinteger

30-300 seconds, also shortened to 25 seconds before the platform timeout. Collection reserves five additional seconds for output. Sequential requests are capped at 15 seconds and 256 KiB, with at most one transient retry.

Output fields

articleUrlprojectarticlecurrentViewspriorViewsviewChangepercentChangecoverageCompletemissingDatescurrentWindowpriorWindowdailySeriescomparisonStatusobservedAtsourceUrl

These are the columns in the default dataset view. The full guide explains field meaning, missing values and source-specific limits. JSON preserves nested data; CSV is useful for flat columns.

Input schema JSON

KNOW THE COST

Event pricing

Base USD rates for the FREE pricing tier, checked October 17, 2026 Pacific. Plan discounts and future pricing changes may apply. Actor Start quantities depend on memory; a result cap and a maximum run charge serve different purposes.

EventUSD per eventWhat is charged
Actor Start$0.00005Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).
Saved article observation$0.001One confirmed observation saved to the default dataset.

SOURCE COVERAGE & PRACTICAL LIMITS

Full product guide

Documentation captured from build 1.0.2. Example outputs retain their original sample context; they are not live results.

Wikipedia Topic Attention Monitor

See how attention to an exact Wikipedia article changed between two weeks. Enter one to ten titles or article URLs. Each saved row includes fourteen dated observations, two seven-day totals, an arithmetic change and the official evidence URL. No API key, browser or paid data service is required.

Try a small watchlist

{"articles":["OpenAI","YouTube","TikTok"],"maxResults":3}

Omitted or empty articles use the same three titles on en.wikipedia.org. The default end date is three days before today in UTC, allowing time for data publication. An explicit endDate fixes the comparison; otherwise the windows roll each day. The dataset and Run report show the actual boundaries. maxResults defaults to ten, while the default watchlist contains three articles.

What the comparison means

Both windows contain exactly seven UTC dates. The current window ends on endDate; the prior window ends one day before the current window starts. viewChange is current total minus prior total. percentChange is 100 * viewChange / priorViews only when both windows are complete and the prior total is above zero. A zero prior total leaves the percentage null. A negative change is valid.

The source classification is fixed to agent=user, access=all-access and granularity=daily. These are Wikimedia's classifications of page requests. Pageviews are not unique people, search volume, purchasing intent, sales or a causal explanation of a news event. Human traffic classification is heuristic and does not guarantee every request came from a person.

Article spelling and case remain exact; spaces are represented as underscores. An article URL must use the selected project and the /wiki/ path. Its fragment is ignored. Requests go only to wikimedia.org; the Actor does not visit the article or follow API redirects. Wikipedia redirects, moves, alternate spellings and language editions are not merged. A missing or mismatched title is a source error, not a zero-attention result.

Output fields

Fields Meaning
articleId, article, project, articleUrl Stable project/title identity and public article link.
dailySeries Fourteen UTC dates with integer views or null for an absent date, plus available.
currentWindow, priorWindow Inclusive dates, expected and observed day counts, missing dates, complete total and observed partial sum.
currentViews, priorViews Complete seven-day totals; null when that window has missing dates.
viewChange, percentChange, percentChangeBasis Deterministic adjacent-week calculation and why a percentage may be unavailable.
coverageComplete, missingDates Whether every requested day was returned. An absent day is never filled with zero.
observedAt, sourceUrl, sourceName, dataLicense Collection time, exact API request and attribution.
comparisonStatus, changedFields, previous, contentHash Optional comparison with the last saved observation.

A response with some observed dates may produce a useful partial row. Its incomplete window totals and percentage remain null, the run is marked partial, and it does not replace saved history. An empty, invalid, wrong-identity or refused response produces diagnostics in SUMMARY and the report, with no fabricated dataset row. If all sources fail, the run fails. A legitimate unchanged history repeat can succeed with zero rows.

Saved observation history

The adjacent-week calculation is available on the first run. comparePrevious additionally compares the current observation with the last complete row saved for this article in the same history scope. onlyChanges enables comparison and skips unchanged observations. The first history run establishes a baseline only after rows are confirmed saved.

Use the same snapshotName, project, article list and date mode. An explicit fixed end date creates a separate scope; rolling mode keeps one scope as its boundaries advance. Changed rolling boundaries count as a changed observation. Use one writer per history scope: the store checks for a changed baseline before committing but does not provide an atomic cross-run lock. Missing articles never imply deletion. Failed writes, incomplete windows and rejected charge-limit rows never advance history.

Three examples

OpenAI

{"articles":["OpenAI"],"maxResults":1}

Exact article URL

{"articles":["https://en.wikipedia.org/wiki/YouTube"],"maxResults":1}

Explicit project

{"articles":["TikTok"],"project":"en.wikipedia.org","maxResults":1}

To examine source revisions for a fixed historical window, add endDate, comparePrevious: true and a stable snapshotName; add onlyChanges: true for later polls.

Limits and pricing

Base pricing is $0.001 per saved article observation, including its daily series, plus $0.00005 per run start. Reports, diagnostics and skipped unchanged observations create no dataset rows. Apify platform charges can still apply. Review actual pricing before use.

At most ten articles and ten saved rows are permitted. Requests are sequential, limited to 256 KiB and fifteen seconds each, with one short retry only for HTTP 502/503/504 when time remains. There is no fallback after refusal, authentication, proxy routing or redirect following. The own deadline defaults to 120 seconds and is shortened by the platform deadline minus 25 seconds; collection reserves another five seconds for output. Cloud storage requests have a five-second timeout and no automatic retry. Result, charge or deadline limits leave explicit unreached-source diagnostics.

Source and attribution

Data: Wikimedia Analytics API, available under CC0 and the API access policy. The Actor identifies itself with a contact User-Agent and uses sequential requests. See pageview definitions and the official comparison tutorial.

This Actor is provided by Mayd It and is not affiliated with Wikimedia. Report a source change or question through the Actor Issues tab or bmay@mayd-it.com, including the run ID and article URL. Do not send credentials. No claim of comprehensive audience coverage, source uptime or customer demand is made.