Wikipedia Scraper - Full Article Text and Search avatar

Wikipedia Scraper - Full Article Text and Search

Pricing

from $0.97 / 1,000 pages

Go to Apify Store
Wikipedia Scraper - Full Article Text and Search

Wikipedia Scraper - Full Article Text and Search

Search Wikipedia by keyword, or fetch exact article titles in any language edition. Search rows give the snippet, word count, size and last edit. Title rows give the intro or the whole article as plain text, the lead image and the categories. $1.00 per 1,000 pages.

Pricing

from $0.97 / 1,000 pages

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

4 days ago

Last modified

Share

Search Wikipedia by keyword, or name exact article titles and get the article text back, in any language edition. A search gives you matching articles with a snippet, word count, size and last-edit time. Named titles give you the intro or the whole article as plain text, the lead image and the categories.

The two modes return different fields, and that catches people out: search rows have a snippet but no article text, and title rows have the text but no search ranking. Pick the mode that matches what you actually need.

InputA search query, or a list of exact article titles, in any language edition
OutputOne row per article. Search: snippet, word count, size, last edit. Titles: intro or full text, lead image, categories
Ceiling5,000 pages per run
Account neededNone, and no API key
Price$1.00 per 1,000 pages on the Free plan, a little less on paid plans. The free plan's $5 a month covers about 5,000

🔍 What Wikipedia Scraper does

In search mode it runs Wikipedia's own search and pages through the results until it reaches your limit. Each row carries the page id, the title, a plain-text snippet with the highlighting stripped, the article's word count and size, and when it was last edited.

In page-titles mode it fetches the articles you named. By default you get the intro paragraphs; tick Fetch full article text and you get the whole article as plain text instead. Those rows also carry the lead image and the visible category names.

Pick any language edition with language. fr reads the French Wikipedia and returns French articles, in both modes.

📋 What data you get from each Wikipedia article

What you getField
Wikipedia's numeric page id, the title and the linkpageid, title, url
Which mode produced the rowmode
Search rows: the matched text, length in words and bytes, last editsnippet, wordcount, size, timestamp
Title rows: the intro or the whole article as plain textextract, fullText
Title rows: the lead imagethumbnail
Title rows: the categories a reader seescategories

▶️ How to scrape Wikipedia

  1. Open Wikipedia Scraper and click Try for free.
  2. For a search, type into Search query and leave Page titles alone.
  3. For articles, clear Search query, then put exact titles into Page titles.
  4. Set Wikipedia language and Max items, tick Fetch full article text if you want the whole article, then click Start.
  5. Download the dataset as JSON, CSV or Excel, or read it from the Apify API.

💰 How much does it cost to scrape Wikipedia?

$1.00 per 1,000 pages on the Free plan. Paid plans pay a little less: $0.99 on Starter, $0.98 on Scale and $0.97 on Business. On the free plan, the $5 Apify gives you each month covers about 5,000 pages.

You pay per page row delivered. Duplicate page ids are dropped before they reach you, diagnostic rows are not charged, and if nothing is found, no rows are charged. Set a maximum cost on the run and it stops when it gets there.

📥 What you give it

{
"searchQuery": "machine learning",
"language": "en",
"maxItems": 50
}
FieldDefaultWhat it is
searchQuerynone, the form starts with machine learningKeywords to search for. Leave it empty to use pageTitles instead.
pageTitlesempty, the form starts with Apify and Web scrapingExact article titles. Use this or a search query.
fullTextfalseWhole article instead of the intro. Only applies in page-titles mode, and is ignored in search mode.
languageenThe language edition code: en, fr, de, es, ja and so on.
maxItems50How many pages to return, up to 5,000. In search mode it pages until it gets there.
notionConnectornoneOptional. Writes every page into your own Notion as well as the dataset.
notionParentIdnoneOptional. The Notion data source to write into.
proxyConfigurationoffOptional, and off by default because a normal run does not need it.

Both boxes start filled in, and a filled searchQuery wins. If you want titles mode, clear the search box first, or the sample titles are ignored.

Titles have to be exact, including capitalisation, exactly as they appear in the article URL.

📤 What you get back

A real search row from a run on 3 October 2026:

{
"ok": true,
"mode": "search",
"pageid": 233488,
"title": "Machine learning",
"url": "https://en.wikipedia.org/?curid=233488",
"snippet": "Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of statistical algorithms that can learn",
"wordcount": 16592,
"size": 146371,
"timestamp": "2026-09-28T05:58:05Z"
}

And a page-titles row, with the extract and the category list cut short:

{
"ok": true,
"mode": "page",
"fullText": false,
"pageid": 11188,
"title": "French Revolution",
"url": "https://en.wikipedia.org/wiki/French_Revolution",
"extract": "The French Revolution was a period of political and societal change in France that began with the Estates General of 1789 ...",
"thumbnail": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Anonymous_-_Prise_de_la_Bastille.jpg/500px-...",
"categories": ["1789 conflicts", "Atlantic Revolutions", "Civil wars in France", "..."]
}
FieldHow to read it
modesearch or page. It tells you which set of fields to expect.
pageidWikipedia's own numeric id. Stable across renames, so use it as your key.
snippetSearch mode only. The matched text with the markup stripped. There is no extract on a search row.
extractPage mode only. Plain text, intro or whole article depending on fullText. null when Wikipedia returned none.
thumbnailPage mode only. The lead image, or null when the article has no image.
categoriesPage mode only. The visible category names. Hidden maintenance categories are left out.
wordcount, sizeSearch mode only. Article length in words and bytes, useful for ranking what to read.
timestampSearch mode only. When the article was last edited.

🧾 Reading the output

Two kinds of row can land in your dataset.

RowHow to spot itBilled
A pageok: true and a pageidyes
A diagnosticok: false and an errorCodeno
CodeWhat it means
BAD_INPUTNeither a search query nor any page titles were given.
NOT_FOUNDThat exact title does not exist on that language edition. One row per missing title, in the order you listed them.
NO_RESULTSThe search ran and matched nothing, or no title in the list resolved.
RATE_LIMITEDWikipedia asked for a slower pace. Re-run with a smaller maxItems.
SERVER_ERRORWikipedia answered with a server error. Usually passes on its own.
NOT_SERVEDThis page was not served this run. Re-run it later. Until 12 October 2026 this code was called BLOCKED.
NETWORKWikipedia could not be reached. A misspelled language code also lands here, because that edition does not exist.
TIME_LIMITThe run got close to its time limit and stopped on its own. The pages delivered before that are complete and charged. Give the run more time, or ask for fewer pages, to get the rest.

A run that ends on one of these rows still finishes as succeeded, except one: when the time limit stopped the run before any page came back, it ends as failed, with a TIME_LIMIT row saying so.

Rows arrive at the end, not as they are found. Everything is fetched first and written afterwards, so a large full-text run shows nothing in the dataset until it is done.

The default table view has no ok column, so a NOT_FOUND row looks like a blank line. Switch to All fields or export as JSON.

💡 What people use it for

  • Building a plain-text corpus on a subject, with fullText on and a list of titles.
  • Grabbing the intro paragraph for a glossary or an internal wiki.
  • Ranking what to read on a topic, using search mode and sorting on wordcount.
  • Pulling the same article across language editions to compare how each one covers it.

From a topic to its full articles, in three steps:

  1. Run a search with searchQuery set to your topic and copy the title column.
  2. Start a second run with the search box empty, those titles in pageTitles, about 20 at a time, and fullText ticked.
  3. Join the two on pageid to keep the search order next to the text.

🚧 What it does not do

  • Search rows have no article text. If you need the text, take the titles from a search run and feed them into a second run in page-titles mode.
  • A long title list thins out. Asked for many titles at once, Wikipedia stops returning extracts partway through the batch, so some rows come back with extract: null and no categories while still counting as pages. Keep a batch under about 20 titles and they come back complete.
  • Thousands of full articles take a long time. Full text comes back one article at a time, so a list in the thousands can run close to the one-hour default timeout, and rows are only written at the end. Split long lists across runs.
  • No infoboxes, references, tables or wikitext. Plain text only.
  • No revision history, no edit diffs, no talk pages.
  • Titles are exact. A near miss returns NOT_FOUND rather than the closest article.
  • No images beyond the lead thumbnail, and nothing is downloaded.
  • The run finishes even when every request failed, so read ok rather than the run status.
  • It is not an official Wikipedia tool. Dami's Studio is independent and is not affiliated with or endorsed by Wikipedia or the Wikimedia Foundation, or by any other company named on this page.

🧭 Which reference scraper do you need?

If you wantUse
Wikipedia search results or article textThis one
Wikidata Q-ids, aliases and claims, by name or by IDWikidata Scraper
Book metadata by keyword, title or ISBNBooks Scraper
Goodreads ratings and rating counts from a book searchGoodreads Books Scraper
Books, audio, film and software held on archive.orgInternet Archive Scraper
Papers with readable abstracts and citation countsOpenAlex Scraper
Wikipedia, arXiv and OpenAlex searches as tools for an AI agentResearch MCP Server

❓ Questions people ask

Do I need a Wikipedia account or an API key?

No. Wikipedia's API is open and nothing here needs an account.

Why is there no article text on a search row?

Because search mode never returns one. Take the titles and run them in page-titles mode.

Can I scrape a non-English Wikipedia?

Yes. Set language to the edition code and both modes follow it.

What happens if I fill in both boxes?

Search mode runs and the titles are ignored. Clear the search box to use titles.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/wikipedia-scraper. Either way the run happens on your Apify account at the same price.

Wikipedia's content is published under a free licence and its API is open to the public. Check the licence terms for how you attribute reuse. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the run ID, the query or titles you used, and the language code. The errorCode on the diagnostic row usually names the problem on its own.