Wikimedia

Wikipedia and Wikimedia projects API

api.wikimedia.org ↗
Version
1.0.0
OpenAPI
3.0.0
Endpoints
35
Schemas
63
92
Quality
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

Endpoints

Bytesdifferencedata 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.

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.

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.

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.

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}

Editedpagesdata 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.

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.

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).

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).

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).

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}

Editorsdata 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.

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.

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.

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.

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}

Editsdata 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.

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.

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}

Feedcontentavailability 1 endpoints

GET /feed/availability

Gets availability of featured feed content for the apps by wiki domain.

Stability: experimental

operationId: FeedContentAvailability_getByWikiDomain

Responses

default

Error

200

JSON containing lists of wiki domains for which feed content is available.

GET /feed/availability

Legacydata 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.

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 3 endpoints

POST /media/math/check/{type}

Checks the supplied TeX formula for correctness and returns the
normalised formula representation as well as information about
identifiers. Available types are tex and inline-tex. The response
contains the x-resource-location header which can be used to retrieve
the render of the checked formula in one of the supported rendering
formats. Just append the value of the header to /media/math/{format}/
and perform a GET request against that URL.

Stability: stable.

operationId: Math_checkFormula

Parameters

Name In Required Type Description
type path required string

The input type of the given formula; can be tex or inline-tex

Request Body

required
application/x-www-form-urlencoded
schema MathCheckFormulaRequest
Property Type Required
q string required

Responses

default

Error

200

Information about the checked formula

400

Invalid type

POST /media/math/check/{type}
GET /media/math/formula/{hash}

Returns the previously-stored formula via /media/math/check/{type} for
the given hash.

Stability: 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.

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}

Pageviewsdata 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
  • Rate limit: 100 req/s
  • License: Data accessible via this endpoint is available under the
    CC0 1.0 license.
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
  • Rate limit: 100 req/s
  • License: Data accessible via this endpoint is available under the
    CC0 1.0 license.
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

  • Rate limit: 100 req/s
  • License: Data accessible via this endpoint is available under the
    CC0 1.0 license.
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
  • Rate limit: 100 req/s
  • License: Data accessible via this endpoint is available under the
    CC0 1.0 license.
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}

Registeredusersdata 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.

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 9 endpoints

POST /transform/html/from/{from_lang}/to/{to_lang}

Fetches the machine translation for the posted content from the source
to the destination language.

Stability: unstable

operationId: Transform_contentMachineTranslate

Parameters

Name In Required Type Description
from_lang path required string

The source language code

to_lang path required string

The target language code

Request Body

application/x-www-form-urlencoded
schema TransformContentMachineTranslateRequest
Property Type Required
html string required

Responses

default

Error

200

The translated content

POST /transform/html/from/{from_lang}/to/{to_lang}
POST /transform/html/from/{from_lang}/to/{to_lang}/{provider}

Fetches the machine translation for the posted content from the source
to the destination language.

Stability: unstable

operationId: Transform_contentMachineTranslate

Parameters

Name In Required Type Description
from_lang path required string

The source language code

to_lang path required string

The target language code

provider path required string

The machine translation provider id

Request Body

application/x-www-form-urlencoded
schema TransformContentMachineTranslateRequest
Property Type Required
html string required

Responses

default

Error

200

The translated content

POST /transform/html/from/{from_lang}/to/{to_lang}/{provider}
GET /transform/list/languagepairs

Fetches the list of language pairs the back-end service can translate

Stability: 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

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

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

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

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

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

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}

Uniquedevicesdata 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
  • Rate limit: 100 req/s
  • License: Data accessible via this endpoint is available under the
    CC0 1.0 license.
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"
          }
        }
      }
    }
  }
}

Versions

Version Endpoints Schemas Ingested Status
1.0.0 35 63 2026-05-11 current
1.0.0 35 63 2026-04-16