Who is using AI? ← the map

PHD MODE

research console

filter every signal by tool, country and date — down to a single day — then export exactly what you filtered. free, citable, reproducible.

Everything this site tracks, in one queryable place: search-interest share for 13 AI tools across 84 countries (daily since 2026-07-07), 12 months of global weekly context, a full year of Wikipedia attention, and npm/PyPI/GitHub developer signals. share of Google search interest — relative preference, not usage counts; SDK downloads include CI — momentum, not headcount.

updated 2026-07-08 · refreshed daily

01 · filters

slice the dataset

pick a metric, tools, countries and a date range — or a single day. share of Google search interest — relative preference, not usage counts.

every view is a permalink — the console reads and writes the URL: ?metric=trends|npm|pypi|github|wiki · &tools=chatgpt,claude · &countries=US,CN · &from=YYYY-MM-DD&to=YYYY-MM-DD · or &on=YYYY-MM-DD for single-day mode (wins over from/to). share the URL and a colleague sees exactly your slice.

02 · results

what your filter selects

the exact rows your filter matches, from the yearly research bundles. holes in the data stay visible as null — nothing is interpolated.

03 · export

export exactly what you filtered

download the current slice — no more, no less — ready for pandas, R or a spreadsheet.

the honest-labeling rules travel with the data: search shares are relative preference, not usage; SDK downloads are momentum, not headcount.

04 · cite this dataset

put it in the bibliography

If this dataset feeds a paper, a post or a chart, cite it — that’s the whole price. Plain-text form: “Who is using AI? — Global AI Tracker dataset, PIXIPACE, whoisusingai.com/tracker/research, accessed 2026-07-08”. search shares are relative Google search interest, not usage counts — say so in your methods section.

APA

PIXIPACE. (2026). Who is using AI? — Global AI Tracker dataset [Data set]. whoisusingai.com. Retrieved Jul 8, 2026, from https://whoisusingai.com/tracker/research

BibTeX

@misc{whoisusingai2026tracker,
  author       = {{PIXIPACE}},
  title        = {Who is using AI? --- Global AI Tracker dataset},
  year         = {2026},
  url          = {https://whoisusingai.com/tracker/research},
  note         = {Accessed 2026-07-08}
}

the accessed date is baked at every daily rebuild, so it always matches the data stamp above — swap in the date you actually pulled the files.

05 · data dictionary

every field, defined once

what each endpoint returns, unit by unit — with the caveats that belong in a methods section.

/history/research/trends-<YYYY>.json — country × tool × day search-share matrix

fieldtypeunitsourcecaveats
yearintegercalendar yearbundle metadatasnapshots are grouped by the filename's year prefix
datesstring[]ISO date (UTC)snapshot filenamesascending; every per-day column below is index-aligned with this array
toolsstring[]tool idtool registrycanonical order of the 13 tracked tools
countries{ISO2: string}country nameGoogle Trends geoonly countries with enough search volume are tracked
values[ISO2][toolId](number|null)[]% of AI-tool searchesGoogle Trendsanchor-normalized RELATIVE search interest — preference, not usage counts; null = no observation that day
global.weekly{d, v}[]% share per toolGoogle Trends12-month weekly global backfill (since 2025-07-06); v maps toolId → share
global.daily{d, v}[]% share per toolGoogle Trendsdaily global backfill (since 2026-04-07)

/history/research/signals-<YYYY>.json — developer & attention signals per day

fieldtypeunitsourcecaveats
year, datesinteger, string[]snapshot filenamessame year grouping and index alignment as the trends bundle
npm[pkg](number|null)[]downloads / weeknpm registryweekly totals include CI machines and mirrors — momentum, not headcount
pypi[pkg](number|null)[]downloads / weekPyPIsame CI caveat; empty object while no PyPI packages are tracked
github[repo](number|null)[]stars (cumulative)GitHub APIlifetime star total — it only climbs; day-over-day deltas are the momentum signal
wiki[toolId](number|null)[]pageviews / dayWikimedia Pageviews APIuser (non-bot) views of the tool's article — the latest complete day at snapshot time
labels.npm, labels.github{key: string}display nametool registrylegend names; keys match the npm/github objects above
wiki_daily[toolId]{dates[], values[]}pageviews / dayWikimedia Pageviews APIfull backfilled daily series (since 2025-07-07) — deeper than the snapshot era

/history/tracker/<YYYY-MM-DD>.json — one raw daily snapshot

fieldtypeunitsourcecaveats
datestringISO date (UTC)matches the filename
trends.countries[ISO2][toolId]number% of AI-tool searchesGoogle Trendsanchor-normalized relative search interest — not usage counts
sdk.npm[pkg], sdk.pypi[pkg]numberdownloads / weeknpm / PyPIincludes CI machines and mirrors
github[repo]numberstars (cumulative)GitHub APIlifetime total
wiki[toolId]numberpageviews / dayWikimedia Pageviews APIlatest complete day at snapshot time
hf_trending[modelId, downloads][]downloads (30d)Hugging Facetop-10 trending models at snapshot time

/history/series/<ISO2>.json — one country’s full daily history

fieldtypeunitsourcecaveats
country, namestringISO2 / display name
datesstring[]ISO date (UTC)snapshot filenamesthe full snapshot history, ascending
tools[toolId](number|null)[]% of AI-tool searchesGoogle Trendsindex-aligned with dates; null = no observation that day

/history/research/index.json & /history/tracker/index.json — discovery

fieldtypeunitsourcecaveats
yearsinteger[]calendar yearresearch indexevery year with research bundles
generatedstringISO 8601research indexfreshness stamp of the newest underlying fetch
snapshotsintegercountresearch indextotal daily snapshots across all years
(tracker index)string[]ISO date (UTC)tracker indexthe bare sorted array of every snapshot date

cadence: one snapshot per day, taken around 06:30 site-local time; snapshot filenames use the UTC date. country-level daily history starts 2026-07-07. backfill depth: global weekly since 2025-07-06, global daily since 2026-04-07, Wikipedia daily since 2025-07-07, npm daily since 2026-01-08.

06 · the API

stable GET endpoints, plain JSON

Plain JSON over GET — no key, no auth, no SDK. Every endpoint is a static file on the same CDN as this page, rebuilt daily, so it is fast, cacheable and stable enough to cite. Free for any use — attribute whoisusingai.com.

GET endpointreturns
/history/research/trends-<YYYY>.jsonone year: {year, dates[], tools[], countries{ISO2:name}, values{ISO2:{toolId:[share|null]}}, global:{weekly,daily}}
/history/research/signals-<YYYY>.jsonone year: {year, dates[], npm{pkg:[weekly|null]}, pypi{…}, github{repo:[stars|null]}, wiki{toolId:[views|null]}, labels{…}, wiki_daily{…}}
/history/research/index.json{years[], generated, snapshots} — which bundles exist
/history/tracker/<YYYY-MM-DD>.jsonone raw daily snapshot: {date, trends{countries}, sdk{npm,pypi}, github{…}, wiki{…}, hf_trending[]}
/history/tracker/index.json["YYYY-MM-DD", …] — every snapshot date, sorted
/history/series/<ISO2>.json{country, name, dates[], tools{toolId:[share|null]}} — one country's full daily history
/tracker_data.jswindow.TRACKER = {…}; — the live dashboard object (strip the JS prefix, parse the rest as JSON)

try it now

# one year of country-level search share, one GET
curl -s https://whoisusingai.com/history/research/trends-2026.json \
  | python3 -c 'import json,sys; b=json.load(sys.stdin); print(b["dates"][-1], b["values"]["US"]["chatgpt"][-1])'

CORS: Access-Control-Allow-Origin: * is set on /history/* and /tracker_data.js, so you can fetch() them straight from a notebook, Observable or the browser console. browse the live files: trends-2026.json · signals-2026.json · research index · snapshot index · series/US.json.

want the guided tour instead? the tracker hub, the race and the developer signal read the same data.