API:Client code
From MediaWiki.org
![]() |
This page is part of the MediaWiki API documentation. |
Language: | English • 日本語 • русский |
---|
Quick overview:
- Quick start guide
- FAQ
- Tutorial
- Formats
- Error reporting
- Restricting usage
- Authentication
- Queries
- Search suggestions
- Expanding templates and rendering
- Purging pages' caches
- Parameter information
- Changing wiki content
- Watchlist feed
- Extensions
- Using the API in MediaWiki and extensions
- Miscellaneous
- Implementation
- Client code
Contents |
[edit] API Access Libraries
Notes to library developers
- Please use GZip compression when making API calls (
Accept-Encoding: gzip
).
- Bots eat up a lot of bandwidth, which is not free.
- You must set a descriptive User Agent header (
User-Agent: User name/email
)
- Please include your username and wiki or email address.
- Login has changed (April 2010)
- See bugzilla:23076
[edit] Python
- Pywikipediabot - collection of python scripts (IRC)
- 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.
- simplemediawiki - A simple, no-abstraction interface to the API (handles cookies and other extremely basic things)
- supersimplemediawiki - Very similar to simplemediawiki, except Python3 compatible
[edit] Java
- Bliki Engine - Java Wikipedia API - very complete. Can convert wikicode to HTML, DocBook or PDF.
- JavaWikiBotFramework - a Java library that makes almost all API functions accessible.
- Wiki.java — a simple one-class API implementation
[edit] Javascript
- mediaWiki.Api - A ResourceLoader module that ships with MediaWiki core, abstracts many API logic calls into simple one liners.
- jQuery.ajax - Not specifically made for the MediaWiki API, but most queries are very simple with one or two lines of using
$.getJSON( .. )
or$.ajax( .. )
. - 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.
- Luasóg - A framework of standard requests (e.g. log in, log out, read, edit, etc.) as well as a general wrapper method. Includes some helpful stuff like throttling. Project includes a rudimentary IDE for off-site development and execution.
[edit] .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)
[edit] Perl
- MediaWiki::API - A Perl module for interfacing with the MediaWiki API with file upload/download and editing support. (Debian package)
- MediaWiki::Bot - A higher-level Perl module with read and write functions. Easily extensible with plugins, for example to provide administrator functions.
- Documentation Wikibook
- Google Code project
- Client scripts
- Perl MediaWiki API - An open source Perl module wrapping many of the MediaWiki API functions.
[edit] Ruby
- MediaWiki::Gateway - Ruby framework for the API. Actively maintained until August 2012, tested up to MediaWiki 1.19, compatible with Wikimedia wikis.
- RWikiBot - a Ruby framework using the API. No releases since 2008.
- rbmediawiki - Another Ruby framework that uses the API. No releases since 2009.
[edit] 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. (Unmaintained since 2008)
[edit] Haskell
[edit] Tcl
- MediaWiki Tcl Bot Framework, includes IRC-RC Interface
[edit] Delphi/Object Pascal
- MediaWiki API Wrapper, based on ICS open-source sockets, with synchronous and asynchronous (event based) requests, requires the JEDI Code Library for dependencies.
[edit] Common Lisp
- cl-mediawiki is a Common Lisp wrapper for the mediawiki API. It is available as a direct download, or (more conveniently) via quicklisp.
[edit] OCaml
[edit] Clojure
[edit] Support Matrix
A support-matrix of many of the actively developed packages from this page for some of the more used API features can be found on the Wikia API Wiki.
[edit] See Also
- Collection of bot libraries on Wikipedia, several of these use the API.