Skip to content
Eden Engine

Wikidata Entity Labels (Names and Descriptions for Up to 50 Q-ids and P-ids)

wikidata/entity-labels

Looks up the label and short description of up to 50 Wikidata ids in one call, in the language you choose. Items (Q-ids) and properties (P-ids) can be mixed, so the ids found in a statement list (the property and every item it points to) resolve together. Each entity comes back keyed by the id you asked for with its type, label and description; a property also gives its datatype. Names stored only as Wikidata's multilingual label are returned for your language through fallback, and the language field then reads mul. An id that does not exist comes back as missing, a merged id comes back with a redirects block and the surviving id, and a missing label or description is simply absent. Wikidata structured data is released under Creative Commons Zero (CC0 1.0, public domain). Source: Wikidata, wikidata.org. Served by Eden Engine; not an official Wikimedia product.

activeper callv2

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Wikidata

Source: Wikidata (wikidata.org), structured data released under Creative Commons Zero (CC0 1.0, public domain) per wikidata.org/wiki/Wikidata:Licensing. Credit is not required. Served by Eden Engine; not an official Wikimedia Foundation product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "wikidata/entity-labels" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "wikidata/entity-labels" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "wikidata/entity-labels", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "wikidata/entity-labels", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 20, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "ids"
  ],
  "properties": {
    "ids": {
      "type": "string",
      "pattern": "^[QP][1-9][0-9]{0,8}(\\|[QP][1-9][0-9]{0,8}){0,49}$",
      "maxLength": 549,
      "minLength": 2,
      "description": "The Wikidata ids to resolve, separated by a vertical bar with no spaces: for example Q42|Q90|P569. Up to 50, items (Q followed by digits) and properties (P followed by digits) in any mix. Lexemes are not supported."
    },
    "language": {
      "type": "string",
      "default": "en",
      "pattern": "^[a-z]{2,3}(-[a-z0-9]{2,8}){0,2}$",
      "description": "Wikimedia language code for the labels and descriptions, for example en, fr, de, ja or zh-hans. Default en. Take care to spell a real code: an unknown one returns every language Wikidata holds for each id, with a warning."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "entities"
  ],
  "properties": {
    "success": {
      "type": "integer",
      "description": "1 when Wikidata served the request."
    },
    "entities": {
      "type": "object",
      "description": "One entry per id asked for. A found entity has type (item or property), id, labels and descriptions keyed by language, and datatype for a property. A missing id is only id and missing. A merged id carries a redirects block and the surviving entity's id.",
      "additionalProperties": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The entity's id. Differs from the key when the asked-for id was merged into another."
          },
          "type": {
            "type": "string",
            "description": "item or property. Absent on a missing id."
          },
          "labels": {
            "type": "object",
            "description": "The label keyed by the requested language: value is the text, language is the language it is stored in (mul for the multilingual label) and for-language is the requested one when they differ. Empty when no label exists.",
            "additionalProperties": true
          },
          "missing": {
            "type": "string",
            "description": "Present, as an empty string, when no entity holds this id."
          },
          "datatype": {
            "type": "string",
            "description": "Properties only: the datatype of the property's values, for example time, quantity or wikibase-item."
          },
          "redirects": {
            "type": "object",
            "description": "Present when the asked-for id was merged: from is the id asked for, to is the id that survived.",
            "additionalProperties": true
          },
          "descriptions": {
            "type": "object",
            "description": "The short description keyed by the requested language, as value and language. Empty when the entity has none.",
            "additionalProperties": true
          }
        },
        "additionalProperties": true
      }
    },
    "warnings": {
      "type": "object",
      "description": "Wikidata's own warnings. A warning about the languages parameter means the code was not recognised and every language was returned.",
      "additionalProperties": true
    }
  },
  "description": "Wikidata's answer: the entities object keyed by the ids you asked for, and success.",
  "additionalProperties": true
}