PalToolkitv1.0.5 · Sep 29

Palworld API

Quick answer

PalToolkit publishes its Palworld 1.0.5 data as a free JSON API: no key, no sign-up, CORS enabled. Fetch https://paltoolkit.com/api/v1/pals/anubis.json for one Pal or /api/v1/breeding/matrix.json to compute any breeding pair locally. Credit "Data by PalToolkit (paltoolkit.com)" with a link.

Data: Palworld 1.0.5 game files (Steam build 25247047)Updated

Quick start

Base URL https://paltoolkit.com/api/v1/. Every file is plain JSON with a meta block (API version, game version, data date, licence, attribution, sources) and a data block. Slugs are the same as in page URLs (/pals/anubis/ = /api/v1/pals/anubis.json), keys are snake_case, dates are ISO 8601.

curl

curl -s https://paltoolkit.com/api/v1/pals/anubis.json | jq '.data.stats'
curl -s https://paltoolkit.com/api/v1/breeding/anubis.json | jq '.data.earliest_pair'

JavaScript (fetch)

const res = await fetch('https://paltoolkit.com/api/v1/breeding/anubis.json');
const { data } = await res.json();
console.log(`${data.name}: ${data.combo_count} combos, earliest`, data.earliest_pair.parents);

Python

import json, urllib.request

URL = 'https://paltoolkit.com/api/v1/pals.json'
req = urllib.request.Request(URL, headers={'User-Agent': 'my-discord-bot/1.0'})
pals = json.load(urllib.request.urlopen(req))['data']
flyers = [p['name'] for p in pals if p['work'].get('transporting', 0) >= 3]
print(len(pals), 'Pals;', flyers[:5])

JavaScript client

A dependency-free ES module (paltoolkit.js, about 8 KB) with getPal, getBreeding, childOf (computed locally from the matrix), search and one getter per endpoint. It works in browsers, Deno, Bun and Node 18+. Self-host a copy if you need it offline.

import { createClient } from 'https://paltoolkit.com/api/v1/paltoolkit.js';

const ptk = createClient();               // or createClient({ base: '/my-mirror/api/v1' })
const pal = await ptk.getPal('anubis');      // full Pal record
const how = await ptk.getBreeding('anubis'); // every parent pair, earliest first
const kid = await ptk.childOf('lamball', 'cattiva');   // -> 'lamball' slug (matrix, no network after first load)
const hits = await ptk.search('jorm');    // -> [{ kind: 'pal', slug, name, url }, …]

Endpoints

EndpointWhat it returnsSources
/api/v1/index.jsonAPI index: version, licence, sources, endpointsPalToolkit
/api/v1/pals.jsonAll Pals (list): elements, rarity, work, base stats, image, page URLpalcalc, palworld-atlas-data, PalEdit, palworld-knowledge, PalToolkit
/api/v1/pals/{slug}.jsonOne Pal: stats, movement, work, skills, passives, egg, spawns, alpha, breeding summarypalcalc, palworld-atlas-data, PalEdit, palworld-knowledge, PalToolkit
/api/v1/breeding.jsonBreeding rule, special recipes, inheritance weights, combo count + earliest pair per childPalToolkit, palcalc
/api/v1/breeding/{child}.jsonEvery parent pair for one child, earliest firstPalToolkit, palcalc
/api/v1/breeding/matrix.jsonCompact child-of-pair matrix for local lookups (any pair)PalToolkit, palcalc
/api/v1/items.jsonAll items (list): category, rarity, price, stack sizepalworld-atlas-data, PalDex, PalToolkit
/api/v1/items/{slug}.jsonOne item: + merchants selling it, skill fruit / implant links, egg hatchespalworld-atlas-data, PalDex, PalToolkit
/api/v1/passives.jsonPassive skills: rank, effects, how to get them, Pals that have them innatelypalcalc, palworld-knowledge
/api/v1/skills.jsonActive skills: element, power, cooldown, who learns them at which levelpalcalc
/api/v1/elements.jsonElements: strong against, weak to, Pals per elementpalcalc, palworld-atlas-data, PalToolkit
/api/v1/work.jsonWork suitability: Pals per job with levelpalcalc, palworld-atlas-data, PalEdit, palworld-knowledge, PalToolkit
/api/v1/eggs.jsonEggs: which Pals hatch from each, wild egg spawn countspalworld-atlas-data, pal-atlas, PalToolkit
/api/v1/bosses.jsonAlpha, bounty and tower bosses with level and map coordinatesPalDex, palworld-atlas-data, palworld-knowledge
/api/v1/collectibles.jsonCollectible types and counts; effigy typesPalDex, pal-atlas
/api/v1/collectibles/{type}.jsonMap points of one type: effigies, journals, schematics, egg-spawns, chests, skill-fruit-trees, oil-rigs, npcsPalDex, pal-atlas
/api/v1/merchants.jsonMerchants: location, currency, items sold, Pal dealers' poolsPalDex
/api/v1/schema.jsonJSON Schema (draft 2020-12) for every endpointPalToolkit
/api/v1/paltoolkit.jsDependency-free ES module clientPalToolkit

Schemas: /api/v1/schema.json (JSON Schema 2020-12). Index with live counts: /api/v1/index.json. 2,115 files, 4.5 MB in total before compression; the largest are items.json 542 KB, collectibles/chests.json 179 KB, pals.json 173 KB, breeding/matrix.json 165 KB.

Response samples

/api/v1/pals/anubis.json

{
  "meta": "{…}",
  "data": {
    "slug": "anubis",
    "id": "Anubis",
    "name": "Anubis",
    "paldeck": "139",
    "paldeck_no": 139,
    "variant": false,
    "elements": [
      "ground"
    ],
    "rarity": 10,
    "size": "M",
    "nocturnal": false,
    "male_probability": 0.5,
    "stats": {
      "hp": 120,
      "attack": 130,
      "defense": 100,
      "support": 100,
      "craft_speed": 100,
      "walk_speed": 160,
      "run_speed": 800,
      "ride_sprint_speed": 1000,
      "transport_speed": 480,
      "stamina": 100,
      "food": 8,
      "max_full_stomach": 540,
      "price": 3217
    },
    "movement": {
      "slow_walk": 80,
      "walk": 160,
      "run": 800,
      "ride_sprint": 1000,
      "transport": 480,
      "swim": 240,
      "swim_dash": 300
    },
    "lv80_range": {
      "hp": [
        5700,
        7140
      ],
      "attack": [
        880,
        1114
      ],
      "defense": [
        650,
        830
      ]
    },
    "work": {
      "handiwork": 6,
      "mining": 6,
      "transporting": 4
    },
    "damage_taken": {
      "grass": 2.0,
      "electric": 0.5
    },
    "active_skills": [
      {
        "skill": "stone-blast",
        "level": 1
      },
      {
        "skill": "power-bomb",
        "level": 7
      },
      {
        "skill": "sand-tornado",
        "level": 15
      },
      {
  …

/api/v1/breeding/anubis.json

{
  "meta": "{…}",
  "data": {
    "child": "anubis",
    "name": "Anubis",
    "breeding_class": "normal",
    "combi_rank": 480,
    "combo_count": 234,
    "combo_count_definition": "unordered parent pairs, the same-species pair included; a gender-dependent pair is listed under each child it can hatch",
    "earliest_pair": {
      "parents": [
        "blazamut",
        "dualith"
      ],
      "catch_level": 46
    },
    "pairs": [
      [
        "blazamut",
        "dualith"
      ],
      [
        "suzaku-aqua",
        "lyleen-noct"
      ],
      [
        "whalaska",
        "lyleen-noct"
      ],
      [
        "blazamut",
        "shadowbeak"
      ],
      [
  …

/api/v1/items.json

{
  "meta": "{…}",
  "data": [
    {
      "slug": "ability-glasses",
      "id": "Accessory_TalentChecker",
      "name": "Ability Glasses",
      "category": "Accessory",
      "subcategory": "Accessory",
      "rarity": 2,
      "price": 51600,
      "max_stack": 1,
      "image": "https://paltoolkit.com/img/items/ability-glasses-64.webp",
      "url": "https://paltoolkit.com/items/ability-glasses/",
      "api_url": "https://paltoolkit.com/api/v1/items/ability-glasses.json"
    },
    {
      "slug": "advanced-arrow",
      "id": "SFArrow",
      "name": "Advanced Arrow",
  …

Breeding matrix

/api/v1/breeding/matrix.json holds the child of every one of the 44,850 parent pairs as one flat array of Pal indexes (upper triangle, row-major), so a bot can answer "what do A and B make?" without another request. Katress + Wixen is the one pair whose child depends on the parents' genders: it is listed under gendered.

// pals[i], pals[j] with i <= j  ->  child index
const k = i * n - (i * (i - 1)) / 2 + (j - i);
const child = m.child[k] >= 0 ? m.pals[m.child[k]] : null;

Rate limits and caching

There is no key and no hard rate limit: the files are static and served from a CDN with long cache lifetimes, CORS (Access-Control-Allow-Origin: *) and gzip/brotli. Please cache on your side, send a descriptive User-Agent, and fetch the matrix or list endpoints instead of thousands of single files. Data changes only when the game is patched; compare meta.data_updated or index.json before refetching. The JSON files are not meant for search engines and are served with X-Robots-Tag: noindex.

Licence and attribution

Free for any use, including commercial bots and apps, under CC BY 4.0. Credit "Data by PalToolkit (paltoolkit.com)" with a link to paltoolkit.com in your README, bot help text or footer. Ready to paste: <a href="https://paltoolkit.com/?utm_source=api&utm_medium=referral&utm_campaign=api-credit">Data by PalToolkit (paltoolkit.com)</a> (the tags only tell us which projects use the data). Game data and images are © Pocketpair, Inc.; image URLs point at our CDN for convenience and are not licensed by us. The upstream open-source projects below are MIT licensed: keep their copyright notices if you redistribute the data in bulk (they are in index.json → sources). The same licence and the same rule apply to the JSON our own tools load from /data/: it holds only our own computations and facts from the MIT-licensed projects below.

SourceLicenceCopyrightUsed for
PalToolkitCC-BY-4.0PalToolkitbreeding results and pair lists (our engine, checked pair by pair against palcalc), earliest pairs, egg per Pal (element + rarity rule), spawn summaries, damage multipliers, Lv 80 stat ranges, slugs and URLs
palcalcMITCopyright 2024, Tyler CampPal names, stats, combi rank, work levels, active skills, passive skills, unique breeding combos, inheritance weights
palworld-atlas-dataMITCopyright (c) 2026 Adam Youngelements, gear, wild + alpha spawn points and levels, item table (id, name, category, rarity, price, stack)
PalEditMITCopyright (c) 2024 Jacob Lawrencesupport and work-speed stats, Oil Extraction level, Terraria Pal elements
palworld-knowledgeMITCopyright (c) 2026 GGarnizemovement speeds, alpha natural passives, passive availability and effects
PalDexMITCopyright (c) 2026 Catherine Renellealpha + bounty bosses, towers, oil rigs, effigies, journals, schematics, NPCs, merchants
pal-atlasMITCopyright (c) 2026 Ryexha, JenAriegg spawn spots, chests, skill-fruit trees
Palworld (Pocketpair, Inc.)game data and art (c) Pocketpair, Inc.Palworld (c) Pocketpair, Inc.all underlying game facts; images linked by URL are game art, not covered by the data licence

Not in the API

Some facts on the site come from sources whose terms do not let us relicense them, so the API leaves them out:

  • pals.partner_skill: only source is palworld.kimpton.io (no licence stated)
  • pals.drops: only source is palworld.kimpton.io (no licence stated)
  • pals.genus, pals.stats.melee, pals.ranch, pals.boss_locations: palworld.kimpton.io gap-fill
  • pals.capture_rate, pals.trust, pals.predator, pals.exp_ratio: palworld-save-pal (GPL-3.0) facts
  • items.recipe, items.stats, items.weight, items.drop_sources, items.tiers, items.ammo: palworld.kimpton.io item pages
  • technology, structures: palworld-save-pal (GPL-3.0) facts
  • collectibles: kinship_peach, enemy_camps, effigy rank costs: palworld-save-pal (GPL-3.0) facts
  • near (closest place name), u/v (map-image fractions): derived from palworld.kimpton.io map markers / our map art
  • images: Palworld art (c) Pocketpair: linked by URL on paltoolkit.com, never embedded, not covered by the data licence

Versioning and changelog

The URL carries the major version. Within v1 fields are only added, never renamed or removed; a breaking change ships as /api/v2/ and v1 stays online for at least six months. Data refreshes with each game patch (current: Palworld 1.0.5, data date 2026-09-29).

  • 1.0.0 (2026-10-01): First public release: Pals, breeding (per child + full matrix), items, passive skills, active skills, elements, eggs, bosses, collectibles, merchants, JS client. pals.json lists the full Paldeck; Astralym (#204) has breeding_class "none" and is not in the matrix.

Next step: get the child of any two Pals, every parent combo and the shortest breeding path in the Palworld breeding calculator.

Frequently asked questions

#
Is the PalToolkit API free?

Yes. There is no key, no sign-up and no fee. Credit "Data by PalToolkit (paltoolkit.com)" with a link to paltoolkit.com.

Can I use it in a Discord bot or a mod tool?

Yes, including commercial projects, under CC BY 4.0. Cache responses and fetch list or matrix files rather than thousands of single files.

How often is the data updated?

After each Palworld patch. The current data is Palworld 1.0.5; index.json shows the data date.

Does it include Pal images?

Each Pal and item has image URLs on paltoolkit.com. The images are Palworld art © Pocketpair, Inc. and are not covered by the data licence.