# Wikipedia Scraper (`exuberant_volley/wikipedia-scraper`) Actor

Scrape Wikipedia articles by search term or exact titles via the official MediaWiki API — summary extract, page image, canonical URL and last-edited date. Keyless, clean JSON, no personal data.

- **URL**: https://apify.com/exuberant\_volley/wikipedia-scraper.md
- **Developed by:** [ScrapeForge](https://apify.com/exuberant_volley) (community)
- **Categories:** AI, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Wikipedia Scraper — Article Summaries, Images & URLs via the Official API

**Launch pricing: this actor currently adds no fee — run it on your Apify free-plan credits. Try it, bookmark it, wire it into your stack.**

A **Wikipedia scraper** on the official MediaWiki API: **scrape Wikipedia articles** by search term or exact titles and get the intro summary, page image, canonical URL and last-edited date as clean JSON. As a **Wikipedia API scraper** it's never blocked, works in every language edition, and doubles as a **Wikipedia article extractor** for **Wikipedia data extraction** into RAG and enrichment pipelines.

> Canonical knowledge, structured: search → top articles → clean summaries, in any of 300+ language editions.

### Who uses this

- **RAG / LLM builders** — intro extracts are dense, neutral grounding context with a canonical URL for citations.
- **Data enrichment teams** — resolve entity names to a description, image and stable URL in one call.
- **Researchers & content teams** — build topic corpora from any language edition.
- **Monitoring** — diff `lastEdited` across scheduled runs to catch article changes.

Grounding LLMs on live tech discussion too? The [Hacker News Scraper](https://apify.com/exuberant_volley/hackernews-scraper) delivers the same clean JSON for the HN front page.

### How it works

The actor resolves your input to article titles — either a MediaWiki full-text search on `searchTerm` or your explicit `titles` list — then fetches intro extracts, page images and canonical URLs in batches of 20 (the API's extract limit), following redirects. Failed searches, all-batches-failed and zero-article runs **fail loudly instead of succeeding empty**.

### Output

One record per article:

```json
{
  "title": "Anthropic",
  "pageId": 6206236,
  "extract": "Anthropic, PBC is an American artificial intelligence (AI) company headquartered in San Francisco, California. It has developed a series of large language models (LLMs) named Claude and has a focus on AI safety...",
  "url": "https://en.wikipedia.org/wiki/Anthropic",
  "thumbnail": null,
  "lastEdited": "2026-07-15T05:56:25Z",
  "language": "en",
  "scrapedAt": "2026-07-15T09:35:19.852Z"
}
````

- `extract` is the article's **intro section** as plain text (no wiki markup, no HTML).
- `thumbnail` is the page image at 320px, or `null` when the article has none.
- `url` is the canonical article URL — use it for citations.

### Input

| Field | Default | Description |
|---|---|---|
| `searchTerm` | `OpenAI` | Keyword to search; top matches are scraped. Ignored when `titles` is set |
| `titles` | — | Exact article titles to fetch directly |
| `language` | `en` | Wikipedia language edition (`en`, `de`, `fr`, `es`, …) |
| `limit` | `10` | Max articles when searching by term |

**The default run needs no configuration** — an empty input searches `OpenAI` on English Wikipedia.

### Reliability & limits

- Extracts are **intro sections only**, not full article bodies — ideal for summaries/grounding, not for full-text mining.
- The MediaWiki API caps plain-text extracts at 20 per request; the actor batches automatically.
- Content freshness is live (straight from the API); `lastEdited` tells you exactly how fresh each article is.

### Paste this output into…

- **Google Sheets** — `=IMPORTDATA("https://api.apify.com/v2/acts/exuberant_volley~wikipedia-scraper/runs/last/dataset/items?format=csv&clean=1&token=YOUR_TOKEN")` for an instant reference table.
- **Make / n8n** — feed a list of entity names as `titles`, fetch `.../runs/last/dataset/items`, and write `extract` + `url` back into your CRM or Airtable.
- **RAG ingestion (LLM builders)** — chunk `extract`, embed it, and store `url` + `lastEdited` as metadata — you get citable, dated grounding snippets with zero cleaning.

### ScrapeForge free data suite

One publisher, fourteen plug-and-play datasets — all currently free to run:

| Actor | What it delivers | |
|---|---|---|
| [Executive Changes Tracker](https://apify.com/exuberant_volley/executive-changes-scraper) | New CEO/CFO/board moves from SEC 8-Ks + official newswires — source-cited B2B trigger leads | [run it next →](https://apify.com/exuberant_volley/executive-changes-scraper) |
| [IKEA Product Scraper](https://apify.com/exuberant_volley/ikea-product-scraper) | Names, prices, ratings and images from any IKEA search or category page | [run it next →](https://apify.com/exuberant_volley/ikea-product-scraper) |
| [Shopify Store Scraper](https://apify.com/exuberant_volley/shopify-store-scraper) | Any Shopify store's full catalog — variants, SKUs, prices — via products.json | [run it next →](https://apify.com/exuberant_volley/shopify-store-scraper) |
| [App Store Apps Scraper](https://apify.com/exuberant_volley/app-store-apps-scraper) | App rankings, ratings, prices and metadata by keyword, any country | [run it next →](https://apify.com/exuberant_volley/app-store-apps-scraper) |
| [Remote Jobs Scraper](https://apify.com/exuberant_volley/remote-jobs-scraper) | Live remote listings from RemoteOK + Remotive, keyword-filtered | [run it next →](https://apify.com/exuberant_volley/remote-jobs-scraper) |
| [CoinGecko Market Scraper](https://apify.com/exuberant_volley/coingecko-market-scraper) | Top-coin prices, market caps and 24h moves — keyless | [run it next →](https://apify.com/exuberant_volley/coingecko-market-scraper) |
| [GitHub Repositories Scraper](https://apify.com/exuberant_volley/github-repos-scraper) | Repo search with stars, forks, topics and licenses | [run it next →](https://apify.com/exuberant_volley/github-repos-scraper) |
| [Hacker News Scraper](https://apify.com/exuberant_volley/hackernews-scraper) | Top/New/Best HN stories with scores and comment counts | [run it next →](https://apify.com/exuberant_volley/hackernews-scraper) |
| [Wikipedia Scraper](https://apify.com/exuberant_volley/wikipedia-scraper) | Article summaries, images and URLs in any language — RAG-ready | [run it next →](https://apify.com/exuberant_volley/wikipedia-scraper) |
| [SEC EDGAR Filings Scraper](https://apify.com/exuberant_volley/sec-edgar-filings-scraper) | Any US public company's filing history by ticker | [run it next →](https://apify.com/exuberant_volley/sec-edgar-filings-scraper) |
| [Open-Meteo Weather Scraper](https://apify.com/exuberant_volley/open-meteo-weather-scraper) | 16-day daily forecast for any coordinates — temps, rain, wind — keyless | [run it next →](https://apify.com/exuberant_volley/open-meteo-weather-scraper) |
| [arXiv Papers Scraper](https://apify.com/exuberant_volley/arxiv-papers-scraper) | Research papers by topic — abstracts, categories, PDF links, newest-first sort | [run it next →](https://apify.com/exuberant_volley/arxiv-papers-scraper) |
| [NVD CVE Scraper](https://apify.com/exuberant_volley/nvd-cve-scraper) | Fresh CVEs with CVSS severity, CWE ids and CISA known-exploited flags | [run it next →](https://apify.com/exuberant_volley/nvd-cve-scraper) |
| [npm Registry Scraper](https://apify.com/exuberant_volley/npm-registry-scraper) | npm package vitals — latest version, license, weekly downloads, dependency count | [run it next →](https://apify.com/exuberant_volley/npm-registry-scraper) |

### Compliance

- **No personal data** — public encyclopedia content only.
- **Official API underneath** — the MediaWiki API with a descriptive User-Agent; no HTML parsing.
- Wikipedia text is CC BY-SA — keep attribution (the `url` field) when you republish extracts.
- Records live only in your run's dataset; the actor keeps nothing beyond it.

# Actor input Schema

## `searchTerm` (type: `string`):

Keyword to search Wikipedia for. The top matching articles (up to "Max articles") are scraped. Ignored when "Titles" is provided.

## `titles` (type: `array`):

Exact article titles to fetch directly, e.g. \["OpenAI", "Artificial intelligence"]. When set, overrides the search term.

## `language` (type: `string`):

Wikipedia language edition (subdomain), e.g. "en", "de", "fr", "es".

## `limit` (type: `integer`):

Maximum number of articles to scrape when searching by term.

## Actor input object example

```json
{
  "searchTerm": "OpenAI",
  "language": "en",
  "limit": 10
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerm": "OpenAI"
};

// Run the Actor and wait for it to finish
const run = await client.actor("exuberant_volley/wikipedia-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchTerm": "OpenAI" }

# Run the Actor and wait for it to finish
run = client.actor("exuberant_volley/wikipedia-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerm": "OpenAI"
}' |
apify call exuberant_volley/wikipedia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=exuberant_volley/wikipedia-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wikipedia Scraper",
        "description": "Scrape Wikipedia articles by search term or exact titles via the official MediaWiki API — summary extract, page image, canonical URL and last-edited date. Keyless, clean JSON, no personal data.",
        "version": "0.1",
        "x-build-id": "FXCdyjzsymwVOZg3q"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/exuberant_volley~wikipedia-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-exuberant_volley-wikipedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/exuberant_volley~wikipedia-scraper/runs": {
            "post": {
                "operationId": "runs-sync-exuberant_volley-wikipedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/exuberant_volley~wikipedia-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-exuberant_volley-wikipedia-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchTerm": {
                        "title": "Search term",
                        "type": "string",
                        "description": "Keyword to search Wikipedia for. The top matching articles (up to \"Max articles\") are scraped. Ignored when \"Titles\" is provided.",
                        "default": "OpenAI"
                    },
                    "titles": {
                        "title": "Titles",
                        "type": "array",
                        "description": "Exact article titles to fetch directly, e.g. [\"OpenAI\", \"Artificial intelligence\"]. When set, overrides the search term.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "language": {
                        "title": "Language / subdomain",
                        "type": "string",
                        "description": "Wikipedia language edition (subdomain), e.g. \"en\", \"de\", \"fr\", \"es\".",
                        "default": "en"
                    },
                    "limit": {
                        "title": "Max articles",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of articles to scrape when searching by term.",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
