API:Client code

API Access Libraries
 Notes to library developers


 * Please use GZip compression when making API calls.
 * Bots eat up a lot of bandwidth, which is not free.


 * You must set a descriptive User Agent header
 * Please include your username and wiki or email address.


 * Login has changed
 * See 23076

Python

 * PyWikipediaBot Framework - collection of python scripts (IRC, Documentation)
 * mwclient - a Python library that makes most of the API functions accessible. (SVN: https://mwclient.svn.sourceforge.net/svnroot/mwclient/trunk/mwclient)
 * wikitools - Provides several layers of abstraction around the API.

Java

 * Bliki Engine - Java Wikipedia API - not very complete, but has basic functionality. Can convert wikicode to HTML, DocBook or PDF.
 * JavaWikiBotFramework - a Java library that makes almost all API functions accessible.

Javascript

 * JsMwApi A convenience wrapper around raw requests, with some helpers for editing and parsing.
 * mwapilib - A kind of crappy layer overtop of the requests. Make JS gadgets easier.

.NET

 * AutoWikiBrowser's WikiFunctions library has classes for editing and getting lists of pages via the API. See ApiEdit
 * WikiAccess - a C#-library that makes some API functions accessible, has write API.
 * DotNetWikiBot Framework - written in C#, based on Microsoft® .NET Framework 2.0 (Tutorial)

Perl

 * MediaWiki::API - A Perl module for interfacing with the MediaWiki API with file upload/download and editing support.
 * http://packages.debian.org/libmediawiki-api-perl
 * MediaWiki::Bot - A higher-level Perl module allowing use of both the MediaWiki::API interface and a number of functions allowing both read and write operations.

Ruby

 * RWikiBot - a Ruby framework using the API as released with the most current version of MediaWiki.
 * rbmediawiki - Another Ruby framework that uses the API.

PHP
There are many PHP frameworks for the api, see here for a full list and comparison of frameworks.
 * SxWiki - a lightweight, simple MediaWiki bot framework.