|  | This page is part of the MediaWiki Action API documentation. | 
GET request to search wiki pages by title, this uses the OpenSearch format.
API documentation
| 
 Special:ApiHelp/opensearch | 
Example
GET request
Response
[
    "Hampi",
    [
        "Hampi",
        "Hampi (town)",
        "Hampi Express",
        ...
    ],
    [
        "Hampi, also referred to as the Group of Monuments at Hampi, is a UNESCO World Heritage Site located in east-central Karnataka, India.",
        "Hampi  is a town in Hospet taluk of the Ballari district in the Indian state of Karnataka. Located along the Tungabhadra River in the east and center part of the state, near the border of Andhra Pradesh, Hampi is near the city of Hosapete.",
        "The Hampi Express is a daily express train running between the Mysooru and Hubballi Junction, the headquarters of the South Western Railway in India.",
        ...
    ],
    [
        "https://en.wikipedia.org/wiki/Hampi",
        "https://en.wikipedia.org/wiki/Hampi_(town)",
        "https://en.wikipedia.org/wiki/Hampi_Express",
        ...
    ]
]
On Wikimedia wikis descriptions are disabled due to performance reasons, so the second array only contains empty strings. See T241437.
Sample code
Python
#!/usr/bin/python3
"""
    opensearch.py
    MediaWiki API Demos
    Demo of `Opensearch` module: Search the wiki and obtain
	results in an OpenSearch (http://www.opensearch.org) format
    MIT License
"""
import requests
S = requests.Session()
URL = "https://en.wikipedia.org/w/api.php"
PARAMS = {
    "action": "opensearch",
    "namespace": "0",
    "search": "Hampi",
    "limit": "5",
    "format": "json"
}
R = S.get(url=URL, params=PARAMS)
DATA = R.json()
print(DATA)
PHP
<?php
/*
    opensearch.php
    MediaWiki API Demos
    Demo of `Opensearch` module: Search the wiki and obtain
	results in an OpenSearch (http://www.opensearch.org) format
    MIT License
*/
$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "opensearch",
    "search" => "Hampi",
    "limit" => "5",
    "namespace" => "0",
    "format" => "json"
];
$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 );
var_dump( $result );
JavaScript
/*
    opensearch.js
    MediaWiki API Demos
    Demo of `Opensearch` module: Search the wiki and obtain
	results in an OpenSearch (http://www.opensearch.org) format
    MIT License
*/
var url = "https://en.wikipedia.org/w/api.php"; 
var params = {
    action: "opensearch",
    search: "Hampi",
    limit: "5",
    namespace: "0",
    format: "json"
};
url = url + "?origin=*";
Object.keys(params).forEach(function(key){url += "&" + key + "=" + params[key];});
fetch(url)
    .then(function(response){return response.json();})
    .then(function(response) {console.log(response);})
    .catch(function(error){console.log(error);});
MediaWiki JS
/*
	opensearch.js
	MediaWiki API Demos
	Demo of `Opensearch` module: Search the wiki and obtain
	results in an OpenSearch (http://www.opensearch.org) format
	MIT License
*/
var params = {
		action: 'opensearch',
		search: 'Hampi',
		limit: '5',
		namespace: '0',
		format: 'json'
	},
	api = new mw.Api();
api.get( params ).done( function ( data ) {
	console.log( data );
} );
Possible errors
| Code | Info | 
|---|---|
| nosearch | The search parameter must be set. | 
| unknown_format | Unrecognized value for parameter format: aaa. | 
Additional notes
Related to this API, a few additional pointers for MediaWiki site administrators and extension developers:
- Extension:TitleKey - allows search suggestions from this API to be case insensitive.
- Extension:TextExtracts and $wgExtractsExtendOpenSearchXmlconfigured as true inLocalSettings.phpwould allow each Item in the XML format to include a<Description>tag with a text extract from the article.
- Extension:PageImages and $wgPageImagesExpandOpenSearchXmlconfigured as true inLocalSettings.phpwould allow each item in the XML format to include an<Image>tag with a thumbnail image from the article.
See also
- API:All search modules
    This article is issued from Mediawiki. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.
