---
title: ToolRouter — Tool Detail
description: Detailed documentation for a ToolRouter tool including skills, parameters, and examples.
url: https://toolrouter.com/tools/fact-lookup
---
# Fact Lookup

Look up structured facts about any person, place, company, or concept — population, founding date, coordinates, headquarters, CEO, awards, and more. Answer factual questions with authoritative data from 100M+ entities. Run advanced queries to list, compare, and rank.

- **Version:** 0.02
- **Categories:** data

## Skills (3)

### Search Entities (`search`)

Search Wikidata entities by keyword. Returns matching entities with IDs, labels, descriptions, and links to Wikipedia and Wikidata.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search term — person, place, organization, concept, etc. |
| `language` | string | No | Language code for labels and search (default "en") [default: "en"] |
| `limit` | number | No | Max results to return (1-20) [default: 10] |

**Returns:** List of matching Wikidata entities with ID, label, description, and URLs

**Examples:**

*Search for Tesla:*

```json
{
  "query": "Tesla"
}
```

*Search for Tokyo in Japanese:*

```json
{
  "query": "東京",
  "language": "ja"
}
```

### Get Entity Facts (`get_entity`)

Get comprehensive structured facts about any entity. Accepts a name or Wikidata Q-ID. Returns up to 60 properties with values resolved to human-readable labels — population, founding date, coordinates, CEO, awards, and more.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `entity` | string | Yes | Entity name (e.g. "Tokyo", "Albert Einstein", "Apple Inc") or Wikidata Q-ID (e.g. "Q1490") |
| `language` | string | No | Language for labels (default "en") [default: "en"] |

**Returns:** Structured entity data with label, description, aliases, Wikipedia URL, and key facts resolved to readable values

**Examples:**

*Get facts about Tokyo:*

```json
{
  "entity": "Tokyo"
}
```

*Get facts about Albert Einstein:*

```json
{
  "entity": "Albert Einstein"
}
```

*Get facts by Q-ID:*

```json
{
  "entity": "Q312"
}
```

### SPARQL Query (`sparql_query`)

Run a SPARQL query against Wikidata for complex multi-entity questions. Supports filtering, sorting, aggregation, and relationship traversal across 100M+ entities.

**Parameters:**

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `sparql` | string | Yes | SPARQL query string. Must include SERVICE wikibase:label for readable results. LIMIT is auto-added if missing (max 500). |

**Returns:** SPARQL query results as an array of row objects with column names as keys

**Examples:**

*Top 10 most populous countries:*

```json
{
  "sparql": "SELECT ?country ?countryLabel ?population WHERE { ?country wdt:P31 wd:Q6256 . ?country wdt:P1082 ?population . SERVICE wikibase:label { bd:serviceParam wikibase:language \"en\". } } ORDER BY DESC(?population) LIMIT 10"
}
```

*Nobel Prize in Physics winners since 2020:*

```json
{
  "sparql": "SELECT ?person ?personLabel ?year WHERE { ?person p:P166 ?award . ?award ps:P166 wd:Q38104 . ?award pq:P585 ?date . BIND(YEAR(?date) AS ?year) FILTER(?year >= 2020) SERVICE wikibase:label { bd:serviceParam wikibase:language \"en\". } } ORDER BY DESC(?year) LIMIT 20"
}
```

*Universities in the United Kingdom:*

```json
{
  "sparql": "SELECT ?uni ?uniLabel ?city ?cityLabel WHERE { ?uni wdt:P31 wd:Q3918 . ?uni wdt:P17 wd:Q145 . OPTIONAL { ?uni wdt:P131 ?city } SERVICE wikibase:label { bd:serviceParam wikibase:language \"en\". } } LIMIT 50"
}
```

## Quick Start

```bash
# Via CLI
TOOLROUTER_API_KEY=tr_live_xxx npx -y toolrouter-mcp call fact-lookup search --query Tesla

# Via REST API
curl -H "Authorization: Bearer tr_live_xxx" \
     -d '{"tool":"fact-lookup","skill":"search","input":{"query":"Tesla"}}' \
     https://api.toolrouter.com/v1/tools/call
```

## Frequently Asked Questions

### Do I search first, or can I ask directly for a fact?

Either works. `get_entity` accepts a plain name or Q-ID for common entities, while `search` helps you find the right entity first.

### What kinds of facts come back?

`get_entity` returns up to 60 structured facts such as population, founding date, coordinates, website, CEO, and country.

### When should I use SPARQL instead of `get_entity`?

Use `sparql_query` when you need lists, rankings, comparisons, or other multi-entity answers.

### How do I keep the query reliable?

Start with `search` or `get_entity`, and include a label service plus `LIMIT` in SPARQL so the result stays readable.

---

## Get Started with ToolRouter

**Already connected?** Call any tool with `use_tool({ tool, skill, input })`. Browse tools with `discover` or visit https://toolrouter.com/llms-full.txt

**New to ToolRouter?** Connect with one command (no API key needed — auto-provisions on first use):

```bash
# MCP (Claude Code, Codex CLI)
claude mcp add toolrouter -- npx -y toolrouter-mcp

# MCP (Cursor, Windsurf, Cline, VS Code, Gemini CLI, Claude Desktop)
{"mcpServers":{"toolrouter":{"command":"npx","args":["-y","toolrouter-mcp"]}}}

# Claude Chat / Claude Cowork / Claude Mobile — add as a connector:
# Settings → Connectors → Add custom connector → URL: https://api.toolrouter.com/mcp

# ChatGPT — add as an app:
# Settings → Apps → Advanced settings → enable Developer mode → Create app → MCP Server URL: https://api.toolrouter.com/mcp

# CLI (works instantly, no restart needed)
npx -y toolrouter-mcp tools                    # browse all tools
npx -y toolrouter-mcp search "seo"             # search by keyword
npx -y toolrouter-mcp call seo analyze_page --url https://example.com
```

Free tools work immediately. For paid tools, visit https://toolrouter.com/claim to add credits.

All platforms: https://toolrouter.com/connect | Full catalog: https://toolrouter.com/llms-full.txt | Docs: https://toolrouter.com/docs