This page is part of the MediaWiki Action API documentation.
Client libraries contain code that developers can use to help with common and basic tasks, so that they don't have to write the code from scratch when their projects interact with an API.
This page contains a set of lists, by language, of several recommended client libraries that can be used with the MediaWiki Action API.
The recommendations are based on evaluations using API:Client code/Gold standard .
API client libraries
Last activity refers to the last commit in the repository.
Dates and version numbers were updated on 2019-06-19.
Awk
Name
Description
Last release
Release date
Last activity
BotWikiAwk
Framework and libraries for creating bots. Includes example bots.
27 March 2019
Wikiget
Awk CLI program to interface with MediaWiki API for read/write including OAuth.
8 June 2019
Bash
Name
Description
Last release
Release date
Last activity
bash-mediawiki
An example with Curl that allows easy editing/uploading of a wiki through the MediaWiki API.
17 August 2021
C++
Name
Description
Last release
Release date
Last activity
libmediawiki
A library that allows easy editing of a wiki through the MediaWiki API.
9 September 2017
Common Lisp
Name
Description
Last release
Release date
Last activity
cl-mediawiki
A Common Lisp wrapper for the MediaWiki API.
10 November 2016
Elixir
Name
Description
Last release
Release Date
Last activity
mediawiki_client_ex
Adapter for the Action API, EventStreams, and ORES. (Documentation )
0.4.1
20 December 2022
21 December 2022
Go
Name
Description
Last release
Release date
Last activity
go-mediawiki
Go wrapper for the MediaWiki API.
v0.1
4 November 2013
8 February 2017
go-mwclient
Wrapper for the MediaWiki API (supports maxlag, query continuations, OAuth).
v1.2.0
3 June 2020
3 June 2020
Haskell
Name
Description
Last release
Release date
Last activity
haskell mediawiki
A complete Haskell binding to the MediaWiki API letting you programmatically access (read and write) MediaWiki content.
0.2.6
20 November 2013
20 November 2013
Java
Name
Description
Last release
Release date
Last activity
JavaWikiBotFramework
A library to retrieve data from and maintain MediaWiki-based wikis such as Wikipedia.
4.0.0
13 September 2016
15 February 2019
jwiki
A library for effortlessly interacting with Wikipedia/MediaWiki.
1.8.0
14 April 2020
6 May 2020
Bliki Engine
Can convert wikicode to HTML, DocBook or PDF. Has a helper library for API calls.
27 April 2019
More Java libraries available at API:Client_code/All#Java .
JavaScript
Name
Description
Last release
Release date
Last activity
mwn (Node.js)
Mwn is a modern and feature-rich API client with support for both JavaScript and TypeScript. Has classes for conveniently working with page titles and parsing wikitext. Supports both OAuth and BotPasswords.
v2.0.2
30 September 2023
6 April 2024
mwbot (Node.js)
MWBot uses the Promise pattern and other ES6 methodologies, optimised for creating bots that make edits. Works with any MediaWiki site.
v2.0.0
30 October 2017
1 February 2021
nodemw (Node.js)
A generic MediaWiki API client for Node.js.
v0.16.0
16 September 2018
29 October 2021
wikiapi (Node.js)
A simple way to access MediaWiki API via JavaScript with simple wikitext parser.
v1.16.0
1 October 2020
22 October 2021
mediawiki.api (browser)
Generic MediaWiki API client for client-side JavaScript. It ships with MediaWiki core as a ResourceLoader module bundle. It abstracts some high-level concepts and provides a generic client for other queries.
Maintained as part of MediaWiki.
In-wiki JavaScript clients:
Name
Description
Last release
Release date
Last activity
mwapilib2
A layer overtop of the requests. Make JS gadgets easier.
25 September 2016
JsMwApi
A convenience wrapper around raw requests, with some helpers for editing and parsing.
11 June 2014
More JavaScript libraries available at API:Client_code/All#JavaScript .
Lua
Name
Description
Last release
Release date
Last activity
dtMediaWiki
Makes query (tokens, userinfo), clientlogin, upload, and logout calls. It handles HTTPS requests and cookies and can be used to upload files to Wikimedia Commons.
20 September 2018
MATLAB
Name
Description
Last release
Release date
Last activity
MatWiki
A preliminary (as of Feb 2019) MATLAB R2016b(9.1.x) client supporting just bot-logins & semantic #ask queries.
v1.0.0
19 February 2019
19 February 2019
.NET
Name
Description
Last release
Release date
Last activity
WikiFunctions
Library with classes for editing and getting lists of pages via the API, used by AutoWikiBrowser .
6.2.1.0
8 June 2021
5 October 2023
LinqToWiki
Strongly typed library for accessing most of MediaWiki API, with support for autocompletion.
1.5.0
7 May 2015
7 May 2015
WikiClientLibrary
A .NET Standard & asynchronous MediaWiki API client library for wiki sites. The library also supports Flow/Wikibase/Wikia-specific API.
v0.7.5
31 January 2021
5 November 2022
More .NET libraries available at API:Client code/All#.NET .
OCaml
Name
Description
Last release
Release date
Last activity
ocaml-mediawiki
A high-level binding for the MediaWiki API written in OCaml.
29 August 2012
Perl
PHP
Name
Description
Last release
Release date
Last activity
mediawiki-api-base
Library for basic MediaWiki api use.
2.4.0
2 November 2017
9 July 2019
mediawiki-api
A simple library for interacting with the MediaWiki API.
0.7.2
20 November 2017
6 April 2019
wikibase-api
Library for querying Wikidata .
0.7
4 July 2016
17 August 2018
More PHP libraries available at API:Client code/All#PHP .
Python
Name
Type hints
Description
Last release
Release date
Last activity
Pywikibot (docs )
Yes
A collection of Python scripts and a powerful library for bot writing. (PyPI ) (Git repository ) (#pywikibot connect ) (Evaluation ).
9.3.1
6 August 2024
August 2024
pwiki (docs )
Yes
A Python library for developing bots/tools, focused on ease of use and simplicity.
1.1.1
15 October 2021
28 May 2022
mwclient (docs )
No
Python library that makes most of the API functions accessible. (PyPI ) (Evaluation ).
0.10.1
28 May 2020
26 September 2021
wiki-scripts (docs )
No
Framework for writing bots, maintenance scripts or performing data analysis.
1.2
31 December 2017
13 June 2019
Simple Python wrappers for no-abstraction interfaces to the MediaWiki API and basic session handling:
Name
Type hints
Description
Last release
Release date
Last activity
pywikiapi
No
A minimalistic library that handles some of the core MediaWiki API complexities like handling continuations, login, errors, and warnings, but does not impose any additional abstraction layers.
1.3.2
13 April 2019
13 April 2019
Wikipedia (docs )
No
A Python library that makes it easy to access and parse data from Wikipedia.
v1.1
24 December 2013
11 November 2016
wikitools
No
Provides several layers of abstraction around the API. Doesn't support Python 3.
0.41
7 June 2015
28 August 2016
More Python libraries available at API:Client code/All#Python .
R
Name
Description
Last release
Release date
Last activity
WikipediR
A wrapper for the MediaWiki API, aimed particularly at the Wikimedia 'production' wikis, such as Wikipedia. Can be used to retrieve page text, information about users or the history of pages, and elements of the category tree.
1.5.0
15 February 2017
15 February 2017
Ruby
More Ruby libraries available at API:Client code/All#Ruby .
Rust
Name
Description
Last release
Release date
Last activity
Wikibase RS
Rust library to talk to the Wikibase API and serialize data into Rust data structures.
0.37
19 June 2019
19 June 2019
mediawiki_rust
A MediaWiki client library in Rust.
16 November 2020
mwbot-rs
A framework for writing bots on MediaWiki
0.4.3
15 October 2022
5 November 2022
wiki
Library for interacting with MediaWiki APIs
0.0.3
10 August 2022
5 November 2022
More Rust libraries available at API:Client code/All#Rust .
Scala
Name
Description
Last release
Release date
Last activity
scalawiki
MediaWiki client in Scala.
0.6.3
17 September 2020
28 September 2019
dbpedia extraction framework
Data extraction framework for DBpedia with support Wiki source retrieved via MediaWiki API.
DBpedia_2015-10
25 July 2016
13 April 2019
scmw
Simple MediaWiki API wrapper for needs of Commonist image upload tool.
v-0.140.0
22 December 2017
22 December 2017
See also