API:Random
Appearance
![]() | This page is part of the MediaWiki Action API documentation. |
MediaWiki version: | ≥ 1.12 |
GET request to view a list of random pages.
This module can be used as a generator .
API documentation
[edit]Example
[edit]GET request
[edit]List 5 random pages
Response
[edit]{"batchcomplete":"","continue":{"rncontinue":"0.559881820010|0.559881954661|47659388|0","continue":"-||"},"query":{"random":[{"id":32381675,"ns":0,"title":"Mallabhum Institute of Technology"},{"id":25126452,"ns":3,"title":"User talk:96.232.132.176"},{"id":1440028,"ns":0,"title":"Hyundai Epsilon engine"},{"id":35446805,"ns":15,"title":"Category talk:Ukrainian card games"},{"id":12613,"ns":0,"title":"Grue"}]}}
Sample code
[edit]Python
[edit]#!/usr/bin/python3""" get_random.py MediaWiki API Demos Demo of `Random` module: Get request to list 5 random pages. MIT License"""importrequestsS=requests.Session()URL="https://en.wikipedia.org/w/api.php"PARAMS={"action":"query","format":"json","list":"random","rnlimit":"5"}R=S.get(url=URL,params=PARAMS)DATA=R.json()RANDOMS=DATA["query"]["random"]forrinRANDOMS:print(r["title"])
PHP
[edit]<?php/* get_random.php MediaWiki API Demos Demo of `Random` module: Get request to list 5 random pages. MIT License*/$endPoint="https://en.wikipedia.org/w/api.php";$params=["action"=>"query","format"=>"json","list"=>"random","rnlimit"=>"5"];$url=$endPoint."?".http_build_query($params);$ch=curl_init($url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);$output=curl_exec($ch);curl_close($ch);$result=json_decode($output,true);foreach($result["query"]["random"]as$k=>$v){echo($v["title"]."\n");}
JavaScript
[edit]/* get_random.js MediaWiki API Demos Demo of `Random` module: Get request to list 5 random pages. MIT License*/varurl="https://en.wikipedia.org/w/api.php";varparams={action:"query",format:"json",list:"random",rnlimit:"5"};url=url+"?origin=*";Object.keys(params).forEach(function(key){url+="&"+key+"="+params[key];});fetch(url).then(function(response){returnresponse.json();}).then(function(response){varrandoms=response.query.random;for(varrinrandoms){console.log(randoms[r].title);}}).catch(function(error){console.log(error);});
MediaWiki JS
[edit]/* get_random.js MediaWiki API Demos Demo of `Random` module: Get request to list 5 random pages. MIT License*/varparams={action:'query',format:'json',list:'random',rnlimit:'5'},api=newmw.Api();api.get(params).done(function(data){varrandoms=data.query.random,r;for(rinrandoms){console.log(randoms[r].title);}});
Parameter history
[edit]- v1.26: Previous limit of 10/20 on
rnlimit
was increased to standard 500/5000 limits. - v1.26: Deprecated
rnredirect
- v1.26: Introduced
rnfilterredir
- v1.14: Introduced
rnredirect
Additional notes
[edit]- Unlike most modules in the Action API , the default number of pages returned is 1, not 10.
- Pages are returned in a fixed sequence; only the starting point is actually random.
- The default behavior is to pick pages from across the entire wiki, including talk pages, user pages, and so on. If you are looking for similar functionality as Special:Random, i.e. pick random articles, restrict
rnnamespace
to0
. - If the number of pages is fewer than
rnlimit
, the request will simply return all available pages. It will not repeat pages to pad out the response up to the limit.
See also
[edit]- Manual:Random page - describes how to configure the API on the backend.