structured_content
Article parsed into structured components by the Structured Contents endpoints. Beta: these endpoints are experimental, are not covered by an SLA, and are not recommended for production. Fields and shapes can change as the parsers improve, and they graduate into the production endpoints once they are ready.
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Name of the article, as displayed at the top of the article page |
| identifier | integer | Unique identifier of the article. This is the article's MediaWiki page ID, distinct from the revision identifier |
| abstract | string | Short plain-text summary of the article |
| description | string | Short description of what the article is about, more concise than `abstract` |
| url | string | URL of the article |
| date_created | string | Timestamp of when the article was first created |
| date_modified | string | Timestamp of when the article was last modified |
| infoboxes | array | Parsed infoboxes of the article, as recursive trees of parts |
| sections | array | Parsed sections of the article body, as recursive trees of parts. The first section is named `Abstract` when it has no header |
| main_entity | object | Wikidata item ([QID](https://en.wikipedia.org/wiki/Help:Wikidata)) the article is connected to |
| additional_entities | array | Wikidata entities used on the article page, with the aspects of each entity that are used |
| image | object | Main image of the article. Distinct from the `images` arrays inside content parts, which hold images used within the article body |
| version | object | |
| is_part_of | object | Project the article belongs to. The [Available Projects endpoint](/docs/api/#tag/projects/GET/v2/projects) lists all projects |
| namespace | object | Namespace the article belongs to |
| in_language | object | Language the article is written in |
| license | array | Licenses that apply to the article content |
| event | object | |
| references | array | References defined in the article, linked from citations in section parts by identifier. Citations may exist without a matching reference and references without a matching citation |
| tables | array | Tables defined in the article, referenced from section parts by identifier. A table may be defined but never referenced, and a section may reference a table that is not present |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/enterprise-wikimedia-com/json-schema/enterprise-wikimedia-com-structured-content-schema.json",
"title": "structured_content",
"description": "Article parsed into structured components by the Structured Contents endpoints.\n\nBeta: these endpoints are experimental, are not covered by an SLA, and are not recommended for production. Fields and shapes can change as the parsers improve, and they graduate into the production endpoints once they are ready.\n",
"x-generated": "2026-11-04",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/enterprise-wikimedia-com-openapi.yml#/components/schemas/structured_content",
"properties": {
"name": {
"type": "string",
"description": "Name of the article, as displayed at the top of the article page"
},
"identifier": {
"type": "integer",
"description": "Unique identifier of the article. This is the article's MediaWiki page ID, distinct from the revision identifier"
},
"abstract": {
"type": "string",
"description": "Short plain-text summary of the article"
},
"description": {
"type": "string",
"description": "Short description of what the article is about, more concise than `abstract`"
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the article"
},
"date_created": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the article was first created"
},
"date_modified": {
"type": "string",
"format": "date-time",
"description": "Timestamp of when the article was last modified"
},
"infoboxes": {
"type": "array",
"items": {
"$ref": "#/$defs/part"
},
"description": "Parsed infoboxes of the article, as recursive trees of parts"
},
"sections": {
"type": "array",
"items": {
"$ref": "#/$defs/part"
},
"description": "Parsed sections of the article body, as recursive trees of parts. The first section is named `Abstract` when it has no header"
},
"main_entity": {
"$ref": "#/$defs/entity",
"description": "Wikidata item ([QID](https://en.wikipedia.org/wiki/Help:Wikidata)) the article is connected to"
},
"additional_entities": {
"type": "array",
"items": {
"$ref": "#/$defs/entity"
},
"description": "Wikidata entities used on the article page, with the aspects of each entity that are used"
},
"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"
},
"version": {
"$ref": "#/$defs/version"
},
"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"
},
"namespace": {
"$ref": "#/$defs/article_namespace",
"description": "Namespace the article belongs to"
},
"in_language": {
"$ref": "#/$defs/language",
"description": "Language the article is written in"
},
"license": {
"type": "array",
"items": {
"$ref": "#/$defs/license"
},
"description": "Licenses that apply to the article content"
},
"event": {
"$ref": "#/$defs/event"
},
"references": {
"type": "array",
"items": {
"$ref": "#/$defs/reference"
},
"description": "References defined in the article, linked from citations in section parts by identifier. Citations may exist without a matching reference and references without a matching citation"
},
"tables": {
"type": "array",
"items": {
"$ref": "#/$defs/table"
},
"description": "Tables defined in the article, referenced from section parts by identifier. A table may be defined but never referenced, and a section may reference a table that is not present"
}
},
"type": "object",
"$defs": {
"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"
}
}
},
"citation": {
"type": "object",
"description": "Citation marker supporting a claim, linked to an entry in the article's top-level `references` array. A citation may have no matching reference and a reference may have no matching citation",
"properties": {
"identifier": {
"type": "string",
"description": "Identifier of the citation, matching the `identifier` of an entry in `references`"
},
"group": {
"type": "string",
"description": "Citation group the citation belongs to"
},
"text": {
"type": "string",
"description": "Rendered citation marker as it appears in the article"
}
}
},
"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"
}
}
},
"link": {
"type": "object",
"description": "Link found in article content",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL the link points to"
},
"text": {
"type": "string",
"description": "Text of the link"
},
"images": {
"type": "array",
"items": {
"$ref": "#/$defs/image"
},
"description": "Images inside the link, if any"
}
}
},
"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"
},
"part": {
"type": "object",
"description": "Parsed part of an article's content. One schema serves two tree contexts, the parts of an infobox (`infoboxes`) and the sections of the article body (`sections`). Parts nest recursively through `has_parts`, whose items are themselves parts",
"properties": {
"name": {
"type": "string",
"description": "Name of the part. For sections this is the first HTML header in the section; a header-less first section is named `Abstract`"
},
"type": {
"type": "string",
"description": "Type of the part:\n- in infobox trees: `infobox`, `section`, `field`, `image`, or `list`\n- in section trees: `section`, `paragraph`, `list`, `list_item`, `definition-list`, `table`, `gallery`, or `images`"
},
"value": {
"type": "string",
"description": "Plain-text value of the part, used by `field` and `paragraph` parts. Ignores non-content elements such as tables, scripts, styles, and reference lists"
},
"values": {
"type": "array",
"items": {
"type": "string"
},
"description": "Values of the part, used by `list` parts"
},
"has_parts": {
"type": "array",
"items": {
"type": "object"
},
"description": "Sub-parts of this part. Each item is itself a part, nesting recursively"
},
"images": {
"type": "array",
"items": {
"$ref": "#/$defs/image"
},
"description": "Images used within this part of the article body. Distinct from the article's top-level `image`, its main image"
},
"links": {
"type": "array",
"items": {
"$ref": "#/$defs/link"
},
"description": "Links found in this part"
},
"citations": {
"type": "array",
"items": {
"$ref": "#/$defs/citation"
},
"description": "Citations found within this part, linked to entries in the article's top-level `references` array by identifier"
},
"table_references": {
"type": "array",
"items": {
"$ref": "#/$defs/table_reference"
},
"description": "Pointers to tables defined in the top-level `tables` array, present on table parts within `sections`"
}
}
},
"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"
}
}
},
"reference": {
"type": "object",
"description": "Reference supporting claims in the article, linked from citations in section parts by identifier",
"properties": {
"identifier": {
"type": "string",
"description": "Identifier of the reference, matched by the `identifier` of citations in section parts"
},
"group": {
"type": "string",
"description": "Reference group the reference belongs to"
},
"type": {
"type": "string",
"description": "Category of the reference, derived from the wikitext template used to create it, such as `web`, `book`, or `journal`. `text` indicates no template was used"
},
"metadata": {
"type": "object",
"description": "Parameters of the citation template behind the reference, as key-value pairs such as `title`, `url`, or `author1`"
},
"text": {
"type": "object",
"description": "Rendered text of the reference",
"properties": {
"value": {
"type": "string",
"description": "Plain text of the reference"
},
"links": {
"type": "array",
"items": {
"$ref": "#/$defs/link"
},
"description": "Links contained in the reference text"
}
}
},
"source": {
"type": "object",
"description": "Source cited by the reference, in the same shape as `text`. Present on a small subset of references",
"properties": {
"value": {
"type": "string",
"description": "Plain text of the source"
},
"links": {
"type": "array",
"items": {
"$ref": "#/$defs/link"
},
"description": "Links contained in the source text"
}
}
},
"parent_reference": {
"type": "string",
"description": "Identifier of the parent reference when this reference is a [sub-reference](https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Sub-referencing), currently used only on German Wikipedia"
}
}
},
"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."
}
}
},
"table": {
"type": "object",
"description": "Table defined in the article, referenced from section parts by identifier. A table may be defined but never referenced, and a section may reference a table that is not present",
"properties": {
"identifier": {
"type": "string",
"description": "Unique identifier of the table within the article, not globally unique across projects and languages. Section parts reference tables by this identifier"
},
"headers": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "Text of the header cell"
}
}
}
},
"description": "Header rows of the table, as an array of arrays of cells. Absent when the table has no header row"
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string",
"description": "Text of the cell"
}
}
}
},
"description": "Data rows of the table, as an array of arrays of cells"
},
"confidence_score": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Confidence in the extracted table data, between 0 and 1"
}
}
},
"table_reference": {
"type": "object",
"description": "Pointer from an article section to a table in the top-level `tables` array",
"properties": {
"identifier": {
"type": "string",
"description": "Identifier of the referenced table, unique within the article. Matches the `identifier` of an entry in the top-level `tables` array"
},
"confidence_score": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Confidence score of the table extraction, between 0 and 1"
}
}
},
"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"
}
}
}
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
curl "https://apis.io/api/v1/json-schemas/enterprise-wikimedia-com-structured-content"
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.