Short summary of an article (title, description, extract, image)
Returns the summary of an article: short description, intro text, thumbnail and link.
Request
GEThttps://wikipedia-search.p.apihiver.com/v1/summary?title=Taj+Mahal
*
String. Article title, e.g.
Taj Mahal. String. Wikipedia language code, e.g.
en, hi, mr, ta (default en). Language
Client
1curl --request GET \
2 --url 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D' \
3 --header 'Accept: application/json' \
4 --header 'X-API-Key: YOUR_API_KEY'Short summary of an article (title, description, extract, image): Wikipedia Search API reference
Returns the summary of an article: short description, intro text, thumbnail and link. This endpoint is part of the Wikipedia Search API: Search Wikipedia in 300+ languages, get article summaries with images, 'on this day' events, random articles and autocomplete.
Short summary of an article (title, description, extract, image): example requests in every language
GET /v1/summary in Shell (cURL)
curl --request GET \
--url 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D' \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY'GET /v1/summary in Shell (HTTPie)
http GET 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D' \
Accept:application/json \
X-API-Key:YOUR_API_KEYGET /v1/summary in Shell (Wget)
wget --quiet \
--method GET \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--output-document \
- 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D'GET /v1/summary in Node.js (http)
const http = require('https');
const options = {
method: 'GET',
hostname: 'wikipedia-search.p.apihiver.com',
port: null,
path: '/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D',
headers: {
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();GET /v1/summary in Node.js (Request)
const request = require('request');
const options = {
method: 'GET',
url: 'https://wikipedia-search.p.apihiver.com/v1/summary',
qs: {title: 'Taj Mahal', lang: '{lang}'},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});GET /v1/summary in Node.js (Unirest)
const unirest = require('unirest');
const req = unirest('GET', 'https://wikipedia-search.p.apihiver.com/v1/summary');
req.query({
title: 'Taj Mahal',
lang: '{lang}'
});
req.headers({
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});GET /v1/summary in Node.js (Axios)
const axios = require('axios').default;
const options = {
method: 'GET',
url: 'https://wikipedia-search.p.apihiver.com/v1/summary',
params: {title: 'Taj Mahal', lang: '{lang}'},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/summary in Node.js (Fetch)
const fetch = require('node-fetch');
const url = 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D';
const options = {
method: 'GET',
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/summary in JavaScript (XMLHttpRequest)
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D');
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('X-API-Key', 'YOUR_API_KEY');
xhr.send(data);GET /v1/summary in JavaScript (Axios)
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://wikipedia-search.p.apihiver.com/v1/summary',
params: {title: 'Taj Mahal', lang: '{lang}'},
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/summary in JavaScript (Fetch)
const url = 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D';
const options = {
method: 'GET',
headers: {Accept: 'application/json', 'X-API-Key': 'YOUR_API_KEY'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}GET /v1/summary in JavaScript (jQuery)
const settings = {
async: true,
crossDomain: true,
url: 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D',
method: 'GET',
headers: {
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
$.ajax(settings).done(function (response) {
console.log(response);
});GET /v1/summary in Python (http.client)
import http.client
conn = http.client.HTTPSConnection("wikipedia-search.p.apihiver.com")
headers = {
'Accept': "application/json",
'X-API-Key': "YOUR_API_KEY"
}
conn.request("GET", "/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))GET /v1/summary in Python (Requests)
import requests
url = "https://wikipedia-search.p.apihiver.com/v1/summary"
querystring = {"title":"Taj Mahal","lang":"{lang}"}
headers = {
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.get(url, headers=headers, params=querystring)
print(response.json())GET /v1/summary in PHP (cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"X-API-Key: YOUR_API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}GET /v1/summary in PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D', [
'headers' => [
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY',
],
]);
echo $response->getBody();GET /v1/summary in PHP (PECL HTTP v1)
<?php
$request = new HttpRequest();
$request->setUrl('https://wikipedia-search.p.apihiver.com/v1/summary');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'title' => 'Taj Mahal',
'lang' => '{lang}'
]);
$request->setHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}GET /v1/summary in PHP (PECL HTTP v2)
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://wikipedia-search.p.apihiver.com/v1/summary');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'title' => 'Taj Mahal',
'lang' => '{lang}'
]));
$request->setHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();GET /v1/summary in Java (AsyncHttp)
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")
.setHeader("Accept", "application/json")
.setHeader("X-API-Key", "YOUR_API_KEY")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();GET /v1/summary in Java (java.net.http)
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D"))
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());GET /v1/summary in Java (OkHttp)
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();GET /v1/summary in Java (Unirest)
HttpResponse<String> response = Unirest.get("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.asString();GET /v1/summary in C# (HttpClient)
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D"),
Headers =
{
{ "Accept", "application/json" },
{ "X-API-Key", "YOUR_API_KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}GET /v1/summary in C# (RestSharp)
var client = new RestClient("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D");
var request = new RestRequest("", Method.Get);
request.AddHeader("Accept", "application/json");
request.AddHeader("X-API-Key", "YOUR_API_KEY");
var response = client.Execute(request);GET /v1/summary in Go (NewRequest)
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Accept", "application/json")
req.Header.Add("X-API-Key", "YOUR_API_KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}GET /v1/summary in Ruby (net::http)
require 'uri'
require 'net/http'
url = URI("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Accept"] = 'application/json'
request["X-API-Key"] = 'YOUR_API_KEY'
response = http.request(request)
puts response.read_bodyGET /v1/summary in Swift (NSURLSession)
import Foundation
let headers = [
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
]
let request = NSMutableURLRequest(url: NSURL(string: "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()GET /v1/summary in Objective-C (NSURLSession)
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"Accept": @"application/json",
@"X-API-Key": @"YOUR_API_KEY" };
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[request setAllHTTPHeaderFields:headers];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];GET /v1/summary in Kotlin (OkHttp)
val client = OkHttpClient()
val request = Request.Builder()
.url("https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D")
.get()
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()GET /v1/summary in C (libcurl)
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Accept: application/json");
headers = curl_slist_append(headers, "X-API-Key: YOUR_API_KEY");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
CURLcode ret = curl_easy_perform(hnd);GET /v1/summary in Clojure (clj-http)
(require '[clj-http.client :as client])
(client/get "https://wikipedia-search.p.apihiver.com/v1/summary" {:headers {:X-API-Key "YOUR_API_KEY"}
:query-params {:title "Taj Mahal"
:lang "{lang}"}
:accept :json})GET /v1/summary in OCaml (CoHTTP)
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D" in
let headers = Header.add_list (Header.init ()) [
("Accept", "application/json");
("X-API-Key", "YOUR_API_KEY");
] in
Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)GET /v1/summary in R (httr)
library(httr)
url <- "https://wikipedia-search.p.apihiver.com/v1/summary"
queryString <- list(
title = "Taj Mahal",
lang = "{lang}"
)
response <- VERB("GET", url, query = queryString, add_headers('X-API-Key' = 'YOUR_API_KEY'), content_type(""), accept("application/json"))
content(response, "text")GET /v1/summary in PowerShell (Invoke-WebRequest)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-WebRequest -Uri 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D' -Method GET -Headers $headersGET /v1/summary in PowerShell (Invoke-RestMethod)
$headers=@{}
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-RestMethod -Uri 'https://wikipedia-search.p.apihiver.com/v1/summary?title=Taj%20Mahal&lang=%7Blang%7D' -Method GET -Headers $headersGET /v1/summary in HTTP (HTTP/1.1)
GET /v1/summary?title=Taj%20Mahal&lang=%7Blang%7D HTTP/1.1
Accept: application/json
X-Api-Key: YOUR_API_KEY
Host: wikipedia-search.p.apihiver.com
Example response (200, application/json)
Success.
1{
2 "url": "https://en.wikipedia.org/wiki/Taj_Mahal",
3 "type": "standard",
4 "title": "Taj Mahal",
5 "extract": "The Taj Mahal is an ivory-white marble mausoleum on the right bank of the river Yamuna in Agra, Uttar Pradesh, India. It was commissioned in 1631 by the fifth Mughal emperor, Shah Jahan, to house the tomb of his late wife, Mumtaz Mahal; it also houses the tomb of Shah Jahan himself. The tomb is the centrepiece of a 17-hectare (42-acre) complex, which includes a mosque and a guest house, and is set…",
6 "thumbnail": "https://thumb.wikimedia.org/wikipedia/commons/thumb/1/1d/Taj_Mahal_%28Edited%29.jpeg/330px-Taj_Mahal_%28Edited%29.jpeg?utm_source=en.wikipedia.org&utm_campaign=api&utm_content=thumbnail",
7 "attribution": "Content from Wikipedia, CC BY-SA 4.0",
8 "description": "Marble mausoleum in Agra, India",
9 "last_edited": "2026-09-26T00:34:55Z"
10}Errors
- 400 — A required parameter is missing or a value has the wrong format.
1{ 2 "error": { 3 "code": "INVALID_INPUT", 4 "message": "title: Field required" 5 } 6}
Gateway errors (missing key, no subscription, rate limits) are listed in Error codes.