# Wikidata Entity Batch Export (`datalantern/wikidata-entity-batch`) Actor

Resolve supplied Q/P identifiers to multilingual labels, descriptions, aliases and selected sitelinks.

- **URL**: https://apify.com/datalantern/wikidata-entity-batch.md
- **Developed by:** [Data Lantern](https://apify.com/datalantern) (community)
- **Categories:** Developer tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 85.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 delivered entities

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Wikidata Entity Batch Export

### What can this tool do?

Resolve a supplied list of Wikidata Q/P identifiers into multilingual labels, descriptions, aliases and selected Wikipedia sitelinks. Useful for turning opaque IDs in a knowledge graph or research export into readable records.

### How to use it

```json
{"entityIds":["Q148","Q1490"],"languages":["en","zh"],"maxResults":20,"maxRequests":3}
```

Accepts up to 100 supplied identifiers and five language codes. IDs are deduplicated before requests. It does not discover companies, execute SPARQL, export claims, download media or verify Wikidata's factual accuracy.

Each found row contains its identifier, language-qualified metadata, available revision ID, source URL and CC0 notice. Missing entities are explicit notFound rows; missing labels remain missing rather than invented.

### Pricing

$0.50 per 1,000 delivered found entities ($0.0005 each), plus $0.00005 when a run starts at the supported 256–512 MB memory range. Missing-entity status rows have no entity fee. The start fee can still apply to an unsuccessful run. Set a spending limit before running.

### Is it legal?

Uses the official MediaWiki Action API with maxlag and stops on throttling. Structured Wikidata data is CC0; other Wikimedia content has separate terms. This tool does not download linked pages or images and is not endorsed by Wikimedia.

Source guide: https://www.wikidata.org/wiki/Wikidata:Data_access

### What data does it return?

Results are written to the Apify dataset. OUTPUT reports whether the export completed and why it stopped. RESULTS_CSV contains the rows delivered in this run. CHECKPOINT can continue with the same source inputs; omit it for a fresh export.

Requests are sequential within a run, restricted to the documented source, and bounded by timeout, response size, request count and output count. There are no automatic retries, proxy rotations or redirect fallbacks. Source failures are reported separately from an empty or absent result.

Continuation is best effort. A crash between delivery and checkpoint persistence can repeat rows; the source can change between runs. This is not an immutable snapshot, exactly-once delivery or monitoring. CSV text that could be interpreted as a spreadsheet formula is prefixed with an apostrophe.

### FAQ

**Can I use the original source for free?** Yes. The Actor fee pays for the packaged batch workflow and Apify delivery, not exclusive access to the public source.

**Does a completed export prove the source is complete or correct?** No. Read the stated coverage, status, source dates and limitations before relying on a row.

### Feedback

Use the Actor's Issues tab for a reproducible problem. Include a small public example, OUTPUT and the expected result. Do not post tokens, confidential inventories or customer data in a public issue. Report upstream data errors to the original provider.

# Actor input Schema

## `entityIds` (type: `array`):

Wikidata Q entity or P property identifiers to export. This tool does not discover entities or export claims.

## `languages` (type: `array`):

Languages requested for Wikidata labels, descriptions and aliases, within the supported per-run limit.

## `maxResults` (type: `integer`):

Maximum unique output rows for this run. Source limits, request limits or spending allowance may stop the export earlier.

## `maxRequests` (type: `integer`):

Stops with an explicit checkpoint when reached. This limits source work as well as waiting time.

## `checkpoint` (type: `object`):

Paste the previous CHECKPOINT object with the same source inputs. Omit for a new export.

## Actor input object example

```json
{
  "entityIds": [
    "Q148",
    "Q1490"
  ],
  "languages": [
    "en",
    "zh"
  ],
  "maxResults": 20,
  "maxRequests": 3
}
```

# Actor output Schema

## `records` (type: `string`):

No description

## `csv` (type: `string`):

No description

## `summary` (type: `string`):

No description

## `checkpoint` (type: `string`):

No description

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("datalantern/wikidata-entity-batch").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("datalantern/wikidata-entity-batch").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call datalantern/wikidata-entity-batch --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,datalantern/wikidata-entity-batch"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/pfVAaQxYXnFYZcYPa/builds/e662wAE5fgE4t6FEp/openapi.json
