# Wikipedia Article Extractor Pro (`noetic_caption/wikipedia-extractor`) Actor

Extract full article content from Wikipedia — search, categories, or URLs. Rich structured output with sections, categories, links, images. No API key needed, 100+ languages. Perfect for AI training data, knowledge bases, research.

- **URL**: https://apify.com/noetic\_caption/wikipedia-extractor.md
- **Developed by:** [Kragent](https://apify.com/noetic_caption) (community)
- **Categories:** AI, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Article Extractor Pro

> **Extract full article content from Wikipedia — search, categories, or URLs. Rich structured output. No API keys needed. 100% reliable.**

[![Apify](https://img.shields.io/badge/Apify-Actor-1a1a2e?style=flat-square)](https://console.apify.com/actors/RDgh2RDFGbc3kCJ6v)
[![Python](https://img.shields.io/badge/Python-3.14-blue?style=flat-square)]()
[![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)]()
[![Maintained](https://img.shields.io/badge/Maintained-Yes-brightgreen?style=flat-square)]()

---

### ✨ Why This Actor?

Wikipedia is the world's **largest reference work** — 60M+ articles across 300+ languages. Yet most tools only give you metadata (titles, dates, search results). **This actor extracts the actual content.**

| Feature | What You Get |
|---------|-------------|
| **Search** | 57K+ results for most queries |
| **Full Text** | Complete article content, not just summaries |
| **Structured Sections** | Hierarchical sections with subsections |
| **Categories** | All wiki categories for filtering/classification |
| **Links** | Internal + external links (optional) |
| **Images** | Image filenames from every article (optional) |
| **100+ Languages** | Any Wikipedia language edition |
| **$0 API Costs** | Free, unlimited Wikimedia API — no API key needed |

---

### 🚀 How To Use

#### 1. Quick Search (Simplest)

```json
{
  "mode": "search",
  "query": "Artificial intelligence",
  "maxArticles": 5
}
````

Returns 5 articles about AI with full text, sections, and categories.

#### 2. Browse a Category

```json
{
  "mode": "category",
  "query": "Machine learning",
  "maxArticles": 50,
  "includeCategories": true
}
```

Gets all 293 articles from the "Machine learning" category.

#### 3. Specific Articles

```json
{
  "mode": "urls",
  "titles": "Python (programming language)\nhttps://en.wikipedia.org/wiki/Deep_learning",
  "includeLinks": true,
  "includeImages": true
}
```

Extract specific articles by title or full Wikipedia URL.

***

### 📦 Output Format

Each article is returned as a rich JSON object:

```json
{
  "title": "Machine learning",
  "page_id": 12345,
  "url": "https://en.wikipedia.org/wiki/Machine_learning",
  "language": "en",
  "summary": "Machine learning (ML) is a field of study...",
  "full_text": "Machine learning (ML) is a field... (58K chars)",
  "word_count": 8404,
  "sections": [
    {
      "title": "History",
      "text": "The term machine learning was coined in 1959...",
      "level": 0,
      "subsections": [...]
    }
  ],
  "categories": [
    "Category:Artificial intelligence",
    "Category:Machine learning"
  ],
  "links": {
    "internal": ["Algorithm", "Data mining", ...],
    "external": ["https://example.org/..."]
  }
}
```

***

### 🎯 Perfect For

| Use Case | Why It Works |
|----------|-------------|
| **AI/LLM Training Data** | Clean, structured text at massive scale |
| **RAG Knowledge Bases** | Extract articles → embed → query |
| **Academic Research** | Batch-download articles from any category |
| **Multilingual NLP** | Same content across 100+ languages |
| **Content Creation** | Research topics with structured data |
| **SEO & Analysis** | Article structure, word counts, categories |

***

### 🌍 Language Support

Use any valid [Wikipedia language code](https://en.wikipedia.org/wiki/List_of_Wikipedias):

| Code | Language |
|------|----------|
| `en` | English |
| `hi` | हिन्दी (Hindi) |
| `mr` | मराठी (Marathi) |
| `fr` | Français |
| `de` | Deutsch |
| `es` | Español |
| `ja` | 日本語 |
| `zh` | 中文 |
| ... | 300+ more |

***

### ⚡ Performance

| Metric | Value |
|--------|-------|
| Articles per second | ~3-5 (sequential) |
| Max batch size | 500 articles |
| Avg article size | 5K-15K words |
| API cost | **$0** (free Wikimedia API) |
| Compute cost | Apify platform usage only |

***

### 💰 Pricing

**Pay-per-event** — you only pay for articles successfully extracted.

- Apify handles infrastructure, storage, and delivery
- You get clean, structured data ready for any pipeline
- No hidden costs, no API subscriptions

***

### 🔗 Links

- [🛒 Run on Apify](https://console.apify.com/actors/RDgh2RDFGbc3kCJ6v)
- [📖 Wikipedia API Docs](https://www.mediawiki.org/wiki/API:Main_page)
- [🐍 Wikipedia-API Library](https://pypi.org/project/Wikipedia-API/)
- [📧 Contact Developer](mailto:kragent66@gmail.com)

***

### 👨‍💻 About the Developer

Built by **Kragent** — AI/ML engineer building reliable data extraction tools that just work. Based in Mumbai, India.

- **Contact:** <kragent66@gmail.com>
- **Apify Profile:** [apify.com/noetic\_caption](https://apify.com/noetic_caption)

*If you find this actor useful, consider leaving a review on the Apify Store! ⭐*

# Actor input Schema

## `mode` (type: `string`):

How to select articles: search by keyword, browse a category, or provide specific titles/URLs

## `query` (type: `string`):

For search mode: keyword to search. For category mode: category name (e.g. 'Machine learning' or 'Category:Machine learning').

## `titles` (type: `string`):

For URLs mode only: one title or Wikipedia URL per line. Supports full URLs like https://en.wikipedia.org/wiki/Python\_(programming\_language)

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

Wikipedia language code. See https://en.wikipedia.org/wiki/List\_of\_Wikipedias

## `maxArticles` (type: `integer`):

Maximum number of articles to extract (1-500)

## `includeCategories` (type: `boolean`):

Include article category tags

## `includeLinks` (type: `boolean`):

Include internal and external links from articles (adds to output size)

## `includeImages` (type: `boolean`):

Include image filenames from articles

## Actor input object example

```json
{
  "mode": "search",
  "query": "Artificial intelligence",
  "language": "en",
  "maxArticles": 10,
  "includeCategories": true,
  "includeLinks": false,
  "includeImages": false
}
```

# Actor output Schema

## `results` (type: `string`):

JSON array of extracted articles. Each article contains title, summary, full\_text, sections, categories, word\_count, and more.

## `output` (type: `string`):

Summary of the run: total articles, mode, query, and language used.

# 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 = {
    "query": "Artificial intelligence",
    "language": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("noetic_caption/wikipedia-extractor").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 = {
    "query": "Artificial intelligence",
    "language": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("noetic_caption/wikipedia-extractor").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 '{
  "query": "Artificial intelligence",
  "language": "en"
}' |
apify call noetic_caption/wikipedia-extractor --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wikipedia Article Extractor Pro",
        "description": "Extract full article content from Wikipedia — search, categories, or URLs. Rich structured output with sections, categories, links, images. No API key needed, 100+ languages. Perfect for AI training data, knowledge bases, research.",
        "version": "1.0",
        "x-build-id": "z4QUqIhmd4G9T4qox"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/noetic_caption~wikipedia-extractor/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-noetic_caption-wikipedia-extractor",
                "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/noetic_caption~wikipedia-extractor/runs": {
            "post": {
                "operationId": "runs-sync-noetic_caption-wikipedia-extractor",
                "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/noetic_caption~wikipedia-extractor/run-sync": {
            "post": {
                "operationId": "run-sync-noetic_caption-wikipedia-extractor",
                "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",
                "required": [
                    "query"
                ],
                "properties": {
                    "mode": {
                        "title": "Input Mode",
                        "enum": [
                            "search",
                            "category",
                            "urls"
                        ],
                        "type": "string",
                        "description": "How to select articles: search by keyword, browse a category, or provide specific titles/URLs",
                        "default": "search"
                    },
                    "query": {
                        "title": "Search Query / Category Name",
                        "type": "string",
                        "description": "For search mode: keyword to search. For category mode: category name (e.g. 'Machine learning' or 'Category:Machine learning')."
                    },
                    "titles": {
                        "title": "Article Titles or URLs",
                        "type": "string",
                        "description": "For URLs mode only: one title or Wikipedia URL per line. Supports full URLs like https://en.wikipedia.org/wiki/Python_(programming_language)"
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Wikipedia language code. See https://en.wikipedia.org/wiki/List_of_Wikipedias",
                        "default": "en"
                    },
                    "maxArticles": {
                        "title": "Max Articles",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of articles to extract (1-500)",
                        "default": 10
                    },
                    "includeCategories": {
                        "title": "Include Categories",
                        "type": "boolean",
                        "description": "Include article category tags",
                        "default": true
                    },
                    "includeLinks": {
                        "title": "Include Links",
                        "type": "boolean",
                        "description": "Include internal and external links from articles (adds to output size)",
                        "default": false
                    },
                    "includeImages": {
                        "title": "Include Images",
                        "type": "boolean",
                        "description": "Include image filenames from articles",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
