Realtime API Documentation

Receive real-time event updates from all supported Wikimedia projects using the streaming (firehose) endpoint, or via batch file endpoints that are generated hourly with changes throughout the day.

Streaming supports server-sent events (SSE) by default or NDJSON when you pass the Accept: application/x-ndjson header. Batch files return NDJSON in a tarball (.tar.gz).

Event types are: update, delete, visibility-change:

  • An update event type is sent when an article is created, its content is updated, or its name or namespace is changed.
  • A delete event type is sent when an article has been deleted.
  • A visibility-change event type is sent when the visibility of an article’s editor, comment, or content is changed by community volunteers

For access to Realtime endpoints, contact our sales team.

Blog: Realtime API Parallel Connections and Restart Support

Streaming Article Updates

Returns a stream of article updates, deletions, and visibility changes across all supported projects. The event type is found in the article.event.type field. Possible values are update, delete, and visibility-change.

GET https://realtime.enterprise.wikimedia.com/v2/articles
Parameters
Query parameters
since
string
Optional
A timestamp in RFC3339 format (e.g. '2006-01-02T15:04:05Z') that specifies the start time for the data you want to receive.
fields
array
Optional
A list of fields to receive in your response (e.g. version.* will return all version object fields). Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
filters
array
Optional
Specify how you want to filter your data. Sent as one filters query parameter per filter, each a JSON object: ?filters={"field":"is_part_of.identifier","value":"enwiki"}&filters={"field":"namespace.identifier","value":0}. Repeated filters combine as AND. A JSON array in a single value returns 422 Unprocessable Entity.
parts
array
Optional
This parameter is used when opening parallel connections to the realtime API. Using parts, one can target subsets of partitions in each of the parallel connections. The max allowed number of parallel connections is 10, i.e., the parts can take 0 through 9. Each of these parts represent 1/10th of the subsequent partition. For instance, parts 0 correspond to partitions 0 through 4; parts 1 correspond to partitions 5 through 9 and so on.
offsets
object
Optional
Use the offsets parameter to resume from a specific point in a partition's event stream when reconnecting. This object should be a map of partition numbers to the specific offsets you want to resume from. This indicates the offset from which the Realtime API should start sending events for a specific partition. If the offsets map includes a partition not represented in the parts parameter, it will be ignored. If the offsets map does not include a partition that is represented in the parts parameter, events from that partition will be delivered in live mode (as they happen).
since_per_partition
object
Optional
Use the since_per_partition parameter when reconnecting to the Realtime API. This object should be a map of partition numbers to timestamps (in RFC3339 format) you want to resume from. Find the timestamp for the most recently received event in the event.date_published response field. This indicates the timestamp from which the Realtime API should start sending events for a specific partition. If the since_per_partition map includes a partition not represented in the parts parameter, it will be ignored. If the since_per_partition map does not include a partition that is represented in the parts paramter, events from that partition will be delivered in live mode (as they happen).
Response
  • text/event-stream
    { "event": { "identifier": "f7c737db-4b50-4982-8804-7c2b9fa89020", "type": "update", "date_created": "2026-03-18T12:38:23.437225Z", "date_published": "2026-03-18T12:38:23.437225Z", "partition": 42, "offset": 3593806 }, "additional_entities": "array", "article_body": { "html": "string", "wikitext": "string" }, "categories": "array", "date_modified": "string", "identifier": "integer", "in_language": { "identifier": "en", "name": "English" }, "is_part_of": { "date_modified": "2018-02-03T02:52:06Z", "identifier": "enwiki", "in_language": { "identifier": "en", "name": "English" }, "name": "Wikipedia", "size": { "unit_text": "B", "value": 76760 }, "url": "https://en.wikipedia.org", "version": "string" }, "license": "array", "main_entity": { "aspects": "array", "identifier": "string", "url": "string" }, "name": "string", "abstract": "string", "namespace": { "identifier": 0 }, "protection": "array", "redirects": "array", "templates": "array", "url": "string", "version": { "comment": "string", "editor": { "date_started": "string", "edit_count": "integer", "groups": "array", "identifier": "integer", "is_anonymous": "boolean", "is_bot": "boolean", "name": "string", "is_admin": true, "is_patroller": true, "has_advanced_rights": true }, "identifier": "integer", "is_flagged_stable": "boolean", "is_minor_edit": "boolean", "is_breaking_news": "boolean", "noindex": "boolean", "scores": { "revertrisk": { "prediction": "boolean", "probability": "object" }, "referencerisk": { "reference_risk_score": "number" }, "referenceneed": { "reference_need_score": "number" } }, "maintenance_tags": { "citation_needed_count": "integer", "pov_count": "integer", "clarification_needed_count": "integer", "update_count": "integer" }, "size": { "unit_text": "B", "value": 76760 }, "number_of_characters": 12500, "tags": "array" }, "visibility": { "comment": true, "text": true, "editor": false }, "image": { "content_url": "https://upload.wikimedia.org/wikipedia/en/thumb/0/03/Flag_of_Italy.svg/40px-Flag_of_Italy.svg.png", "width": 156, "height": 255 }, "date_created": "2024-04-01T12:00:00Z", "date_previously_modified": "2024-05-01T12:00:00Z", "previous_version": { "identifier": 1359484426, "number_of_characters": 123 }, "watchers_count": 38 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://realtime.enterprise.wikimedia.com/v2/articles
Request Body
since
string
fields
array
filters
array
parts
array
offsets
object
since_per_partition
object
application/json
{ "since": "2006-01-02T15:04:05Z", "fields": [ "name", "identifier" ], "filters": [ { "field": "in_language.identifier", "value": "en" } ], "parts": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], "offsets": { "0": 3614782, "4": 3593806, "8": 3588693 }, "since_per_partition": { "1": "2023-06-05T12:00:00Z", "2": "2023-06-05T12:00:00Z" } }
Response
  • text/event-stream
    { "event": { "identifier": "f7c737db-4b50-4982-8804-7c2b9fa89020", "type": "update", "date_created": "2026-03-18T12:38:23.437225Z", "date_published": "2026-03-18T12:38:23.437225Z", "partition": 42, "offset": 3593806 }, "additional_entities": "array", "article_body": { "html": "string", "wikitext": "string" }, "categories": "array", "date_modified": "string", "identifier": "integer", "in_language": { "identifier": "en", "name": "English" }, "is_part_of": { "date_modified": "2018-02-03T02:52:06Z", "identifier": "enwiki", "in_language": { "identifier": "en", "name": "English" }, "name": "Wikipedia", "size": { "unit_text": "B", "value": 76760 }, "url": "https://en.wikipedia.org", "version": "string" }, "license": "array", "main_entity": { "aspects": "array", "identifier": "string", "url": "string" }, "name": "string", "abstract": "string", "namespace": { "identifier": 0 }, "protection": "array", "redirects": "array", "templates": "array", "url": "string", "version": { "comment": "string", "editor": { "date_started": "string", "edit_count": "integer", "groups": "array", "identifier": "integer", "is_anonymous": "boolean", "is_bot": "boolean", "name": "string", "is_admin": true, "is_patroller": true, "has_advanced_rights": true }, "identifier": "integer", "is_flagged_stable": "boolean", "is_minor_edit": "boolean", "is_breaking_news": "boolean", "noindex": "boolean", "scores": { "revertrisk": { "prediction": "boolean", "probability": "object" }, "referencerisk": { "reference_risk_score": "number" }, "referenceneed": { "reference_need_score": "number" } }, "maintenance_tags": { "citation_needed_count": "integer", "pov_count": "integer", "clarification_needed_count": "integer", "update_count": "integer" }, "size": { "unit_text": "B", "value": 76760 }, "number_of_characters": 12500, "tags": "array" }, "visibility": { "comment": true, "text": true, "editor": false }, "image": { "content_url": "https://upload.wikimedia.org/wikipedia/en/thumb/0/03/Flag_of_Italy.svg/40px-Flag_of_Italy.svg.png", "width": 156, "height": 255 }, "date_created": "2024-04-01T12:00:00Z", "date_previously_modified": "2024-05-01T12:00:00Z", "previous_version": { "identifier": 1359484426, "number_of_characters": 123 }, "watchers_count": 38 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Streaming Wikidata Updates (Beta)

Returns a stream of Wikidata item updates, deletions, and visibility changes in real-time.

GET https://realtime.enterprise.wikimedia.com/v2/wikidata
Parameters
Query parameters
since
string
Optional
A timestamp in RFC3339 format (e.g. '2006-01-02T15:04:05Z') that specifies the start time for the data you want to receive.
fields
array
Optional
A list of fields to receive in your response (e.g. version.* will return all version object fields). Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
filters
array
Optional
Specify how you want to filter your data. Sent as one filters query parameter per filter, each a JSON object: ?filters={"field":"is_part_of.identifier","value":"enwiki"}&filters={"field":"namespace.identifier","value":0}. Repeated filters combine as AND. A JSON array in a single value returns 422 Unprocessable Entity.
parts
array
Optional
This parameter is used when opening parallel connections to the realtime API. Using parts, one can target subsets of partitions in each of the parallel connections. The max allowed number of parallel connections is 10, i.e., the parts can take 0 through 9. Each of these parts represent 1/10th of the subsequent partition. For instance, parts 0 correspond to partitions 0 through 4; parts 1 correspond to partitions 5 through 9 and so on.
since_per_partition
object
Optional
Use the since_per_partition parameter when reconnecting to the Realtime API. This object should be a map of partition numbers to timestamps (in RFC3339 format) you want to resume from. Find the timestamp for the most recently received event in the event.date_published response field. This indicates the timestamp from which the Realtime API should start sending events for a specific partition. If the since_per_partition map includes a partition not represented in the parts parameter, it will be ignored. If the since_per_partition map does not include a partition that is represented in the parts paramter, events from that partition will be delivered in live mode (as they happen).
Response
  • text/event-stream
    { "name": "P31", "identifier": 104546757, "date_created": "2024-04-01T12:00:00Z", "date_modified": "2024-06-01T12:00:00Z", "date_previously_modified": "2024-05-01T12:00:00Z", "protection": { "expiry": "infinity", "level": "extendedconfirmed", "type": "edit" }, "redirects": "array", "url": "https://www.wikidata.org/wiki/Q109388644", "namespace": { "identifier": 0 }, "is_part_of": { "date_modified": "2018-02-03T02:52:06Z", "identifier": "enwiki", "in_language": { "identifier": "en", "name": "English" }, "name": "Wikipedia", "size": { "unit_text": "B", "value": 76760 }, "url": "https://en.wikipedia.org", "version": "string" }, "entity": { "identifier": "Q42", "type": "item", "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" }, "descriptions": { "en": "Championship held at Balbir Singh Juneja Indoor Stadium" }, "aliases": { "eo": [ "Douglas ADAMS", "Douglas Noel ADAMS" ] }, "statements": [ { "identifier": "Q56603478$B070CCDB-B608-492C-B15A-4ABC5CED7AF6", "rank": "normal", "property": { "identifier": "P31", "data_type": "external-id", "labels": { "en": "instance of", "de": "Instanz von", "fr": "instance de" } }, "value": { "content": "Adams, Douglas (1952-2001)", "type": "wikibase-item", "content_data": { "after": "0", "before": "0", "Calendarmodel": "http://www.wikidata.org/entity/Q1985727", "precision": "9", "Time": "+1861-00-00T00:00:00Z", "timezone": "0" }, "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" } }, "qualifiers": { "property": { "identifier": "P31", "data_type": "external-id", "labels": { "en": "instance of", "de": "Instanz von", "fr": "instance de" } }, "value": { "content": "Adams, Douglas (1952-2001)", "type": "wikibase-item", "content_data": { "after": "0", "before": "0", "Calendarmodel": "http://www.wikidata.org/entity/Q1985727", "precision": "9", "Time": "+1861-00-00T00:00:00Z", "timezone": "0" }, "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" } } }, "references": { "identifier": "63309730314f4c20bf6b1008fe8ffd2b155272b3", "parts": "array" } } ], "sitelinks": { "title": "Pentominium", "badges": [ "Q17437796", "Q6540326" ], "url": "https://de.wikipedia.org/wiki/Pentominium" } }, "visibility": { "comment": true, "text": true, "editor": false }, "license": "array", "event": { "identifier": "f7c737db-4b50-4982-8804-7c2b9fa89020", "type": "update", "date_created": "2026-03-18T12:38:23.437225Z", "date_published": "2026-03-18T12:38:23.437225Z", "partition": 42, "offset": 3593806 }, "previous_version": { "identifier": 1359484426, "number_of_characters": 123 } }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://realtime.enterprise.wikimedia.com/v2/wikidata
Request Body
since
string
fields
array
filters
array
parts
array
since_per_partition
object
application/json
{ "since": "2006-01-02T15:04:05Z", "fields": [ "name", "identifier" ], "filters": [ { "field": "in_language.identifier", "value": "en" } ], "parts": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], "since_per_partition": { "1": "2023-06-05T12:00:00Z", "2": "2023-06-05T12:00:00Z" } }
Response
  • text/event-stream
    { "name": "P31", "identifier": 104546757, "date_created": "2024-04-01T12:00:00Z", "date_modified": "2024-06-01T12:00:00Z", "date_previously_modified": "2024-05-01T12:00:00Z", "protection": { "expiry": "infinity", "level": "extendedconfirmed", "type": "edit" }, "redirects": "array", "url": "https://www.wikidata.org/wiki/Q109388644", "namespace": { "identifier": 0 }, "is_part_of": { "date_modified": "2018-02-03T02:52:06Z", "identifier": "enwiki", "in_language": { "identifier": "en", "name": "English" }, "name": "Wikipedia", "size": { "unit_text": "B", "value": 76760 }, "url": "https://en.wikipedia.org", "version": "string" }, "entity": { "identifier": "Q42", "type": "item", "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" }, "descriptions": { "en": "Championship held at Balbir Singh Juneja Indoor Stadium" }, "aliases": { "eo": [ "Douglas ADAMS", "Douglas Noel ADAMS" ] }, "statements": [ { "identifier": "Q56603478$B070CCDB-B608-492C-B15A-4ABC5CED7AF6", "rank": "normal", "property": { "identifier": "P31", "data_type": "external-id", "labels": { "en": "instance of", "de": "Instanz von", "fr": "instance de" } }, "value": { "content": "Adams, Douglas (1952-2001)", "type": "wikibase-item", "content_data": { "after": "0", "before": "0", "Calendarmodel": "http://www.wikidata.org/entity/Q1985727", "precision": "9", "Time": "+1861-00-00T00:00:00Z", "timezone": "0" }, "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" } }, "qualifiers": { "property": { "identifier": "P31", "data_type": "external-id", "labels": { "en": "instance of", "de": "Instanz von", "fr": "instance de" } }, "value": { "content": "Adams, Douglas (1952-2001)", "type": "wikibase-item", "content_data": { "after": "0", "before": "0", "Calendarmodel": "http://www.wikidata.org/entity/Q1985727", "precision": "9", "Time": "+1861-00-00T00:00:00Z", "timezone": "0" }, "labels": { "ce": "\u041e\u044c\u0437\u043b\u0435\u0440", "en": "\u00d6zler" } } }, "references": { "identifier": "63309730314f4c20bf6b1008fe8ffd2b155272b3", "parts": "array" } } ], "sitelinks": { "title": "Pentominium", "badges": [ "Q17437796", "Q6540326" ], "url": "https://de.wikipedia.org/wiki/Pentominium" } }, "visibility": { "comment": true, "text": true, "editor": false }, "license": "array", "event": { "identifier": "f7c737db-4b50-4982-8804-7c2b9fa89020", "type": "update", "date_created": "2026-03-18T12:38:23.437225Z", "date_published": "2026-03-18T12:38:23.437225Z", "partition": 42, "offset": 3593806 }, "previous_version": { "identifier": 1359484426, "number_of_characters": 123 } }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Hourly Batch Files Available

Returns a list of available Realtime (Batch) bundles by date and hour (00, 01, …, 23). Includes identifiers, file sizes and other relevant metadata.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}
Parameters
Path parameters
date
string
Required
hour
string
Required
Query parameters
fields
array
Optional
Select which fields to receive in your response, using JSON dot notation. Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
filters
array
Optional
Select which projects and languages to receive in your response. Sent as one filters query parameter per filter, each a JSON object: ?filters={"field":"is_part_of.identifier","value":"enwiki"}&filters={"field":"namespace.identifier","value":0}. Repeated filters combine as AND. A JSON array in a single value returns 422 Unprocessable Entity.
Response
  • application/json
    [ { "identifier": "string", "name": "string", "version": "string", "date_modified": "string", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" }, "is_part_of": { "identifier": "enwiki", "code": "wiki", "name": "Wikipedia", "url": "https://en.wikipedia.org", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" } }, "namespace": { "identifier": 0 }, "size": { "unit_text": "string", "value": "number" }, "record_count": 3508 } ]
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}
Parameters
Path parameters
date
string
Required
hour
string
Required
Request Body
fields
array
filters
array
application/json
{ "fields": [ "name", "identifier" ], "filters": [ { "field": "namespace.identifier", "value": 0 } ] }
Response
  • application/json
    [ { "identifier": "string", "name": "string", "version": "string", "date_modified": "string", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" }, "is_part_of": { "identifier": "enwiki", "code": "wiki", "name": "Wikipedia", "url": "https://en.wikipedia.org", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" } }, "namespace": { "identifier": 0 }, "size": { "unit_text": "string", "value": "number" }, "record_count": 3508 } ]
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Hourly Batch File Info

Information on specific hourly batch. Includes identifier, file size and other relevant metadata.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/{identifier}
Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
Batch identifier.
Query parameters
fields
array
Optional
Select which fields to receive in your response, using JSON dot notation. Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
Response
  • application/json
    { "identifier": "string", "name": "string", "version": "string", "date_modified": "string", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" }, "is_part_of": { "identifier": "enwiki", "code": "wiki", "name": "Wikipedia", "url": "https://en.wikipedia.org", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" } }, "namespace": { "identifier": 0 }, "size": { "unit_text": "string", "value": "number" }, "record_count": 3508 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/{identifier}
Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
Batch identifier.
Request Body
fields
array
application/json
{ "fields": [ "name", "identifier" ] }
Response
  • application/json
    { "identifier": "string", "name": "string", "version": "string", "date_modified": "string", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" }, "is_part_of": { "identifier": "enwiki", "code": "wiki", "name": "Wikipedia", "url": "https://en.wikipedia.org", "in_language": { "identifier": "en", "name": "English", "alternate_name": "English", "direction": "ltr" } }, "namespace": { "identifier": 0 }, "size": { "unit_text": "string", "value": "number" }, "record_count": 3508 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Hourly Batch File Download

Downloadable bundle of updated articles by project, namespace, date, and hour. Generated hourly starting at 00:00 UTC each day.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/{identifier}/download

Responds 307 Temporary Redirect with a presigned URL in the Location header, valid for 60 seconds. The file is served from that URL, not from this endpoint, so clients must follow the redirect (for example curl --location) and request a fresh URL for each download rather than storing one. Do not send the API bearer token to the presigned URL: the storage service rejects a request that carries both with 400 InvalidArgument. The payload is a gzipped tar archive served as binary/octet-stream. Use HEAD on this path for Content-Length, ETag, Last-Modified and Accept-Ranges, and send Range requests to the presigned URL to resume a partial download.

Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
Batch identifier.
Header parameters
Range
string
Optional
The Range HTTP request header indicates the part of a document that the server should return. This endpoint redirects before reading it, so send Range to the presigned URL in the redirect instead.
Response
  • binary/octet-stream
    {}
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
HEAD https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/{identifier}/download

Set of headers that describe the hourly download.

Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
Batch identifier.
Response
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Hourly Wikidata Batch Files Available (Beta)

Returns a list of available Wikidata Realtime (Batch) bundles by date and hour (00, 01, …, 23). Includes identifiers ('wikidata_items' or 'wikidata_properties'), file sizes and other relevant metadata.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata
Parameters
Path parameters
date
string
Required
hour
string
Required
Query parameters
fields
array
Optional
Select which fields to receive in your response, using JSON dot notation. Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
filters
array
Optional
Select which projects and languages to receive in your response. Sent as one filters query parameter per filter, each a JSON object: ?filters={"field":"is_part_of.identifier","value":"enwiki"}&filters={"field":"namespace.identifier","value":0}. Repeated filters combine as AND. A JSON array in a single value returns 422 Unprocessable Entity.
Response
  • application/json
    [ { "identifier": "wikidata_items", "version": "86310bc40cde34f58293a452ad09359e", "date_modified": "2026-09-08T13:01:35.119276565Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 0 }, "size": { "value": 31.43, "unit_text": "MB" }, "record_count": 19240 }, { "identifier": "wikidata_properties", "version": "0e0393691c7daada8e9f041d9cc35b41", "date_modified": "2026-09-08T13:01:36.154681863Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 120 }, "size": { "value": 0.029, "unit_text": "MB" }, "record_count": 20 } ]
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata
Parameters
Path parameters
date
string
Required
hour
string
Required
Request Body
fields
array
filters
array
application/json
{ "fields": [ "name", "identifier" ], "filters": [ { "field": "namespace.identifier", "value": 0 } ] }
Response
  • application/json
    [ { "identifier": "wikidata_items", "version": "86310bc40cde34f58293a452ad09359e", "date_modified": "2026-09-08T13:01:35.119276565Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 0 }, "size": { "value": 31.43, "unit_text": "MB" }, "record_count": 19240 }, { "identifier": "wikidata_properties", "version": "0e0393691c7daada8e9f041d9cc35b41", "date_modified": "2026-09-08T13:01:36.154681863Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 120 }, "size": { "value": 0.029, "unit_text": "MB" }, "record_count": 20 } ]
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Wikidata Hourly Batch File Info (Beta)

Information on a specific hourly wikidata batch. Identifier can either be 'items' or 'properties'. Includes identifier, file size and other relevant metadata.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata/{identifier}
Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
One of: items properties
Wikidata batch identifier, either 'items' or 'properties'.
Query parameters
fields
array
Optional
Select which fields to receive in your response, using JSON dot notation. Sent as one fields query parameter per field: ?fields=name&fields=identifier. A comma-separated list in a single value is not supported.
Response
  • application/json
    { "identifier": "wikidata_items", "version": "86310bc40cde34f58293a452ad09359e", "date_modified": "2026-09-08T13:01:35.119276565Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 0 }, "size": { "value": 31.43, "unit_text": "MB" }, "record_count": 19240 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
POST https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata/{identifier}
Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
One of: items properties
Wikidata batch identifier, either 'items' or 'properties'.
Request Body
fields
array
application/json
{ "fields": [ "name", "identifier" ] }
Response
  • application/json
    { "identifier": "wikidata_items", "version": "86310bc40cde34f58293a452ad09359e", "date_modified": "2026-09-08T13:01:35.119276565Z", "is_part_of": { "identifier": "wikidatawiki" }, "in_language": { "identifier": "en" }, "namespace": { "identifier": 0 }, "size": { "value": 31.43, "unit_text": "MB" }, "record_count": 19240 }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }

Wikidata Hourly Batch File Download (Beta)

Downloadable bundle of updated Wikidata items or properties in a given date and hour. Generated hourly starting at 00:00 UTC each day. Identifier can be either 'items' or 'properties'.

GET https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata/{identifier}/download

Responds 307 Temporary Redirect with a presigned URL in the Location header, valid for 60 seconds. The file is served from that URL, not from this endpoint, so clients must follow the redirect (for example curl --location) and request a fresh URL for each download rather than storing one. Do not send the API bearer token to the presigned URL: the storage service rejects a request that carries both with 400 InvalidArgument. The payload is a gzipped tar archive served as binary/octet-stream. Use HEAD on this path for Content-Length, ETag, Last-Modified and Accept-Ranges, and send Range requests to the presigned URL to resume a partial download.

Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
One of: items properties
Wikidata batch identifier, either 'items' or 'properties'.
Header parameters
Range
string
Optional
The Range HTTP request header indicates the part of a document that the server should return. This endpoint redirects before reading it, so send Range to the presigned URL in the redirect instead.
Response
  • binary/octet-stream
    {}
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
HEAD https://api.enterprise.wikimedia.com/v2/batches/{date}/{hour}/wikidata/{identifier}/download

Set of headers that describe the hourly Wikidata batch file.

Parameters
Path parameters
date
string
Required
hour
string
Required
identifier
string
Required
One of: items properties
Wikidata batch identifier, either 'items' or 'properties'.
Response
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }
  • application/json
    { "message": "string", "status": "integer" }