# Tribal Wars

> Read live world data from Tribal Wars, the classic browser strategy game by InnoGames, through its keyless public data API: worlds, world settings, unit and building stats, players, tribes, villages, conquests, and kill rankings. No account or API key required. Disclaimer: this is an independent integration with the official Tribal Wars public data endpoints. It is not affiliated with, endorsed by, or sponsored by InnoGames GmbH; Tribal Wars and all related names and trademarks belong to InnoGames GmbH.

App · Gaming · 14 actions. Web page: https://docs.lodol.com/docs/integrations/tribal-wars

## Actions

### Get a player

Get a single player on a world by their numeric id. Returns nothing if no player has that id.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Player ID (`player_id`, number, required): The numeric id of the player. At least 1.

**Outputs**

- `player` (object)

**Example output**

```json
{
  "player": {
    "id": 848933,
    "name": "orsamannen",
    "points": 94,
    "rank": 312,
    "tribe_id": 3,
    "villages": 1
  }
}
```

### Get a tribe

Get a single tribe (alliance) on a world by its numeric id. Returns nothing if no tribe has that id.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Tribe ID (`tribe_id`, number, required): The numeric id of the tribe. At least 1.

**Outputs**

- `tribe` (object)

**Example output**

```json
{
  "tribe": {
    "all_points": 6355638,
    "id": 1,
    "members": 5,
    "name": "Hmmm67",
    "points": 6355638,
    "rank": 5,
    "tag": "50/67",
    "villages": 619
  }
}
```

### Get a village

Get a single village on a world, either by its numeric id or by its map coordinates. Returns nothing if no village matches.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Village ID (`village_id`, number): The numeric id of the village (leave blank to look up by coordinates). At least 1.
- X coordinate (`x`, number): The village's X map coordinate (use together with Y). At least 0.
- Y coordinate (`y`, number): The village's Y map coordinate (use together with X). At least 0.

**Outputs**

- `village` (object)

**Example output**

```json
{
  "village": {
    "bonus_id": 0,
    "id": 1,
    "name": "Bonus village",
    "player_id": 848933,
    "points": 12130,
    "x": 518,
    "y": 497
  }
}
```

### Get building info

Get every building's stats on a world: base resource costs, per-level cost and build-time factors, population use, and the minimum and maximum levels.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.

**Outputs**: None.

**Example output**

```json
{
  "barracks": {
    "iron": 90,
    "max_level": 25,
    "min_level": 0,
    "pop": 7,
    "stone": 170,
    "wood": 200
  },
  "main": {
    "build_time": 500,
    "build_time_factor": 1.2,
    "iron": 70,
    "iron_factor": 1.26,
    "max_level": 30,
    "min_level": 1,
    "pop": 5,
    "pop_factor": 1.17,
    "stone": 80,
    "stone_factor": 1.275,
    "wood": 90,
    "wood_factor": 1.26
  }
}
```

### Get player kill rankings

Get the player kill rankings on a world: opponents defeated as attacker, as defender, as supporter, or in total, each with the player's rank and kill count. Paged by rank.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Ranking (`ranking_type`, text): Which kill ranking to return. One of: `attack` (Attack (ODA, opponents defeated as attacker)), `defense` (Defense (ODD, opponents defeated as defender)), `support` (Support (ODS, opponents defeated as supporter)), `total` (Total (all combined)). Default: `total`.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `offset` (number)
- `ranking_type` (text)
- `rankings` (list)

**Example output**

```json
{
  "count": 315,
  "offset": 0,
  "ranking_type": "total",
  "rankings": [
    {
      "kills": 2170054,
      "player_id": 848933,
      "rank": 95
    }
  ]
}
```

### Get recent conquests

Get the live feed of village conquests on a world since a given time, each with the new and old owner, their tribes, and the village's points. Only the last 24 hours are available.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Since (`since`, date and time, required): Return conquests from this time onward (must be within the last 24 hours).

**Outputs**

- `conquers` (list)
- `count` (number)

**Example output**

```json
{
  "conquers": [
    {
      "conquered_at": "2026-01-12T18:36:12+00:00",
      "new_owner_id": 849339317,
      "new_owner_tribe_id": 21,
      "old_owner_id": 0,
      "old_owner_tribe_id": 0,
      "points": 10348,
      "unix_timestamp": 1768242972,
      "village_id": 7489
    }
  ],
  "count": 1
}
```

### Get tribe kill rankings

Get the tribe kill rankings on a world: opponents defeated as attacker, as defender, as supporter, or in total, each with the tribe's rank and kill count. Paged by rank.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Ranking (`ranking_type`, text): Which kill ranking to return. One of: `attack` (Attack (ODA, opponents defeated as attacker)), `defense` (Defense (ODD, opponents defeated as defender)), `support` (Support (ODS, opponents defeated as supporter)), `total` (Total (all combined)). Default: `total`.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `offset` (number)
- `ranking_type` (text)
- `rankings` (list)

**Example output**

```json
{
  "count": 92,
  "offset": 0,
  "ranking_type": "total",
  "rankings": [
    {
      "kills": 342880496,
      "rank": 4,
      "tribe_id": 1
    }
  ]
}
```

### Get unit info

Get every unit's stats on a world: attack, defense against infantry/cavalry/archers, speed (minutes per tile), carry capacity, population, and build time.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.

**Outputs**: None.

**Example output**

```json
{
  "spear": {
    "attack": 10,
    "build_time": 566.66666666667,
    "carry": 25,
    "defense": 15,
    "defense_archer": 20,
    "defense_cavalry": 45,
    "pop": 1,
    "speed": 18.181818181818
  },
  "sword": {
    "attack": 25,
    "build_time": 833.33333333333,
    "carry": 15,
    "defense": 50,
    "defense_archer": 40,
    "defense_cavalry": 25,
    "pop": 1,
    "speed": 22.222222222222
  }
}
```

### Get world settings

Get a world's configuration: game speed, unit speed, morale, victory conditions, and which features (archers, church, watchtower, and so on) are enabled.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.

**Outputs**: None.

**Example output**

```json
{
  "build": {
    "destroy": 1
  },
  "game": {
    "archer": 0,
    "church": 0,
    "farm_limit": 0,
    "knight": 0,
    "tech": 0,
    "watchtower": 0
  },
  "moral": 2,
  "night": {
    "active": 0
  },
  "snob": {
    "cheap_rebuild": 1,
    "gold": 1,
    "max_dist": 50
  },
  "speed": 1.8,
  "unit_speed": 0.55
}
```

### List conquests

List historical village conquests on a world, newest first, each with the time, village, new and old owner, their tribes, and the village's points. Optionally only include conquests at or after a given time, and page through the results.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Since (`since`, date and time): Only include conquests at or after this date and time.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `conquers` (list)
- `count` (number)
- `offset` (number)

**Example output**

```json
{
  "conquers": [
    {
      "conquered_at": "2026-01-12T18:36:12+00:00",
      "new_owner_id": 849339317,
      "new_owner_tribe_id": 21,
      "old_owner_id": 0,
      "old_owner_tribe_id": 0,
      "points": 10348,
      "unix_timestamp": 1768242972,
      "village_id": 7489
    }
  ],
  "count": 97737,
  "offset": 0
}
```

### List players

List players on a world, each with their tribe id, village count, points, and rank. Optionally filter by a name substring or by tribe, and page through the results.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Name (`name`, text): Only return players whose name contains this text.
- Tribe ID (`tribe_id`, number): Only return players in this tribe (numeric tribe id). At least 0.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `offset` (number)
- `players` (list)

**Example output**

```json
{
  "count": 331,
  "offset": 0,
  "players": [
    {
      "id": 848933,
      "name": "orsamannen",
      "points": 94,
      "rank": 312,
      "tribe_id": 3,
      "villages": 1
    }
  ]
}
```

### List tribes

List tribes (alliances) on a world, each with its tag, member count, village count, points, and rank. Optionally filter by a name or tag substring, and page through the results.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Name or tag (`query`, text): Only return tribes whose name or tag contains this text.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `offset` (number)
- `tribes` (list)

**Example output**

```json
{
  "count": 92,
  "offset": 0,
  "tribes": [
    {
      "all_points": 6355638,
      "id": 1,
      "members": 5,
      "name": "Hmmm67",
      "points": 6355638,
      "rank": 5,
      "tag": "50/67",
      "villages": 619
    }
  ]
}
```

### List villages

List villages on a world, each with its coordinates, owner, points, and bonus type. Optionally filter to one owner (use player id 0 for barbarian villages), and page through results.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.
- World (`world`, text, required): The game world to query (for example, en153). Choose a market first to load its available worlds.
- Owner (player ID) (`player_id`, number): Only return villages owned by this player id (0 for barbarian villages). At least 0.
- Page size (`limit`, number): Maximum number of rows to return (up to 1000). From 1 to 1000. Default: `100`.
- Offset (`offset`, number): How many rows to skip before the page (for paging through results). At least 0. Default: `0`.

**Outputs**

- `count` (number)
- `offset` (number)
- `villages` (list)

**Example output**

```json
{
  "count": 35699,
  "offset": 0,
  "villages": [
    {
      "bonus_id": 0,
      "id": 1,
      "name": "Bonus village",
      "player_id": 848933,
      "points": 12130,
      "x": 518,
      "y": 497
    }
  ]
}
```

### List worlds

List every playable game world on a Tribal Wars market, with the world code and its base URL.

**Inputs**

- Market (`market`, text, required): The Tribal Wars market (country) your world belongs to. One of: `tribalwars.net` (International (tribalwars.net)), `tribalwars.us` (United States (tribalwars.us)), `tribalwars.co.uk` (United Kingdom (tribalwars.co.uk)), `die-staemme.de` (Germany (die-staemme.de)), `tribalwars.nl` (Netherlands (tribalwars.nl)), `plemiona.pl` (Poland (plemiona.pl)), `guerrastribales.es` (Spain (guerrastribales.es)), `tribalwars.com.pt` (Portugal (tribalwars.com.pt)), `tribalwars.com.br` (Brazil (tribalwars.com.br)), `guerretribale.fr` (France (guerretribale.fr)), and 7 more.

**Outputs**

- `count` (number)
- `market` (text)
- `worlds` (list)

**Example output**

```json
{
  "count": 3,
  "market": "tribalwars.net",
  "worlds": [
    {
      "url": "https://en153.tribalwars.net",
      "world": "en153"
    },
    {
      "url": "https://en154.tribalwars.net",
      "world": "en154"
    },
    {
      "url": "https://enc2.tribalwars.net",
      "world": "enc2"
    }
  ]
}
```
