Card type
Statistics API
A number and how it changes: the latest value with its history (and projection), places compared, or countries ranked. Every value carries its period; gaps in a source stay null. data.provenance says whether the numbers come from a statistics office or dataset, or from web pages the answer cites (see Numbers from the web). Related measures come as measures, other places of the same name as alternatives.
Card type statistic · version 1 · schema statistic.v1.schema.json
Layouts
Every card type has full. Pick a layout with the element's layout attribute, render.layout, or a theme.
Fields
The fields of card.data. Values a source doesn't provide are null; new optional fields can appear within version 1.
| Field | Type | Required | Notes |
|---|---|---|---|
kind | enum | yes | series: one or more places over time, with value the asked one; ranking: countries ordered by the number; value: one number without a history worth drawing. series · ranking · value |
provenance | enum | yes | dataset: from a statistics office or dataset named in the answer's sources. web: a language model read the numbers off the web pages in the answer's sources, and WebKnox found each number on its page before answering; what the number counts and its period are the model's reading of that page. dataset · web |
indicator | object | yes | |
indicator.id | string | null | yes | WebKnox's id for the measure, used by refine; null for numbers found on the web. |
indicator.label | string | yes | What is measured, in the answer's locale ("Fertility rate"). |
indicator.unit | string | null | yes | The unit after a number, in the answer's locale ("births per woman"); null when the number needs none or format says percent or currency. |
indicator.definition | string | null | yes | One sentence saying what the number counts. |
indicator.format | object | yes | |
indicator.format.style | enum | yes | percent values are already percentages (3.7 means 3.7 %). number · percent · currency |
indicator.format.decimals | integer | yes | At most this many fraction digits. |
indicator.format.compact | boolean | yes | Large values read best in words (8.2 billion). |
indicator.format.currency | string | null | yes | ISO 4217 code when style is currency. |
indicator.polarity | enum | yes | Whether a rise is good news. Colour a change only when it is not neutral. neutral · higher_is_better · lower_is_better |
subjects[] | object[] | yes | The places (or things) the numbers are about, in the order asked; for a ranking, the asked countries it places (often none). series[].subject, value.subject and peers point into this list by index or code. |
subjects[].name | string | yes | |
subjects[].code | string | null | yes | ISO 3166-1 alpha-3 code, a World Bank aggregate code (WLD, EUU, EMU, …) or a Wikidata item id; null for subjects found on the web. |
subjects[].type | enum | yes | place: a city, region or other place below a country; other: anything that is not a place (a species, a product). country · aggregate · world · place · other |
value | object | null | yes | The number the question asked for; null for a ranking. |
value.t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
value.v | number | yes | |
value.display | string | yes | v formatted in the answer's locale, without the unit ("0.75", "8.22 billion", "3.7 %"). |
value.estimate | boolean | yes | A flash estimate, a projection or a modelled value rather than a final count. |
value.subject | integer | yes | Index into subjects. |
change | object | null | yes | The value before: one period earlier for a dataset's yearly or monthly figures, the previous figure the source has for a place or a number from the web. |
change.from_t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
change.from_display | string | yes | The earlier value, formatted like value.display. |
change.direction | enum | yes | up · down · flat |
note | string | null | yes | One line of context in the answer's locale ("Lowest on record", "Territories such as Macao are not ranked"). |
series[] | object[] | yes | |
series[].id | string | yes | |
series[].subject | integer | null | yes | Index into subjects. |
series[].label | string | yes | Legend text ("South Korea", "Projection", "Every year since 1960"). |
series[].granularity | enum | yes | year · quarter · month · day |
series[].style | enum | yes | actual: measured values; projection: a forecast, drawn dashed, with lo and hi when the source gives a range; context: a long yearly history behind a short monthly one, drawn as colour stripes. actual · projection · context |
series[].points[] | object[] | yes | Oldest first. A null v is a period the source has no value for: draw a gap, never a line across it. |
series[].points[].t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
series[].points[].v | number | null | yes | |
series[].points[].lo | number | null | Lower bound of a projection's range. | |
series[].points[].hi | number | null | Upper bound of a projection's range. | |
references[] | object[] | yes | Horizontal lines worth drawing: a replacement level, a central bank's target. |
references[].v | number | yes | |
references[].label | string | yes | |
annotations[] | object[] | yes | Points worth labelling on the chart (a record). |
annotations[].t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
annotations[].label | string | yes | |
peers[] | object[] | yes | The same number for comparable places in the same period, with the asked places highlighted; for a comparison, the compared places themselves. |
peers[].name | string | yes | |
peers[].code | string | null | yes | |
peers[].t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
peers[].v | number | yes | |
peers[].display | string | yes | |
peers[].highlight | boolean | yes | |
ranking | object | null | yes | |
ranking.order | enum | yes | asc: lowest first. asc · desc |
ranking.t | string | yes | The period a value belongs to: a year (2024), a quarter (2024-Q3), a month (2026-09) or a day (2026-11-12). |
ranking.of | integer | yes | How many countries have a value for this period. |
ranking.within | object | null | yes | The group ranked (the European Union, a region, an income group), or null for every country. |
ranking.within.name | string | yes | |
ranking.within.code | string | yes | |
ranking.position | integer | null | yes | The asked country's place in the order, when one was asked. |
ranking.note | string | null | yes | What was ranked ("Countries only; territories such as Macao and Hong Kong are not ranked."). |
ranking.items[] | object[] | yes | |
ranking.items[].name | string | yes | |
ranking.items[].code | string | yes | |
ranking.items[].v | number | yes | |
ranking.items[].display | string | yes | |
ranking.items[].highlight | boolean | yes | |
ranking.distribution[] | number[] | yes | Every ranked country's value, for a dot strip. |
facts[] | object[] | yes | |
facts[].value | string | yes | |
facts[].label | string | yes | |
measures[] | object[] | yes | Related measures of the same thing (births per woman, births per 1,000 people). A refine with {card: "statistic", indicator: id, …} answers with another one. |
measures[].id | string | yes | |
measures[].label | string | yes | |
measures[].selected | boolean | yes | |
alternatives[] | object[] | yes | Other places the question may have meant ("Korea": North Korea). |
alternatives[].name | string | yes | |
alternatives[].code | string | yes | |
counter | object | null | yes | A live estimate a client may count up or down from (world population). |
counter.t0 | date-time | yes | ISO 8601 date-time with offset. |
counter.v0 | number | yes | |
counter.per_second | number | yes | Value now = v0 + per_second × seconds since t0. |
counter.label | string | yes | Says that the running number is an estimate and how it is made. |
updated | date | null | yes | When the source last published these figures. |
source_url | url | null | yes | The source's own page for this number. |
Example
A recorded answer to “What's the world's population?”. Open it in the Answer Lab to see every layout and style.
{
"v": 2,
"id": "ans_8c9kh7k3obj4ry8l",
"matched": true,
"locale": "en",
"skill": "statistics",
"confidence": 0.9,
"text": "World: population 8.22 billion people (2025), up from 8.14 billion in 2024.",
"speech": "World: population 8.22 billion people (2025), up from 8.14 billion in 2024.",
"card": {
"type": "statistic",
"version": 1,
"data": {
"kind": "series",
"provenance": "dataset",
"indicator": {
"id": "population",
"label": "Population",
"unit": "people",
"definition": "Everyone who lives in a place, whatever their citizenship, counted at mid-year.",
"format": {
"style": "number",
"decimals": 2,
"compact": true,
"currency": null
},
"polarity": "neutral"
},
"subjects": [
{
"name": "World",
"code": "WLD",
"type": "world"
}
],
"value": {
"t": "2025",
"v": 8215424893,
"display": "8.22 billion",
"estimate": false,
"subject": 0
},
"change": {
"from_t": "2024",
"from_display": "8.14 billion",
"direction": "up"
},
"note": null,
"series": [
{
"id": "actual-wld",
"subject": 0,
"label": "World",
"granularity": "year",
"style": "actual",
"points": [
{
"t": "1960",
"v": 3021512598
},
{
"t": "1961",
"v": 3062768116
},
{
"t": "1962",
"v": 3117372187
},
{
"t": "1963",
"v": 3184063049
},
{
"t": "1964",
"v": 3251249170
},
{
"t": "1965",
"v": 3318979339
},
{
"t": "1966",
"v": 3389042165
},
{
"t": "1967",
"v": 3458932230
},
{
"t": "1968",
"v": 3530576858
},
{
"t": "1969",
"v": 3604694154
},
{
"t": "1970",
"v": 3680493750
},
{
"t": "1971",
"v": 3758515396
},
{
"t": "1972",
"v": 3834345191
},
{
"t": "1973",
"v": 3910964219
},
{
"t": "1974",
"v": 3987186772
},
{
"t": "1975",
"v": 4061959945
},
{
"t": "1976",
"v": 4135644231
},
{
"t": "1977",
"v": 4208840894
},
{
"t": "1978",
"v": 4283309396
},
{
"t": "1979",
"v": 4359930896
},
{
"t": "1980",
"v": 4437473406
},
{
"t": "1981",
"v": 4516792587
},
{
"t": "1982",
"v": 4599385851
},
{
"t": "1983",
"v": 4682734714
},
{
"t": "1984",
"v": 4765813206
},
{
"t": "1985",
"v": 4850494238
},
{
"t": "1986",
"v": 4937459951
},
{
"t": "1987",
"v": 5026770385
},
{
"t": "1988",
"v": 5116898810
},
{
"t": "1989",
"v": 5207378374
},
{
"t": "1990",
"v": 5298962018
},
{
"t": "1991",
"v": 5388203305
},
{
"t": "1992",
"v": 5476822930
},
{
"t": "1993",
"v": 5564459142
},
{
"t": "1994",
"v": 5650534421
},
{
"t": "1995",
"v": 5736205135
},
{
"t": "1996",
"v": 5822327903
},
{
"t": "1997",
"v": 5908180322
},
{
"t": "1998",
"v": 5993730786
},
{
"t": "1999",
"v": 6078069822
},
{
"t": "2000",
"v": 6161528496
},
{
"t": "2001",
"v": 6244739668
},
{
"t": "2002",
"v": 6327171255
},
{
"t": "2003",
"v": 6409352386
},
{
"t": "2004",
"v": 6492354627
},
{
"t": "2005",
"v": 6575410029
},
{
"t": "2006",
"v": 6659536021
},
{
"t": "2007",
"v": 6744049498
},
{
"t": "2008",
"v": 6830080867
},
{
"t": "2009",
"v": 6916168196
},
{
"t": "2010",
"v": 7000860073
},
{
"t": "2011",
"v": 7086704141
},
{
"t": "2012",
"v": 7176482165
},
{
"t": "2013",
"v": 7265404737
},
{
"t": "2014",
"v": 7353532223
},
{
"t": "2015",
"v": 7441084771
},
{
"t": "2016",
"v": 7528221579
},
{
"t": "2017",
"v": 7613788655
},
{
"t": "2018",
"v": 7696159728
},
{
"t": "2019",
"v": 7777162476
},
{
"t": "2020",
"v": 7853863139
},
{
"t": "2021",
"v": 7919567995
},
{
"t": "2022",
"v": 7988550201
},
{
"t": "2023",
"v": 8062923417
},
{
"t": "2024",
"v": 8140897523
},
{
"t": "2025",
"v": 8215424893
}
]
},
{
"id": "projection",
"subject": 0,
"label": "Projection",
"granularity": "year",
"style": "projection",
"points": [
{
"t": "2026",
"v": 8284795282,
"lo": null,
"hi": null
},
{
"t": "2027",
"v": 8352681069,
"lo": null,
"hi": null
},
{
"t": "2028",
"v": 8419640344,
"lo": null,
"hi": null
},
{
"t": "2029",
"v": 8485645068,
"lo": null,
"hi": null
},
{
"t": "2030",
"v": 8550785836,
"lo": null,
"hi": null
},
{
"t": "2031",
"v": 8614937420,
"lo": null,
"hi": null
},
{
"t": "2032",
"v": 8678182663,
"lo": null,
"hi": null
},
{
"t": "2033",
"v": 8740434357,
"lo": null,
"hi": null
},
{
"t": "2034",
"v": 8801792694,
"lo": null,
"hi": null
},
{
"t": "2035",
"v": 8862186006,
"lo": null,
"hi": null
},
{
"t": "2036",
"v": 8921697002,
"lo": null,
"hi": null
},
{
"t": "2037",
"v": 8980307417,
"lo": null,
"hi": null
},
{
"t": "2038",
"v": 9037986826,
"lo": null,
"hi": null
},
{
"t": "2039",
"v": 9094667908,
"lo": null,
"hi": null
},
{
"t": "2040",
"v": 9150387691,
"lo": null,
"hi": null
},
{
"t": "2041",
"v": 9204995271,
"lo": null,
"hi": null
},
{
"t": "2042",
"v": 9258410700,
"lo": null,
"hi": null
},
{
"t": "2043",
"v": 9310504836,
"lo": null,
"hi": null
},
{
"t": "2044",
"v": 9361265541,
"lo": null,
"hi": null
},
{
"t": "2045",
"v": 9410524489,
"lo": null,
"hi": null
},
{
"t": "2046",
"v": 9458246973,
"lo": null,
"hi": null
},
{
"t": "2047",
"v": 9504373335,
"lo": null,
"hi": null
},
{
"t": "2048",
"v": 9548856141,
"lo": null,
"hi": null
},
{
"t": "2049",
"v": 9591607761,
"lo": null,
"hi": null
},
{
"t": "2050",
"v": 9632701276,
"lo": null,
"hi": null
}
]
}
],
"references": [],
"annotations": [],
"peers": [],
"ranking": null,
"facts": [
{
"value": "2.7×",
"label": "the 1960 figure of 3.02 billion"
},
{
"value": "9.63 billion",
"label": "projected for 2050"
}
],
"measures": [
{
"id": "population",
"label": "Population",
"selected": true
},
{
"id": "population_growth",
"label": "Growth per year",
"selected": false
},
{
"id": "population_density",
"label": "Per km²",
"selected": false
}
],
"alternatives": [],
"counter": {
"t0": "2025-07-01T00:00:00Z",
"v0": 8215424893,
"per_second": 2.198,
"label": "Estimate: the 2025 count plus 2.2 people a second, from the projection for 2026."
},
"updated": "2026-11-11",
"source_url": "https://data.worldbank.org/indicator/SP.POP.TOTL"
}
},
"sources": [
{
"name": "World Bank, World Development Indicators",
"url": "https://data.worldbank.org/indicator/SP.POP.TOTL",
"license": "CC BY 4.0"
},
{
"name": "World Bank, Population estimates and projections",
"url": "https://databank.worldbank.org/source/population-estimates-and-projections",
"license": "CC BY 4.0"
}
],
"follow_ups": [
"Population: the highest countries",
"Growth per year: World"
],
"actions": [],
"usage": {
"billable": true
}
}