Wikipedia Scraper — Search, Summaries & Full Text avatar

Wikipedia Scraper — Search, Summaries & Full Text

Pricing

from $0.70 / 1,000 result items

Go to Apify Store
Wikipedia Scraper — Search, Summaries & Full Text

Wikipedia Scraper — Search, Summaries & Full Text

Search Wikipedia and get article summaries or full plain-text content in any language: title, extract, description, thumbnail, coordinates, categories, links count, last edit. Built for research and RAG agents. No API key.

Pricing

from $0.70 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Turn a list of names, topics or page titles into structured Wikipedia data: relevance-ranked search or exact title lookup in any of the ~340 language editions, lead summary or the complete plain-text article split into sections, categories, links, inter-language links, images, the linked Wikidata record (industry, headquarters, CEO, revenue, employees, ticker, ISIN, LEI, website, social handles…) and pageview statistics for attention tracking. Built for due-diligence and KYB teams, market researchers, content/SEO teams, and RAG pipelines.

No API key, no proxy, no browser — official Wikimedia REST and Action APIs, paced the way Wikimedia asks (one request at a time, at most ~170 a minute).

Use cases

  • Company / person due diligence — includeWikidata: true gives industry, HQ, founders, CEO, parent, subsidiaries, employees, revenue (with year), ticker, ISIN, LEI, OpenCorporates & Crunchbase ids, official site and social links, plus the encyclopedic summary.
  • Entity enrichment for CRM / lead lists — feed 500 company names via queries, keep fields: ["query","title","description","extract","wikidataId","url"].
  • Attention / trend monitoring — includePageviews: true, pageviewsDays: 90, includeDailyPageviews: true on brands, competitors or topics; alert on spikes.
  • RAG / knowledge base ingestion — mode: "full", includeSections: true gives clean plain text with a table of contents; maxTextChars caps size.
  • Multilingual localisation research — includeLangLinks: true lists which languages cover a topic; run the same queries with lang: "de", "kk", "zh" for local perspectives.
  • Topic mapping / SEO content clusters — includeLinks: true, includeCategories: true on seed articles to build a related-topics graph.

Input

FieldTypeDefaultAllowed values / notes
queriesstring[]–Required. One entry per lookup: free text, an entity name or an exact page title. About 1,000 summary lookups fit in the default 15-minute run, fewer with the optional blocks — see Limits.
langstringenAny Wikipedia language code (en, de, fr, es, ru, zh, ja, ar, kk, uz, simple, zh-yue…). A language name (German, Deutsch) or a locale tag (en-US, pt_BR) is read as its edition, with a note in the status. See Reference.
searchModestringtexttext (relevance search like the site search box), title (prefix match on titles), nearmatch (the page MediaWiki's "Go" box would open for the query; 0–1 result), exact (treat the query as the page title; follows redirects).
resultsPerQueryinteger11–50 top hits saved per query (ignored for exact).
skipDisambiguationbooleanfalseSkip disambiguation list pages (always flagged via isDisambiguation).
modestringsummarysummary (lead paragraph via REST summary), full (complete plain-text article → fullText), metadata (no text).
maxTextCharsinteger0Truncate fullText on a word boundary (0 = whole article); fullTextChars keeps the real length.
includeSectionsbooleanfalseTable of contents [{level, title, chars}] (chars only in full mode; anchor in other modes).
includeCategoriesbooleanfalseVisible categories (≤100).
includeLinksbooleanfalseTitles of linked articles.
maxLinksinteger501–500 cap for includeLinks.
includeLangLinksbooleanfalselanguages (codes), languagesCount, langLinks [{lang, title, url}].
includeImagesbooleanfalseUp to 20 images with URL and caption (thumbnail / originalImage are always included).
includeWikidatabooleanfalseCurated structured facts from the linked Wikidata item (see Reference → Wikidata properties). +3 requests per page (page data, the item, a batch of its labels per 50 linked items).
includePageviewsbooleanfalseHuman pageviews, all platforms, for the last pageviewsDays: total, avgPerDay, peakDay, peakViews.
pageviewsDaysinteger301–365, window ends yesterday (UTC).
includeDailyPageviewsbooleanfalseAdds pageviews.daily [{date, views}].
dedupebooleantrueSave each page once even if several queries resolve to it.
fieldsstring[][]Keep only these output fields, in this order. query and title are always kept (first, unless you list them). Letter case, spaces, - and _ do not matter (last_edited = lastEdited); unknown names are left out with a "did you mean" note in the status; a list in which no name can be in a row stops the run before any page is charged.

Reference

Allowed values (searchMode, mode)

  • searchMode: text, title, nearmatch, exact.
  • mode: summary, full, metadata.

These two fields take exactly these values; Apify refuses any other value before the run starts.

Language editions (lang)

Any live edition works. The codes below are built in; any other code (for example be-tarask, zh-min-nan, nds-nl) is checked with one request to <code>.wikipedia.org before the run reads anything, and a code that is not a Wikipedia edition stops the run with "did you mean" (only the start is charged). English names of the languages below and common native names (Deutsch, Русский, Қазақша…) are read as their codes; so are locale tags (en-US → en, pt_BR → pt, zh-Hant → zh).

CodeLanguageCodeLanguageCodeLanguage
enEnglishdeGermanfrFrench
esSpanishitItalianptPortuguese
ruRussianjaJapanesezhChinese
arArabicnlDutchplPolish
svSwedishukUkrainianviVietnamese
trTurkishfaPersiankoKorean
idIndonesiancsCzechheHebrew
huHungarianfiFinnishno / nnNorwegian
daDanishroRomanianelGreek
bgBulgariansrSerbianhrCroatian
skSlovakslSlovenianltLithuanian
lvLatvianetEstonianthThai
hiHindibnBengalitaTamil
teTelugumlMalayalammrMarathi
urUrdumsMalaycaCatalan
euBasqueglGaliciankkKazakh
uzUzbekkyKyrgyztgTajik
tkTurkmenazAzerbaijanikaGeorgian
hyArmenianmnMongolianbeBelarusian
ttTatarbaBashkirsqAlbanian
mkMacedonianbsBosnianisIcelandic
gaIrishcyWelshafAfrikaans
swSwahiliamAmharichaHausa
yoYorubaneNepalisiSinhala
myBurmesekmKhmerloLao
tlTagaloglaLatineoEsperanto
simpleSimple Englishzh-yueCantonesecebCebuano
warWarayarzEgyptian ArabicckbCentral Kurdish
kuKurdishpsPashtosdSindhi
paPunjabiguGujaratiknKannada
orOdiaasAssamese

Full list: https://meta.wikimedia.org/wiki/List_of_Wikipedias

Wikidata properties extracted (includeWikidata)

Output keyPropertyOutput keyProperty
instanceOfP31countryP17
headquartersP159inception / dissolvedP571 / P576
foundedByP112ceo / chairpersonP169 / P488
industryP452legalFormP1454
ownedBy / parentOrganizationP127 / P749subsidiariesP355
employees ({value, year})P1128revenue / netProfit / totalAssets ({amount, currencyItem, year})P2139 / P2295 / P2403
websiteP856coordinatesP625
tickerSymbol / stockExchangeP249 / P414isin / leiP946 / P1278
openCorporatesId / crunchbaseIdP1320 / P2088rorId / gridIdP6782 / P2427
twitter / linkedinCompany / facebook / youtubeChannelP2002 / P4264 / P2013 / P2397image / logoP18 / P154
population / capitalP1082 / P36dateOfBirth / dateOfDeathP569 / P570
citizenship / occupation / employerP27 / P106 / P108educatedAt / positionHeld / memberOfP69 / P39 / P463
ownerOfP1830phone / emailP1329 / P968
streetAddress / postalCodeP6375 / P281officialName / shortNameP1448 / P1813

Item values (people, places, companies, currencies) are returned as labels in the edition language, falling back to English, then Wikidata's language-neutral mul label (used by most person items since 2024), then any language. The original Q-ids are kept in wikidata.entityIds (e.g. { "ceo": "Q106028933", "foundedBy": ["Q483382", "Q332591", "Q19837"] }) for joins.

Preferred-rank claims win, deprecated ones are dropped, time-series claims (revenue, employees) return the latest value with its year. Item values are resolved to labels in lang, falling back to English.

Examples

KYB / due diligence on a list of companies

{ "queries": ["Kaspi.kz", "Air Astana", "Halyk Bank", "KazMunayGas"], "searchMode": "nearmatch", "includeWikidata": true, "includeLangLinks": true, "fields": ["query", "title", "description", "extract", "wikidata", "languagesCount", "url"] }

Brand attention tracker (run weekly)

{ "queries": ["Tesla, Inc.", "BYD Auto", "Rivian"], "searchMode": "exact", "mode": "metadata", "includePageviews": true, "pageviewsDays": 90, "includeDailyPageviews": true }

Full articles for a RAG index, with table of contents

{ "queries": ["Stablecoin", "Central bank digital currency", "Payment system"], "searchMode": "exact", "mode": "full", "includeSections": true, "includeCategories": true, "maxTextChars": 60000 }

Topic research in Russian — top 5 hits per query

{ "queries": ["агропромышленный комплекс Казахстана", "цифровизация сельского хозяйства"], "lang": "ru", "resultsPerQuery": 5, "skipDisambiguation": true }

Related-topics graph for content planning

{ "queries": ["Agentic AI"], "searchMode": "exact", "includeLinks": true, "maxLinks": 200, "includeCategories": true, "mode": "metadata" }

Output

One item per page found. Queries with no result and failed queries are not items and are not charged — they are listed in the SUMMARY record and the run's status message. Example (trimmed):

{
"query": "Astana International Financial Centre",
"rank": 1,
"found": true,
"lang": "en",
"pageId": 57219556,
"title": "Astana International Financial Centre",
"requestedTitle": null,
"description": "Financial hub in Astana, Kazakhstan",
"isDisambiguation": false,
"extract": "The Astana International Financial Centre (AIFC) is a financial hub in Astana, Kazakhstan …",
"snippet": "The Astana International Financial Centre (AIFC) is a financial hub …",
"thumbnail": "https://thumb.wikimedia.org/wikipedia/commons/thumb/…/330px-AIFC.jpg",
"originalImage": "https://thumb.wikimedia.org/wikipedia/commons/thumb/…/960px-AIFC.jpg",
"coordinates": { "lat": 51.09, "lon": 71.42 },
"url": "https://en.wikipedia.org/wiki/Astana_International_Financial_Centre",
"lastEdited": "2026-08-30T11:02:41Z",
"revisionId": "1312345678",
"wordCount": 1874,
"wikidataId": "Q28155597",
"wikidata": { "id": "Q28155597", "instanceOf": "financial centre", "country": "Kazakhstan", "inception": "2018-01-01", "headquarters": "Astana", "website": "https://aifc.kz", "twitter": "AIFC_KZ", "url": "https://www.wikidata.org/wiki/Q28155597", "entityIds": { "instanceOf": "Q338313", "country": "Q232", "headquarters": "Q1520" } },
"pageviews": { "days": 30, "from": "2026-08-14", "to": "2026-09-12", "total": 2140, "avgPerDay": 71.3, "peakDay": "2026-09-02", "peakViews": 188 },
"fetchedAt": "2026-09-13T08:05:12.345Z"
}
FieldTypeMeaning
query, rank, foundstring, int, boolWhich input produced the row and its search rank.
lang, pageId, title, requestedTitle, redirectedEdition, stable page id, canonical title; requestedTitle when a redirect/search changed it.
description, extract, snippetstringWikidata short description, lead text, search snippet.
isDisambiguationboolPage is a disambiguation list.
thumbnail, originalImage, images[]Lead image; images with includeImages.
coordinatesobject{lat, lon} for places.
url, lastEdited, revisionId, wordCount, pageLengthBytesPage metadata: lastEdited is the time of the latest edit (the timestamp of revision revisionId, a string); wordCount comes from search (text / nearmatch); pageLengthBytes with mode: "full" or any of categories / links / other languages / Wikidata.
fullText, fullTextChars, sections[]mode: "full" / includeSections.
categories[], links[], languages[], languagesCount, langLinks[]Optional graph data.
wikidataId, wikidata{}Q-id and curated facts (includeWikidata); item values as labels, their Q-ids in wikidata.entityIds.
pageviews{}Attention metrics (includePageviews).
fetchedAtISOProvenance.

A SUMMARY record in the key-value store: { lang, queries, mode, searchMode, saved, notFound (count), notFoundCount, notFoundInputs[], errors[{input, error}], errorCount, notReached, notReachedInputs[], duplicatesSkipped, disambiguationSkipped, notes[], stoppedEarly, stoppedBy, requests, throttledResponses, status } (lists hold the first 100). stoppedBy is limit (your max cost per run), timeout or aborted when the run ended early; notReachedInputs are the queries it did not finish.

Dataset views

The dataset has four table views: Pages (the default: title, description, extract, Wikidata id, last edit, URL), Full text (mode: "full": characters, sections, full text), Wikidata facts (includeWikidata: the facts object per page — values that hold several items, such as industries or founders, are lists, so they stay in one column) and Pageviews (includePageviews: views, per day, peak day and views, window). Views change only how the Console shows the data; JSON/CSV/Excel exports hold every field.

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~wikipedia-search/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["Kaspi.kz","Halyk Bank"],"searchMode":"nearmatch","includeWikidata":true}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/wikipedia-search').call({ queries: ['Stablecoin'], mode: 'full', includeSections: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/wikipedia-search").call(run_input={"queries": ["Tesla, Inc."], "searchMode": "exact", "includePageviews": True, "pageviewsDays": 90})
items = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/wikipedia-search tool with the same JSON input.

Pricing

Pay per event: $0.001 per run start + $0.001 per page. Store discounts: Bronze −10 %, Silver −20 %, Gold and above −30 % on the page price; the start price is the same on every plan; platform usage is included. Typical runs: 10 company lookups with Wikidata ≈ $0.011; 500-name enrichment ≈ $0.5; full-article ingestion of 100 pages ≈ $0.1.

Limits & FAQ

  • Rate limits — Wikimedia allows an identified client 200 requests per minute and asks for one request at a time. The actor sends requests one by one, starting them at least 350 ms apart across Wikipedia, Wikidata and the pageviews API (at most ~170 a minute), with a descriptive User-Agent. On HTTP 429/503 it waits out Retry-After (up to 60 s) or backs off (5 → 10 → 20 s); if Wikimedia keeps refusing, or asks for a longer wait, the run stops sending requests, keeps every page already saved and ends with "Stopped early — …" and the queries it did not reach in SUMMARY.notReachedInputs.

  • How much fits in one run — each page costs one request for the summary, plus one per enabled block (mode: "full" or categories / links / other languages: one together; sections outside full mode, images and pageviews: one each; Wikidata: the page data request plus the item and one label request per 50 linked items); text, title and near-match search add one per query. Measured on 2 Oct 2026 (country and large-company articles), the default 15-minute run (900 s, of which the last 90 s are kept for saving) holds about:

    InputRequests per queryQueries per default run
    searchMode: "exact", summary1~2,000 (0.37 s per page)
    text search, resultsPerQuery: 1, summary2~1,000
    mode: "full" + includeSections, text search3~550 (1.45 s per query)
    + includeWikidata, text search5–6~300 (2.7 s per query)
    + includeWikidata + includePageviews6–7~250

    For more, raise the run timeout (Run options → Timeout) or split the list. A run near its timeout stops starting new pages, keeps everything saved and ends SUCCEEDED with "Stopped before the run timeout: N rows saved"; the rest is listed in SUMMARY.notReachedInputs.

  • Spending limit — the run never charges more than your "Maximum cost per run": it stops at the last page it may bill and says "Stopped at your spending limit: N rows delivered".

  • Restarts — if Apify migrates or restarts the run, pages already saved are neither saved nor charged again, and finished queries are not asked again.

  • Freshness — live from Wikipedia at run time; pageviews are published with ~1 day delay (window ends yesterday).

  • Not found — a query with no page is not an item (you are not charged for it); it is listed in SUMMARY.notFoundInputs. A page or query that fails with an API error goes to SUMMARY.errors (not charged); the run fails only when no query could be answered at all.

  • Disambiguation — flagged via isDisambiguation; use skipDisambiguation or searchMode: "text" with resultsPerQuery: 3 for ambiguous names.

  • Text size — full articles can exceed 200 KB; use maxTextChars for LLM budgets.

  • Wikidata coverage — only properties in the curated table are extracted; other claims are not returned (roadmap: wikidataProperties input for arbitrary P-ids).

  • Roadmap — revision history / last editors, geosearch by coordinates, Wikipedia "on this day" and trending feeds.


Made by Yadroo. Sibling actors: openalex-works, arxiv-papers, openlibrary-books, domain-intel, sanctions-screen.