API:Client code/All
![]() | This page is part of the MediaWiki Action API documentation. |
This page contains a set of lists, by language, of all known client libraries that can be used with the MediaWiki Action API.
API client libraries
Dates and version numbers were updated on 2019-06-19.
Last evaluation for recommended libraries (API:Client_code) was done on 2019-06-19.
Last evaluation for recommended libraries (API:Client_code) was done on 2019-06-19.
Awk
Name | Description | Last release | Release Date | Last activity | |
---|---|---|---|---|---|
BotWikiAwk | Framework and libraries for creating bots. Includes example bots. | 0.51 | 2021-05-30 | 2021-08-11 | |
Wikiget | Awk CLI program to interface with MediaWiki API for read/write including OAuth. | 1.19 | 2021-12-18 | 2021-12-18 |
C++
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
libmediawiki. | C++ interface for MediaWiki-based web services such as Wikipedia. | 5.38.0 | 2022-08-26 | 2022-08-26 |
Common Lisp
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
cl-mediawiki | A Common Lisp wrapper for the Mediawiki API. | 2016-11-10 | 2016-11-10 |
Elixir
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
mediawiki_client Documentation | Adapter for the Action API, EventStreams, and ORES. | 0.4.1 | 2022-12-20 | 2022-12-21 |
Go
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
go-mediawiki | Go wrapper for the MediaWiki API. | v0.1 | 2013-11-04 | 2017-02-08 |
go-mwclient | Wrapper for the MediaWiki API (supports maxlag, query continuations, OAuth). | 1.2.0 | 2020-07-03 | 2020-07-03 |
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 Nov 2013 | 20 Nov 2013 |
Java
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
Bliki Engine | Can convert wikicode to HTML, DocBook or PDF. Has a helper library for API calls | 27 Apr 2019 | ||
dkpro-jwpl Java Wikipedia Library | Facilitates access to all information in Wikipedia. | 1.1.0 | 26 Apr 2016 | 10 Oct 2018 |
dkpro-jwktl Java Wiktionary Library. | Enables efficient and structured access to the information encoded in the English and German Wiktionary language. | 1.1.0 | 29 Apr 2016 | 15 Apr 2019 |
JavaWikiBotFramework | A library to retrieve data from and maintain MediaWiki-based wikis such as Wikipedia. | 4.0.0 | 13 Sep 2016 | 15 Feb 2019 |
jwiki | A library for effortlessly interacting with Wikipedia/MediaWiki. | 1.8.0 | 14 Apr 2020 | 6 May 2020 |
Kaspar | Framework for editing MediaWiki wikis. | 0.2 | 18 Jul 2015 | 14 Jan 2016 |
Mediawiki-Japi | An API for the MediaWiki web API. | 0.1.03 | 20 Mar 2019 | 20 Mar 2019 |
Wiki.java | A MediaWiki bot framework. | 0.36 | 8 Feb 2019 | 19 Jun 2019 |
Wikidata Toolkit | A library with functions to process data from Wikidata and other Wikibase sites, via XML dumps or the API. For more info, see Wikidata Toolkit. | 0.10.0 | 12 Jun 2019 | 14 Jun 2019 |
WPCleaner | WPCleaner is a tool designed to help with various maintenance tasks on wikis run with MediaWiki software. | 21 Jun 2019 |
JavaScript
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
wikidata-sdk (Node.js) | Wikidata SDK is a javascript toolkit for querying Wikidata.org and simplify its results. | v7.0.8 | 5 Jun 2019 | 2 Jun 2019 |
mwbot (Node.js) | MWBot uses the Promise pattern and other ES6 methodologies, optimised for creating bots that make edits. Works with any MediaWiki site. | v1.0.10 | 30 Oct 2017 | 20 Feb 2019 |
mwn (Node.js) | Mwn provides comprehensive high-level bindings leveraging latest JS features (such as asynchronous generators for supporting query continuation). | v3.0.1 | 31 Mar 2025 | 6 Apr 2025 |
wikijs (Node.js) | WikiJs provides a high-level interface for editing, querying and searching through the API. Works with any MediaWiki site. | v4.11.1 | 6 Jan 2019 | 12 Jun 2019 |
nodemw (Node.js) | A generic MediaWiki API client for Node.js. | v0.13.0 | 12 Apr 2020 | 19 Oct 2020 |
mediawiki (Node.js) | This JavaScript framework provides methods for common use cases (e.g. log in, read, edit, etc.) as well as a generic API client. Includes handling for rate throttling. | 2 Jul 2014 | ||
mediawiki-js (browser) | Ultra-light, vanilla JavaScript wrapper of Mediawiki API for use in the browser (npm). | 5 Jun 2018 | ||
CeJS (Node.js, browser) | A JavaScript framework including MediaWiki functions to build bots, running on Node.js and in the browser. See Wikipedia bot examples. | 2.0.0 | 28 Oct 2015 | 22 Jun 2019 |
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. | ||
m3api (Node.js, browser) | Minimal, modern MediaWiki API client; minimal = direct interaction with API (no CRUD abstractions), modern = promises etc. | 1.0.0 |
In-wiki JavaScript clients:
Lua
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
mediawikiapi | 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 Sep 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 Feb 2019 | 19 Feb 2019 |
.NET
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
AutoWikiBrowser's | WikiFunctions library has classes for editing and getting lists of pages via the API. | 6.0.0.1 | 15 Sep 2018 | 16 Jun 2019 |
DotNetWikiBot Framework | Written in C#, based on Microsoft® .NET Framework 3.5 (Tutorial). | 16 Feb 2016 | ||
MorebitsDotNet | Contains C# code for uploading files through the API. | 15 Feb 2016 | ||
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.0-int.2 | 26 May 2019 | 31 May 2019 |
OCaml
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
ocaml-mediawiki | A high-level binding for the MediaWiki API written in OCaml. | 29 Aug 2012 |
Perl
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
MediaWiki::Bot | A higher-level Perl module with read and write functions. Easily extensible with plugins, for example to provide administrator functions (Evaluation). | 5.006003 | 7 Jul 2016 | 7 Jul 2016 |
MediaWiki::API | A Perl module for interfacing with the MediaWiki API with file upload/download and editing support. (Debian package). (Evaluation). | 0.41 | 13 Nov 2015 | 13 Nov 2015 |
PHP
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
EasyWiki | Friendly PHP client for the MediaWiki Action API. | v2 | 24 Jul 2022 | 15 Jan 2024 |
boz-mw | Also support image upload and read/write in Wikibase/Wikidata. Inline documentation. | 1.0.0 | 28 Jan 2020 | 26 May 2022 |
mediawiki-api | A simple library for interacting with the MediaWiki API. | 3.0.0 | 20 Nov 2017 | 3 Jun 2022 |
mediawiki-api-base | Library for basic MediaWiki api use. | 3.0.0 | 2 Nov 2017 | 3 Jun 2022 |
wikibase-api | Library for querying Wikidata. | 3.0.0 | 4 Jul 2016 | 3 Jun 2022 |
Wikimate | Gets and edits MediaWiki pages; uploads/downloads files and gets properties. | 1.1.0 | 30 Jul 2023 | 24 Jun 2024 |
MediaWiki_Api | A simple PHP curl based API wrapper with basic functionality. Almost completely undocumented. | 1.0.0 | 21 Jun 2018 | 13 Sep 2019 |
wikidrain | A wrapper for the WikiMedia API centralized around easily and simply querying Wikipedia articles. | N/A | N/A | 15 Apr 2016 |
There are many PHP frameworks for the API. See this feature comparison table on Wikipedia for more details on some of the available options.
Python
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
Pywikibot | A collection of python scripts and a powerful library for bot writing. (Git repository) (#pywikibot connect) (Evaluation). | 10.1.0 | ||
mwclient | Python library that makes most of the API functions accessible. Last release: v0.9.3, November 2018. (PyPI) (Evaluation). | 0.9.3 | 23 Nov 2018 | 10 Jun 2019 |
pwiki | A Python library for developing bots/tools, focused on ease of use and simplicity. | 1.1.1 | 15 Oct 2021 | 28 May 2022 |
Wikipedia-API | Easy to use Python 3 library. Provides read-only API. | 0.5.4 | 26 Jan 2020 | 26 Jan 2020 |
ceterach | Python3 library, fully PEP8 compliant. | 14 Dec 2018 | ||
wptools | Wikipedia tools (for Humans). Read-only API. | v0.4.17 | 17 Aug 2018 | 17 Aug 2018 |
wiki-scripts | Framework for writing bots, maintenance scripts or performing data analysis. | 1.2 | 31 Dec 2017 | 13 Jun 2019 |
Pattern (GitHub) | Web mining module, has classes for handling MediaWiki API requests, handles continuations. | 2.6 | 8 Jul 2013 | 18 Aug 2018 |
Simple Python wrappers for no-abstraction interfaces to the MediaWiki API and basic session handling:
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
pywikiapi | 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 Apr 2019 | 13 Apr 2019 |
simplemediawiki | Python 2.6+ and 3.3+ compatible. Docs. Last updated in March 2017. (PyPI) (Evaluation) | 1.2.0b2 | 12 Aug 2013 | 16 Mar 2017 |
python-mwapi | Simple Python Wrapper around MediaWiki API | v0.5.0 | 15 Sep 2015 | 18 May 2019 |
async_mediawiki | An asynchronous python libary to get mediawiki content | 0.2.0 | 31 Oct 2018 | 28 Mar 2019 |
analytics-zero-sms | 21 Oct 2015 | |||
mwstreaming | A collection of scripts and utilities to support the stream-processing of MediaWiki data. | 0.55 | 15 Apr 2015 | 15 Apr 2015 |
Wikipedia | A Python library that makes it easy to access and parse data from Wikipedia. | v1.1 | 24 Dec 2013 | 11 Nov 2016 |
wikitools | Provides several layers of abstraction around the API. Doesn't support Python 3. | 0.41 | 7 Jun 2015 | 28 Aug 2016 |
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 Feb 2017 | 15 Feb 2017 |
Ruby
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
Mediawiki Ruby API | Ruby API client library in active development by Wikimedia Foundation Release Engineering. | 0.71 | 31 Jan 2017 | 5 Dec 2017 |
MediaWiki::Gateway | Ruby framework for the API. | v1.1.0 | 5 Jan 2016 | 5 Jan 2016 |
wikipedia-client | Ruby framework using the API. | v1.10.0 | 5 Mar 2018 | 5 Mar 2018 |
Sunflower | Provides Ruby access to MediaWiki API; can be used as a base for more sophisticated bots or as standalone by beginners. | 0.5.12 | 14 May 2016 | 14 May 2016 |
MediaWiki::Butt | Stable but powerful Ruby framework for the API in active development. (Evaluation). | 3.0.0 | 19 Oct 2017 | 3 Jan 2019 |
MediaWiktory | (low-level) and Infoboxer (high-level, semantic) clients to MediaWiki, with idiomatic API, support for custom Wiki modules. | v0.1.3 | 8 Feb 2018 | 8 Feb 2018 |
Rust
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
mediawiki-rs | Wrapper for the MediaWiki API. | 30 Jun 2018 | ||
WP:RS | An extremely low-level wrapper to the MediaWiki API. | 27 Jun 2017 | ||
Wikibase RS | Rust library to talk to the Wikibase API and serialize data into Rust data structures. | 0.37 | 19 Jun 2019 | 19 Jun 2019 |
mediawiki_rust | A MediaWiki client library in Rust. | 23 Jun 2019 |
Scala
Name | Description | Last release | Release Date | Last activity |
---|---|---|---|---|
scalawiki | MediaWiki client in Scala. | 0.6.0 | 29 May 2019 | 23 Jun 2019 |
dbpedia extraction framework | Data extraction framework for DBpedia with support Wiki source retrived via MediaWiki API. | DBpedia_2015-10 | 25 Jul 2016 | 13 Apr 2019 |
scmw | Simple MediaWiki API wrapper for needs of Commonist image upload tool. | v-0.140.0 | 22 Dec 2017 | 22 Dec 2017 |
TypeScript
Name | Description | Last release | Release date | Last activity |
---|---|---|---|---|
mwn (Node.js) | Mwn provides comprehensive high-level bindings leveraging latest JS features (such as asynchronous generators for supporting query continuation). | v1.11.5 | 2023-01-15 | 2023-01-15 |