Wikimedia Enterprise · Schema
article
Wikipedia or other Wikimedia project article. Snapshot, On-demand, and Realtime responses all share this shape
CompanyDataEnterpriseWikimedia
Properties
| Name | Type | Description |
|---|---|---|
| event | object | |
| additional_entities | array | Wikidata entities used on the article page, with the aspects of each entity that are used |
| article_body | object | |
| categories | array | Categories the article belongs to |
| date_modified | string | Timestamp of when the article was last modified |
| identifier | integer | Unique identifier of the article. This is the article's MediaWiki page ID, distinct from the revision identifier |
| in_language | object | Language the article is written in |
| is_part_of | object | Project the article belongs to. The [Available Projects endpoint](/docs/api/#tag/projects/GET/v2/projects) lists all projects |
| license | array | Licenses that apply to the article content |
| main_entity | object | Wikidata item ([QID](https://en.wikipedia.org/wiki/Help:Wikidata)) the article is connected to |
| name | string | Name of the article, as displayed at the top of the article page |
| abstract | string | Short plain-text summary of the article |
| namespace | object | Namespace the article belongs to |
| protection | array | Protections restricting who can edit or move the article. `null` or omitted when the article is unprotected |
| redirects | array | Articles that redirect to this article |
| templates | array | Wikitext templates used on the article |
| url | string | URL of the article |
| version | object | |
| visibility | object | |
| image | object | Main image of the article. Distinct from the `images` arrays inside content parts, which hold images used within the article body |
| date_created | string | Timestamp of when the article was first created |
| date_previously_modified | string | Timestamp of the before-last revision |
| previous_version | object | |
| watchers_count | integer | Number of unique editors watching the page |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/enterprise-wikimedia-com/json-schema/enterprise-wikimedia-com-article-schema.json",
"title": "article",
"description": "Wikipedia or other Wikimedia project article. Snapshot, On-demand, and Realtime responses all share this shape",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/enterprise-wikimedia-com-openapi.yml#/components/schemas/article",
"properties": {
"event": {
"$ref": "#/$defs/event"
},
"additional_entities": {
"items": {
"$ref": "#/$defs/entity"
},
"type": "array",
"description": "Wikidata entities used on the article page, with the aspects of each entity that are used"
},
"article_body": {
"$ref": "#/$defs/article_body"
},
"categories": {
"items": {
"$ref": "#/$defs/category"
},
"type": "array",
"description": "Categories the article belongs to"
},
"date_modified": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the article was last modified"
},
"identifier": {
"type": "integer",
"description": "Unique identifier of the article. This is the article's MediaWiki page ID, distinct from the revision identifier"
},
"in_language": {
"$ref": "#/$defs/language",
"description": "Language the article is written in"
},
"is_part_of": {
"$ref": "#/$defs/project",
"description": "Project the article belongs to. The [Available Projects endpoint](/docs/api/#tag/projects/GET/v2/projects) lists all projects"
},
"license": {
"items": {
"$ref": "#/$defs/license"
},
"type": "array",
"description": "Licenses that apply to the article content"
},
"main_entity": {
"$ref": "#/$defs/entity",
"description": "Wikidata item ([QID](https://en.wikipedia.org/wiki/Help:Wikidata)) the article is connected to"
},
"name": {
"type": "string",
"description": "Name of the article, as displayed at the top of the article page"
},
"abstract": {
"type": "string",
"description": "Short plain-text summary of the article"
},
"namespace": {
"$ref": "#/$defs/article_namespace",
"description": "Namespace the article belongs to"
},
"protection": {
"items": {
"$ref": "#/$defs/protection"
},
"type": "array",
"description": "Protections restricting who can edit or move the article. `null` or omitted when the article is unprotected"
},
"redirects": {
"items": {
"$ref": "#/$defs/redirect"
},
"type": "array",
"description": "Articles that redirect to this article"
},
"templates": {
"items": {
"$ref": "#/$defs/template"
},
"type": "array",
"description": "Wikitext templates used on the article"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the article"
},
"version": {
"$ref": "#/$defs/version"
},
"visibility": {
"$ref": "#/$defs/visibility"
},
"image": {
"$ref": "#/$defs/image",
"description": "Main image of the article. Distinct from the `images` arrays inside content parts, which hold images used within the article body"
},
"date_created": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the article was first created"
},
"date_previously_modified": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the before-last revision"
},
"previous_version": {
"$ref": "#/$defs/previous_version"
},
"watchers_count": {
"type": "integer",
"description": "Number of unique editors watching the page"
}
},
"type": "object",
"$defs": {
"article_body": {
"description": "Content of the article in HTML and wikitext. May be empty or omitted on `delete` and `visibility-change` events",
"properties": {
"html": {
"type": "string",
"description": "Parsed HTML of the article, following the [MediaWiki DOM spec](https://www.mediawiki.org/wiki/Specs/HTML)"
},
"wikitext": {
"type": "string",
"description": "Raw wikitext markup of the article"
}
},
"type": "object"
},
"article_namespace": {
"type": "object",
"description": "Namespace the page belongs to",
"properties": {
"identifier": {
"type": "number",
"description": "Numeric identifier of the namespace. Names and descriptions are available from the Namespaces metadata endpoints"
}
}
},
"category": {
"description": "Category the article belongs to. Categories aggregate articles around related topics",
"properties": {
"name": {
"type": "string",
"description": "Name of the category"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the category page"
}
},
"type": "object"
},
"editor": {
"description": "Editor who made the revision, with signals that help contextualize their activity",
"properties": {
"date_started": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the editor's account was registered. Anonymous editors (from before temporary accounts) carry the zero value `0001-01-01T00:00:00Z` rather than a real date"
},
"edit_count": {
"type": "integer",
"description": "Number of edits the editor has made"
},
"groups": {
"items": {
"type": "string"
},
"type": "array",
"description": "Editor groups the editor belongs to, such as `autoconfirmed` or `bot`"
},
"identifier": {
"type": "integer",
"description": "Unique MediaWiki identifier of the editor. Absent for anonymous editors"
},
"is_anonymous": {
"type": "boolean",
"description": "Whether the editor is anonymous. Since December 2025 all Wikimedia projects except Russian Wikipedia replaced anonymous editing with temporary accounts, so on those projects `is_anonymous` is always `false` and omitted"
},
"is_bot": {
"type": "boolean",
"description": "Whether the editor is a bot"
},
"name": {
"type": "string",
"description": "Username of the editor, which may be removed if deemed vandalism. For anonymous editors this is the editor's IP address. For [temporary accounts](https://en.wikipedia.org/wiki/Wikipedia:Temporary_accounts) it is a tilde, the account's creation year, and an auto-generated serial number in 5-digit groups, e.g. `~2026-59431-3`"
},
"is_admin": {
"type": "boolean",
"description": "Whether the editor has admin status"
},
"is_patroller": {
"type": "boolean",
"description": "Whether the editor has patroller status"
},
"has_advanced_rights": {
"type": "boolean",
"description": "Whether the editor has advanced rights"
}
},
"type": "object"
},
"entity": {
"type": "object",
"description": "Wikidata entity connected to the article",
"properties": {
"aspects": {
"$ref": "#/$defs/entity_aspects",
"description": "Aspects of the entity that the article uses. Populated on `additional_entities`. Current payloads omit it on `main_entity`"
},
"identifier": {
"type": "string",
"description": "Wikidata identifier of the entity: QID for items (e.g. `Q42`), PID for properties (e.g. `P31`)"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the entity on Wikidata"
}
}
},
"entity_aspects": {
"type": "array",
"description": "Aspects of the entity that are used, from Wikibase entity usage\ntracking. Each value is an aspect code. The set is open, not a\nfixed vocabulary: modifier forms carry language codes and property\nids, and new codes can appear at any time. Well-known values:\n\n- `S` (\"sitelinks\"): the entity's sitelinks are used.\n- `L` (\"label\"): the entity's label is used.\n- `L.xx` (\"label in XX\"): the label aspect with a language modifier, e.g. `L.en`.\n- `T` (\"title\"): the title of the local page corresponding to the entity is used.\n- `O` (\"other\"): aspects other than sitelinks, labels, or titles - typically statements.\n- `X` (\"all\"): other aspects (such as statement data), or all aspects, are or may be used.\n- `D.xx` (\"description\"): the entity's description in language `xx` is used.\n- `A.xx` (\"alias\"): the entity's alias in language `xx` is used.\n- `C.Px` (\"statements\"): certain statements (identified by their property id) from the entity are used.\n\nSee the [Wikibase entity usage schema](https://www.mediawiki.org/wiki/Wikibase/Schema/wbc_entity_usage) for the full aspect grammar.",
"items": {
"type": "string"
}
},
"event": {
"type": "object",
"description": "Event that triggered the change to the article or entity",
"properties": {
"identifier": {
"type": "string",
"description": "UUID of the event, usable to trace it through the Wikimedia Enterprise pipeline"
},
"type": {
"type": "string",
"description": "Type of event:\n- `update` - the article or entity changed\n- `delete` - the article or entity was deleted\n- `visibility-change` - the visibility of a revision changed; Realtime API only",
"enum": [
"update",
"delete",
"visibility-change"
]
},
"date_created": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the event entered the Wikimedia Enterprise pipeline"
},
"date_published": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the event was published to its partition. Realtime API only"
},
"partition": {
"type": "integer",
"description": "Partition of the event stream the event belongs to. Realtime API only"
},
"offset": {
"type": "integer",
"description": "Position of the event within its partition, increasing with each event. Realtime API only"
}
}
},
"image": {
"type": "object",
"description": "Image hosted on a Wikimedia project",
"properties": {
"content_url": {
"description": "Image URL",
"format": "uri",
"type": "string"
},
"identifier": {
"type": "string",
"description": "Unique identifier for the image"
},
"name": {
"type": "string",
"description": "Filename of the image"
},
"width": {
"description": "image width in pixels",
"type": "integer"
},
"height": {
"description": "image height in pixels",
"type": "integer"
},
"thumbnail": {
"$ref": "#/$defs/thumbnail",
"description": "Thumbnail of the image"
},
"caption": {
"type": "string",
"description": "caption describing the image"
},
"alternative_text": {
"type": "string",
"description": "Alternative text description of the image for accessibility"
},
"encoding_format": {
"type": "string",
"format": "mime_type",
"description": "MIME type or encoding format of the image, constructed from the url"
},
"media_type": {
"type": "string",
"enum": [
"unknown",
"bitmap",
"drawing",
"audio",
"video",
"multimedia",
"office",
"text",
"executable",
"archive"
],
"description": "MediaWiki media type of the image"
}
}
},
"language": {
"type": "object",
"description": "Language of a Wikimedia project or article",
"properties": {
"identifier": {
"type": "string",
"description": "Wikimedia [language code](https://www.wikidata.org/wiki/Help:Wikimedia_language_codes/lists/all) of the language"
},
"name": {
"type": "string",
"description": "Full name of the language"
},
"alternate_name": {
"type": "string",
"description": "Alternate name of the language"
},
"direction": {
"type": [
"string",
"null"
],
"enum": [
"ltr",
"rtl",
null
],
"description": "Direction the language is written in, `ltr` (left-to-right) or `rtl` (right-to-left)"
}
}
},
"license": {
"type": "object",
"description": "License that applies to the article content",
"properties": {
"identifier": {
"type": "string",
"description": "Unique identifier of the license"
},
"name": {
"type": "string",
"description": "Name of the license"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the license description"
}
}
},
"maintenance_tags": {
"description": "Counts of maintenance templates in the article's wikitext. Editors add these templates to flag content needing attention",
"properties": {
"citation_needed_count": {
"type": "integer",
"description": "Number of Citation needed templates in the wikitext"
},
"pov_count": {
"type": "integer",
"description": "Number of point-of-view (POV) templates in the wikitext"
},
"clarification_needed_count": {
"type": "integer",
"description": "Number of Clarify templates in the wikitext"
},
"update_count": {
"type": "integer",
"description": "Number of Update templates in the wikitext"
}
},
"type": "object"
},
"previous_version": {
"type": "object",
"description": "Metadata related to the before last revision of the article",
"required": [
"identifier"
],
"properties": {
"identifier": {
"type": "integer",
"description": "Identifier of the previous revision"
},
"number_of_characters": {
"type": "integer",
"description": "Number of characters in the previous revision, calculated from wikitext"
}
}
},
"project": {
"type": "object",
"description": "Wikimedia project a resource belongs to",
"properties": {
"identifier": {
"type": "string",
"description": "Unique identifier of the project, combining language and project code, e.g. `enwiki` for English Wikipedia"
},
"code": {
"type": "string",
"description": "Code of the project type, e.g. `wiki` for Wikipedia projects"
},
"name": {
"type": "string",
"description": "Name of the project"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the project"
},
"in_language": {
"$ref": "#/$defs/language",
"description": "Primary language of the project"
}
}
},
"protection": {
"type": "object",
"description": "Protection restricting who can perform an action on the article",
"properties": {
"expiry": {
"anyOf": [
{
"type": "string",
"enum": [
"infinite",
"indefinite",
"infinity",
"never"
]
},
{
"type": "string",
"format": "date-time"
}
],
"description": "When the protection expires. One of the sentinel values `infinite`, `indefinite`, `infinity`, or `never` for protections that do not expire, otherwise a timestamp"
},
"level": {
"type": "string",
"description": "Editor status required to perform the action, such as `autoconfirmed` or `sysop`. The set of levels is project-specific"
},
"type": {
"type": "string",
"description": "Action the protection applies to, such as `edit` or `move`. The [siteinfo restrictions API](https://www.mediawiki.org/wiki/API:Siteinfo#Restrictions) lists each project's protection types and levels"
}
}
},
"redirect": {
"description": "Article that redirects to this article",
"properties": {
"name": {
"type": "string",
"description": "Name of the redirecting article, often an alternate spelling or a related title consolidated into this article"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the redirecting article"
}
},
"type": "object"
},
"referenceneed": {
"description": "Assessment of how much of the revision needs citations",
"properties": {
"reference_need_score": {
"type": "number",
"description": "Proportion of uncited sentences that need a citation, between 0 and 1. Available for Wikipedia articles (namespace 0) in `fa`, `it`, `zh`, `ru`, `pt`, `es`, `ja`, `de`, `fr`, and `en`. Omitted when `0.0`"
}
},
"type": "object"
},
"referencerisk": {
"description": "Assessment of the reliability of the revision's references",
"properties": {
"reference_risk_score": {
"type": "number",
"description": "Probability of a reference remaining in the article, derived from historical editorial activity on the web domains used as references. Serves as a proxy for source reliability. Omitted when `0.0`"
}
},
"type": "object"
},
"revertrisk": {
"description": "Prediction of whether the revision may be reverted",
"properties": {
"prediction": {
"type": "boolean",
"description": "Whether the model predicts the revision will be reverted. Omitted when `false`"
},
"probability": {
"description": "Model probabilities behind the prediction",
"properties": {
"false": {
"type": "number",
"description": "Probability that the revision will not be reverted, between 0 and 1. Omitted when `0.0`"
},
"true": {
"type": "number",
"description": "Probability that the revision will be reverted, between 0 and 1. Omitted when `0.0`"
}
},
"type": "object"
}
},
"type": "object"
},
"scores": {
"description": "Machine learning scores for the revision, produced by Wikimedia's LiftWing models",
"properties": {
"revertrisk": {
"$ref": "#/$defs/revertrisk"
},
"referencerisk": {
"$ref": "#/$defs/referencerisk"
},
"referenceneed": {
"$ref": "#/$defs/referenceneed"
}
},
"type": "object"
},
"size": {
"type": "object",
"description": "Size of a resource, in the unit given by `unit_text`.",
"properties": {
"unit_text": {
"type": "string",
"description": "`MB` on snapshots, chunks and batches: decimal megabytes, bytes divided by 1,000,000, to three decimals. `B` on article versions: bytes of wikitext."
},
"value": {
"type": "number",
"description": "Size in the unit given by `unit_text`. For the exact byte count of a download, use the `Content-Length` header from a HEAD request on its download endpoint."
}
}
},
"template": {
"description": "Wikitext template used on the article, useful when parsing the wikitext directly",
"properties": {
"name": {
"type": "string",
"description": "Name of the template"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the template page"
}
},
"type": "object"
},
"thumbnail": {
"type": "object",
"description": "Thumbnail rendition of an image",
"properties": {
"contentUrl": {
"type": "string",
"format": "uri",
"description": "Thumbnail URL"
},
"width": {
"description": "Thumbnail width in pixels",
"type": "integer"
},
"height": {
"description": "Thumbnail height in pixels",
"type": "integer"
}
}
},
"version": {
"description": "Metadata about the latest revision of the article",
"properties": {
"comment": {
"type": "string",
"description": "Comment the editor left describing why they made the revision"
},
"editor": {
"$ref": "#/$defs/editor"
},
"identifier": {
"type": "integer",
"description": "Unique identifier of the revision, distinct from the article identifier"
},
"is_flagged_stable": {
"type": "boolean",
"description": "Whether the revision was marked stable by the project community. Community approval processes vary per project; `true` typically indicates a reviewed revision"
},
"is_minor_edit": {
"type": "boolean",
"description": "Whether the editor marked the revision as minor. Minor revisions are typically small corrections such as grammar fixes; the flag is set by the editor and can lack consistency"
},
"is_breaking_news": {
"type": "boolean",
"description": "Whether the revision is considered breaking news"
},
"noindex": {
"type": "boolean",
"description": "Whether the revision is excluded from search engine indexing. Omitted when `false`"
},
"scores": {
"$ref": "#/$defs/scores"
},
"maintenance_tags": {
"$ref": "#/$defs/maintenance_tags"
},
"size": {
"$ref": "#/$defs/size",
"description": "Size of the revision's wikitext in bytes (`unit_text` is `B`), computed from `article_body.wikitext`."
},
"number_of_characters": {
"type": "integer",
"description": "Number of characters calculated from wikitext"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"description": "[Tags](https://www.mediawiki.org/wiki/Manual:Tags) attached to the revision, marking campaigns, project-run initiatives, tracked edit types, or other Wikimedia events"
}
},
"type": "object"
},
"visibility": {
"type": "object",
"description": "Whether parts of this revision are visible. When the editing community flags a revision as containing potentially damaging content, it hides the affected part; `false` indicates the hidden part. Present only on `visibility-change` events in the Realtime API",
"properties": {
"comment": {
"type": "boolean",
"description": "Whether the edit comment of the revision is visible"
},
"text": {
"type": "boolean",
"description": "Whether the text of the revision is visible"
},
"editor": {
"type": "boolean",
"description": "Whether the editor name of the revision is visible"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/enterprise-wikimedia-com-article"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.