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 ). 10.0.0 1 March 2025 March 2025 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