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
View JSON Schema on GitHub

JSON Schema

enterprise-wikimedia-com-article-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.