Wikimedia

Wikipedia and Wikimedia projects API

api.wikimedia.org ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
35
Schemas
63
Updated
3 days ago
Reference reference wikipedia knowledge
Use this API in your AI agent

Query structured spec data via REST or MCP. Get exactly what your agent needs.

Get API Key

Server URLs

https://wikimedia.org/api/rest_v1

Authentication

apiKey

Endpoints

Clear filters

Bytes difference data 4 endpoints

GET /metrics/bytes-difference/absolute/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of absolute bytes difference sums. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user) and page-type (all-page-types, content, non-content). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: BytesDifferenceData_getAbsoluteAggregateByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org. If you're interested in the aggregation of all projects, use all-projects.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
granularity path required string Time unit for the response data. As of today, supported values are daily and monthly
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/bytes-difference/absolute/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}
GET /metrics/bytes-difference/absolute/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}

Given a Mediawiki project, a page-title prefixed with canonical namespace (for instance 'User:Jimbo_Wales') and a date range, returns a timeseries of bytes difference absolute sums. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: BytesDifferenceData_getAbsolutePerPage

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
page-title path required string The page-title to request absolute bytes-difference for. Should be prefixed with the page canonical namespace.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
granularity path required string Time unit for the response data. As of today, supported values are daily and monthly
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/bytes-difference/absolute/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}
GET /metrics/bytes-difference/net/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of bytes difference net sums. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user) and page-type (all-page-types, content or non-content). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: BytesDifferenceData_getNetAggregateByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org. If you're interested in the aggregation of all projects, use all-projects.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
granularity path required string Time unit for the response data. As of today, supported values are daily and monthly
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/bytes-difference/net/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}
GET /metrics/bytes-difference/net/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}

Given a Mediawiki project, a page-title prefixed with canonical namespace (for instance 'User:Jimbo_Wales') and a date range, returns a timeseries of bytes difference net sums. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: BytesDifferenceData_getSumNetTextBytesDifferencePerPage

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
page-title path required string The page-title to request net bytes-difference for. Should be prefixed with the page canonical namespace.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
granularity path required string Time unit for the response data. As of today, supported values are daily and monthly
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/bytes-difference/net/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}

Edited pages data 5 endpoints

GET /metrics/edited-pages/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of its edited-pages counts. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user), page-type (all-page-types, content or non-content) or activity-level (1..4-edits, 5..24-edits, 25..99-edits, 100..-edits). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditedPagesData_getAggregateByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edited-pages in content namespaces) or non-content (edited-pages in non-content namespaces). If you are interested in edited-pages regardless of their page-type, use all-page-types.
activity-level path required string If you want to filter by activity-level, use one of 1..4-edits, 5..24-edits, 25..99-edits or 100..-edits. If you are interested in edited-pages regardless of their activity level, use all-activity-levels.
granularity path required string The time unit for the response data. As of today, supported values are daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/edited-pages/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}
GET /metrics/edited-pages/new/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of its new pages counts. You can filter by editor type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditedPagesData_getNewPagesCountsForProject

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org. If you're interested in the aggregation of all projects, use all-projects.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (new pages in content namespaces) or non-content (new pages in non-content namespaces). If you are interested in new-articles regardless of their page-type, use all-page-types.
granularity path required string The time unit for the response data. As of today, supported values are daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/edited-pages/new/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}
GET /metrics/edited-pages/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 edited-pages by absolute bytes-difference. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditedPagesData_getTopByAbsoluteBytesDifference

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top edited-pages, in YYYY format.
month path required string The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/edited-pages/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}
GET /metrics/edited-pages/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 edited-pages by edits count. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditedPagesData_getTopByEditsCount

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top edited-pages, in YYYY format.
month path required string The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/edited-pages/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}
GET /metrics/edited-pages/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 edited-pages by net bytes-difference. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditedPagesData_getTopByNetBytesDifference

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top edited-pages, in YYYY format.
month path required string The month of the date for which to retrieve top edited-pages, in MM format. If you want to get the top edited-pages of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top edited-pages, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/edited-pages/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Editors data 4 endpoints

GET /metrics/editors/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of its editors counts. You can filter by editory-type (all-editor-types, anonymous, group-bot, name-bot, user), page-type (all-page-types, content or non-content) or activity-level (1..4-edits, 5..24-edits, 25..99-edits or 100..-edits). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditorsData_getEditorsCountsForProject

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits made in content namespaces) or non-content (edits made in non-content namespaces). If you are interested in editors regardless of their page-type, use all-page-types.
activity-level path required string If you want to filter by activity-level, use one of 1..4-edits, 5..24-edits, 25..99-edits or 100..-edits. If you are interested in editors regardless of their activity-level, use all-activity-levels.
granularity path required string The time unit for the response data. As of today, supported values are daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/editors/aggregate/{project}/{editor-type}/{page-type}/{activity-level}/{granularity}/{start}/{end}
GET /metrics/editors/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 editors by absolute bytes-difference. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). The user_text returned is either the mediawiki user_text if the user is registered, or null if user is anonymous. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditorsData_getTopByAbsoluteBytesDifference

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top editors, in YYYY format.
month path required string The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/editors/top-by-absolute-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}
GET /metrics/editors/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 editors by edits count. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). The user_text returned is either the mediawiki user_text if the user is registered, or null if user is anonymous. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditorsData_getTopEditorsByEditsCount

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top editors, in YYYY format.
month path required string The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/editors/top-by-edits/{project}/{editor-type}/{page-type}/{year}/{month}/{day}
GET /metrics/editors/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Given a Mediawiki project and a date (day or month), returns a timeseries of the top 100 editors by net bytes-difference. You can filter by editor-type (all-editor-types, anonymous, group-bot, name-bot, user) or page-type (all-page-types, content or non-content). The user_text returned is either the mediawiki user_text if the user is registered, or "Anonymous Editor" if user is anonymous. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditorsData_getTopByNetBytesDifference

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
year path required string The year of the date for which to retrieve top editors, in YYYY format.
month path required string The month of the date for which to retrieve top editors, in MM format. If you want to get the top editors of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top editors, in DD format, or all-days for a monthly value.

Responses

default Error
200 The list of values
GET /metrics/editors/top-by-net-bytes-difference/{project}/{editor-type}/{page-type}/{year}/{month}/{day}

Edits data 2 endpoints

GET /metrics/edits/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of edits counts. You can filter by editors-type (all-editor-types, anonymous, bot, registered) and page-type (all-page-types, content or non-content). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditsData_getEditsCountsForProject

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org. If you're interested in the aggregation of all projects, use all-projects.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
page-type path required string If you want to filter by page-type, use one of content (edits on pages in content namespaces) or non-content (edits on pages in non-content namespaces). If you are interested in edits regardless of their page-type, use all-page-types.
granularity path required string The time unit for the response data. As of today, supported values are daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/edits/aggregate/{project}/{editor-type}/{page-type}/{granularity}/{start}/{end}
GET /metrics/edits/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}

Given a Mediawiki project, a page-title prefixed with its canonical namespace (for instance 'User:Jimbo_Wales') and a date range, returns a timeseries of edit counts. You can filter by editors-type (all-editor-types, anonymous, group-bot, name-bot, user). You can choose between daily and monthly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: EditsData_getPageEditCounts

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org.
page-title path required string The page-title to request edits for. It should be prefixed with canonical namespace. Spaces will be converted to underscores.
editor-type path required string If you want to filter by editor-type, use one of anonymous, group-bot (registered accounts belonging to the bot group), name-bot (registered accounts not belonging to the bot group but having bot-like names) or user (registered account not in bot group nor having bot-like name). If you are interested in edits regardless of their editor-type, use all-editor-types.
granularity path required string Time unit for the response data. As of today, supported values are daily and monthly
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/edits/per-page/{project}/{page-title}/{editor-type}/{granularity}/{start}/{end}

Feed content availability 1 endpoints

GET /feed/availability

Gets availability of featured feed content for the apps by wiki domain. Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental)

operationId: FeedContentAvailability_getByWikiDomain

Responses

default Error
200 JSON containing lists of wiki domains for which feed content is available.
GET /feed/availability

Legacy data 1 endpoints

GET /metrics/legacy/pagecounts/aggregate/{project}/{access-site}/{granularity}/{start}/{end}

Given a project and a date range, returns a timeseries of pagecounts. You can filter by access site (mobile or desktop) and you can choose between monthly, daily and hourly granularity as well. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: LegacyData_getPagecountsAggregateByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia.
access-site path required string If you want to filter by access site, use one of desktop-site or mobile-site. If you are interested in pagecounts regardless of access site use all-sites.
granularity path required string The time unit for the response data. As of today, the supported granularities for this endpoint are hourly, daily and monthly.
start path required string The timestamp of the first hour/day/month to include, in YYYYMMDDHH format.
end path required string The timestamp of the last hour/day/month to include, in YYYYMMDDHH format. In hourly and daily granularities this value is inclusive, in the monthly granularity this value is exclusive.

Responses

default Error
200 The list of values
GET /metrics/legacy/pagecounts/aggregate/{project}/{access-site}/{granularity}/{start}/{end}

Math 2 endpoints

GET /media/math/formula/{hash}

Returns the previously-stored formula via `/media/math/check/{type}` for the given hash. Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).

operationId: Math_getFormulaByHash

Parameters

Name In Required Type Description
hash path required string The hash string of the previous POST data

Responses

default Error
200 Information about the checked formula
404 Data for the given hash cannot be found
GET /media/math/formula/{hash}
GET /media/math/render/{format}/{hash}

Given a request hash, renders a TeX formula into its mathematic representation in the given format. When a request is issued to the `/media/math/check/{format}` POST endpoint, the response contains the `x-resource-location` header denoting the hash ID of the POST data. Once obtained, this endpoint has to be used to obtain the actual render. Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable).

operationId: Math_renderFormulaByHash

Parameters

Name In Required Type Description
format path required string The output format; can be svg or mml
hash path required string The hash string of the previous POST data

Responses

default Error
200 The rendered formula
404 Unknown format or hash ID
GET /media/math/render/{format}/{hash}

Pageviews data 4 endpoints

GET /metrics/pageviews/aggregate/{project}/{access}/{agent}/{granularity}/{start}/{end}

Given a date range, returns a timeseries of pageview counts. You can filter by project, access method and/or agent type. You can choose between daily and hourly granularity as well. - Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: PageviewsData_getPageviewCountsByProject

Parameters

Name In Required Type Description
project path required string If you want to filter by project, use the domain of any Wikimedia project, for example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'. If you are interested in all pageviews regardless of project, use all-projects.
access path required string If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access.
agent path required string If you want to filter by agent type, use one of user or spider. If you are interested in pageviews regardless of agent type, use all-agents.
granularity path required string The time unit for the response data. As of today, the supported granularities for this endpoint are hourly, daily, and monthly.
start path required string The timestamp of the first hour/day/month to include, in YYYYMMDDHH format
end path required string The timestamp of the last hour/day/month to include, in YYYYMMDDHH format

Responses

default Error
200 The list of values
GET /metrics/pageviews/aggregate/{project}/{access}/{agent}/{granularity}/{start}/{end}
GET /metrics/pageviews/per-article/{project}/{access}/{agent}/{article}/{granularity}/{start}/{end}

Given a Mediawiki article and a date range, returns a daily timeseries of its pageview counts. You can also filter by access method and/or agent type. - Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: PageviewsData_getPageviewCountsByArticleDateRange

Parameters

Name In Required Type Description
project path required string If you want to filter by project, use the domain of any Wikimedia project, for example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.
access path required string If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access.
agent path required string If you want to filter by agent type, use one of user, bot or spider. If you are interested in pageviews regardless of agent type, use all-agents.
article path required string 'The title of any article in the specified project. Any spaces should be replaced with underscores. It also should be URI-encoded, so that non-URI-safe characters like %, / or ? are accepted. Example: Are_You_the_One%3F'.
granularity path required string The time unit for the response data. As of today, the only supported granularity for this endpoint is daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD or YYYYMMDDHH format
end path required string The date of the last day to include, in YYYYMMDD or YYYYMMDDHH format

Responses

default Error
200 The list of values
GET /metrics/pageviews/per-article/{project}/{access}/{agent}/{article}/{granularity}/{start}/{end}
GET /metrics/pageviews/top-by-country/{project}/{access}/{year}/{month}

Lists the pageviews to this project, split by country of origin for a given month. Because of privacy reasons, pageviews are given in a bucketed format, and countries with less than 100 views do not get reported. Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: PageviewsData_listByCountryAndAccess

Parameters

Name In Required Type Description
project path required string If you want to filter by project, use the domain of any Wikimedia project, for example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.
access path required string If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access.
year path required string The year of the date for which to retrieve top countries, in YYYY format.
month path required string The month of the date for which to retrieve top countries, in MM format.

Responses

default Error
200 The list of top countries by pageviews in the project
GET /metrics/pageviews/top-by-country/{project}/{access}/{year}/{month}
GET /metrics/pageviews/top/{project}/{access}/{year}/{month}/{day}

Lists the 1000 most viewed articles for a given project and timespan (month or day). You can filter by access method. - Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: PageviewsData_listMostViewedArticlesByProjectAndTimespan

Parameters

Name In Required Type Description
project path required string If you want to filter by project, use the domain of any Wikimedia project, for example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.
access path required string If you want to filter by access method, use one of desktop, mobile-app or mobile-web. If you are interested in pageviews regardless of access method, use all-access.
year path required string The year of the date for which to retrieve top articles, in YYYY format.
month path required string The month of the date for which to retrieve top articles, in MM format. If you want to get the top articles of a whole month, the day parameter should be all-days.
day path required string The day of the date for which to retrieve top articles, in DD format.

Responses

default Error
200 The list of top articles in the project
GET /metrics/pageviews/top/{project}/{access}/{year}/{month}/{day}

Registered users data 1 endpoints

GET /metrics/registered-users/new/{project}/{granularity}/{start}/{end}

Given a Mediawiki project and a date range, returns a timeseries of its newly registered users counts. You can choose between daily and monthly granularity. The newly registered users value is computed with self-created users only, not auto-login created ones. - Stability: [experimental](https://www.mediawiki.org/wiki/API_versioning#Experimental) - Rate limit: 25 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: RegisteredUsersData_getNewUserCountsByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string The name of any Wikimedia project formatted like {language code}.{project name}, for example en.wikipedia. You may pass en.wikipedia.org and the .org will be stripped off. For projects like commons without language codes, use commons.wikimedia. For projects like www.mediawiki.org, you can use that full string, or just use mediawiki or mediawiki.org. If you're interested in the aggregation of all projects, use all.
granularity path required string The time unit for the response data. As of today, supported values are daily and monthly.
start path required string The date of the first day to include, in YYYYMMDD format
end path required string The date of the last day to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/registered-users/new/{project}/{granularity}/{start}/{end}

Transform 7 endpoints

GET /transform/list/languagepairs

Fetches the list of language pairs the back-end service can translate Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_listLanguagePairs

Responses

200 the list of source and target languages supported by the API
GET /transform/list/languagepairs
GET /transform/list/pair/{from}/{to}

Fetches the list of tools that are available for the given pair of languages. Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_languagePairList

Parameters

Name In Required Type Description
from path required string The source language code
to path required string The target language code

Responses

default Error
200 the list of tools available for the language pair
GET /transform/list/pair/{from}/{to}
GET /transform/list/tool/{tool}

Fetches the list of tools and all of the language pairs it can translate Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_getListToolLanguagePairs

Parameters

Name In Required Type Description
tool path required string The tool category to list tools and language pairs for

Responses

default Error
200 the list of language pairs available for a given translation tool
GET /transform/list/tool/{tool}
GET /transform/list/tool/{tool}/{from}

Fetches the list of tools and all of the language pairs it can translate Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_toolLanguagePairsList

Parameters

Name In Required Type Description
tool path required string The tool category to list tools and language pairs for
from path required string The source language code

Responses

default Error
200 the list of language pairs available for a given translation tool
GET /transform/list/tool/{tool}/{from}
GET /transform/list/tool/{tool}/{from}/{to}

Fetches the list of tools and all of the language pairs it can translate Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_toolLanguagePairsList

Parameters

Name In Required Type Description
tool path required string The tool category to list tools and language pairs for
from path required string The source language code
to path required string The target language code

Responses

default Error
200 the list of language pairs available for a given translation tool
GET /transform/list/tool/{tool}/{from}/{to}
GET /transform/word/from/{from_lang}/to/{to_lang}/{word}

Fetches the dictionary meaning of a word from a language and displays it in the target language. Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_getDictionaryMeaning

Parameters

Name In Required Type Description
from_lang path required string The source language code
to_lang path required string The target language code
word path required string The word to lookup

Responses

default Error
200 the dictionary translation for the given word
GET /transform/word/from/{from_lang}/to/{to_lang}/{word}
GET /transform/word/from/{from_lang}/to/{to_lang}/{word}/{provider}

Fetches the dictionary meaning of a word from a language and displays it in the target language. Stability: [unstable](https://www.mediawiki.org/wiki/API_versioning#Unstable)

operationId: Transform_getDictionaryMeaning

Parameters

Name In Required Type Description
from_lang path required string The source language code
to_lang path required string The target language code
word path required string The word to lookup
provider path required string The dictionary provider id

Responses

default Error
200 the dictionary translation for the given word
GET /transform/word/from/{from_lang}/to/{to_lang}/{word}/{provider}

Unique devices data 1 endpoints

GET /metrics/unique-devices/{project}/{access-site}/{granularity}/{start}/{end}

Given a project and a date range, returns a timeseries of unique devices counts. You need to specify a project, and can filter by accessed site (mobile or desktop). You can choose between daily and hourly granularity as well. - Stability: [stable](https://www.mediawiki.org/wiki/API_versioning#Stable) - Rate limit: 100 req/s - License: Data accessible via this endpoint is available under the [CC0 1.0 license](https://creativecommons.org/publicdomain/zero/1.0/).

operationId: UniqueDevicesData_getByProjectAndDateRange

Parameters

Name In Required Type Description
project path required string If you want to filter by project, use the domain of any Wikimedia project, for example 'en.wikipedia.org', 'www.mediawiki.org' or 'commons.wikimedia.org'.
access-site path required string If you want to filter by accessed site, use one of desktop-site or mobile-site. If you are interested in unique devices regardless of accessed site, use or all-sites.
granularity path required string The time unit for the response data. As of today, the supported granularities for this endpoint are daily and monthly.
start path required string The timestamp of the first day/month to include, in YYYYMMDD format
end path required string The timestamp of the last day/month to include, in YYYYMMDD format

Responses

default Error
200 The list of values
GET /metrics/unique-devices/{project}/{access-site}/{granularity}/{start}/{end}

Schemas

object BytesDifferenceDataGetAbsoluteAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetAbsolutePerPageResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetNetAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object BytesDifferenceDataGetSumNetTextBytesDifferencePerPageResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetNewPagesCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByAbsoluteBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByEditsCountResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditedPagesDataGetTopByNetBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetEditorsCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopByAbsoluteBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopByNetBytesDifferenceResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditorsDataGetTopEditorsByEditsCountResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditsDataGetEditsCountsForProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object EditsDataGetPageEditCountsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object LegacyDataGetPagecountsAggregateByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object MathCheckFormulaRequest
{
  "type": "object",
  "required": [
    "q"
  ],
  "properties": {
    "q": {
      "type": "string",
      "description": "The formula to check"
    }
  }
}
object PageviewsDataGetPageviewCountsByArticleDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataGetPageviewCountsByProjectResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataListByCountryAndAccessResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object PageviewsDataListMostViewedArticlesByProjectAndTimespanResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object RegisteredUsersDataGetNewUserCountsByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformContentMachineTranslateRequest
{
  "type": "object",
  "required": [
    "html"
  ],
  "properties": {
    "html": {
      "type": "string",
      "x-textarea": true,
      "description": "The HTML content to translate"
    }
  }
}
object TransformGetListToolLanguagePairsResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformToolLanguagePairsList200Response
{
  "type": "object",
  "example": {},
  "properties": {}
}
object TransformToolLanguagePairsListResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object UniqueDevicesDataGetByProjectAndDateRangeResponse
{
  "type": "object",
  "example": {},
  "properties": {}
}
object absolute-bytes-difference
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object absolute-bytes-difference-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object absolute-bytes-difference-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "abs_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object availability
{
  "type": "object",
  "required": [
    "todays_featured_article",
    "most_read",
    "picture_of_the_day",
    "in_the_news",
    "on_this_day"
  ],
  "properties": {
    "most_read": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "in_the_news": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "on_this_day": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "picture_of_the_day": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    },
    "todays_featured_article": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "domains for wikis with this feature enabled, or [ '*.<project>.org' ] for all wikis in a project"
    }
  }
}
object by-country
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "year": {
            "type": "string"
          },
          "month": {
            "type": "string"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "countries": {
            "type": "array",
            "items": {
              "properties": {
                "rank": {
                  "type": "integer",
                  "format": "int32"
                },
                "views": {
                  "type": "integer",
                  "format": "int64"
                },
                "country": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
object cx_dict
{
  "type": "object",
  "properties": {
    "source": {
      "type": "string",
      "description": "the original word to look up"
    },
    "translations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "info": {
            "type": "string",
            "description": "extra information about the phrase"
          },
          "phrase": {
            "type": "string",
            "description": "the translated phrase"
          },
          "sources": {
            "type": "string",
            "description": "the source dictionary used for the translation"
          }
        }
      },
      "description": "the translations found"
    }
  }
}
object cx_languagepairs
{
  "type": "object",
  "properties": {
    "source": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "one source language"
      },
      "description": "the list of available source languages"
    },
    "target": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "one destination language"
      },
      "description": "the list of available destination languages"
    }
  }
}
object cx_list_pairs_for_tool
{
  "type": "object"
}
object cx_list_tools
{
  "type": "object",
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "the tool available"
      },
      "description": "the list of tools available for the given language pair"
    }
  }
}
object cx_mt
{
  "type": "object",
  "properties": {
    "contents": {
      "type": "string",
      "description": "the translated content"
    }
  }
}
object edited-pages
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "edited_pages": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          },
          "activity-level": {
            "type": "string"
          }
        }
      }
    }
  }
}
object editors
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "editors": {
                  "type": "integer",
                  "format": "int32"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          },
          "activity-level": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object edits-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "edits": {
                  "type": "integer",
                  "format": "int64"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object listing
{
  "required": [
    "items"
  ],
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "description": "The result format for listings"
}
object net-bytes-difference
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object net-bytes-difference-per-editor
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "user-text": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object net-bytes-difference-per-page
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "net_bytes_diff": {
                  "type": "integer",
                  "format": "int64"
                }
              }
            }
          },
          "page-title": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object new-pages
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "new_pages": {
                  "type": "integer",
                  "format": "int32"
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object new-registered-users
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "timestamp": {
                  "type": "string"
                },
                "new_registered_users": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object originalimage
{
  "type": "object",
  "required": [
    "source",
    "width",
    "height"
  ],
  "properties": {
    "width": {
      "type": "integer",
      "description": "Original image width"
    },
    "height": {
      "type": "integer",
      "description": "Original image height"
    },
    "source": {
      "type": "string",
      "description": "Original image URI"
    }
  }
}
object pagecounts-project
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "access-site": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-article
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "agent": {
            "type": "string"
          },
          "views": {
            "type": "integer",
            "format": "int64"
          },
          "access": {
            "type": "string"
          },
          "article": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-project
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "agent": {
            "type": "string"
          },
          "views": {
            "type": "integer",
            "format": "int64"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object pageview-tops
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "day": {
            "type": "string"
          },
          "year": {
            "type": "string"
          },
          "month": {
            "type": "string"
          },
          "access": {
            "type": "string"
          },
          "project": {
            "type": "string"
          },
          "articles": {
            "type": "array",
            "items": {
              "properties": {
                "rank": {
                  "type": "integer",
                  "format": "int32"
                },
                "views": {
                  "type": "integer",
                  "format": "int64"
                },
                "article": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}
object problem
{
  "required": [
    "type"
  ],
  "properties": {
    "uri": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "method": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    }
  }
}
object summary
{
  "type": "object",
  "required": [
    "title",
    "extract",
    "lang",
    "dir"
  ],
  "properties": {
    "dir": {
      "type": "string",
      "example": "ltr",
      "description": "The page language direction code"
    },
    "lang": {
      "type": "string",
      "example": "en",
      "description": "The page language code"
    },
    "title": {
      "type": "string",
      "description": "The page title"
    },
    "pageid": {
      "type": "integer",
      "description": "The page ID"
    },
    "extract": {
      "type": "string",
      "description": "First several sentences of an article in plain text"
    },
    "thumbnail": {
      "$ref": "#/components/schemas/thumbnail"
    },
    "timestamp": {
      "type": "string",
      "example": "1970-01-01T00:00:00.000Z",
      "description": "The time when the page was last editted in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format"
    },
    "coordinates": {
      "type": "object",
      "required": [
        "lat",
        "lon"
      ],
      "properties": {
        "lat": {
          "type": "number",
          "description": "The latitude"
        },
        "lon": {
          "type": "number",
          "description": "The longitude"
        }
      },
      "description": "The coordinates of the item"
    },
    "description": {
      "type": "string",
      "example": "American poet",
      "description": "Wikidata description for the page"
    },
    "displaytitle": {
      "type": "string",
      "description": "The page title how it should be shown to the user"
    },
    "extract_html": {
      "type": "string",
      "description": "First several sentences of an article in simple HTML format"
    },
    "originalimage": {
      "$ref": "#/components/schemas/originalimage"
    }
  }
}
object thumbnail
{
  "type": "object",
  "required": [
    "source",
    "width",
    "height"
  ],
  "properties": {
    "width": {
      "type": "integer",
      "description": "Thumbnail width"
    },
    "height": {
      "type": "integer",
      "description": "Thumnail height"
    },
    "source": {
      "type": "string",
      "description": "Thumbnail image URI"
    }
  }
}
object top-edited-pages-by-abs-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "page_title": {
                        "type": "string"
                      },
                      "abs_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-edited-pages-by-edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "edits": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "page_title": {
                        "type": "string"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-edited-pages-by-net-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "page_title": {
                        "type": "string"
                      },
                      "net_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-abs-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "user_text": {
                        "type": "string"
                      },
                      "abs_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-edits
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "edits": {
                        "type": "integer",
                        "format": "int64"
                      },
                      "user_text": {
                        "type": "string"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object top-editors-by-net-bytes-diff
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "project": {
            "type": "string"
          },
          "results": {
            "type": "array",
            "items": {
              "properties": {
                "top": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "rank": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "user_text": {
                        "type": "string"
                      },
                      "net_bytes_diff": {
                        "type": "integer",
                        "format": "int64"
                      }
                    }
                  }
                },
                "timestamp": {
                  "type": "string"
                }
              }
            }
          },
          "page-type": {
            "type": "string"
          },
          "editor-type": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}
object unique-devices
{
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "properties": {
          "devices": {
            "type": "integer",
            "format": "int64"
          },
          "project": {
            "type": "string"
          },
          "timestamp": {
            "type": "string"
          },
          "access-site": {
            "type": "string"
          },
          "granularity": {
            "type": "string"
          }
        }
      }
    }
  }
}