Endpoints 5
GET https://paliapal.com/api/parties | Every party coming up or on now: { parties: [party], presets } |
GET https://paliapal.com/api/parties?past=1 | Finished in the last week, newest first |
GET https://paliapal.com/api/parties?id=<id> | { party, hostRep }: one party, and its host's record { hosted, came, noshow, thanks } |
GET https://paliapal.com/api/parties?host=<hk> | { ign, rep, parties }: one host's parties (coming up and the last week) |
GET https://paliapal.com/api/parties?id=<id>&ics=1 | A calendar file for one party |
A party 15
id | The party's id; its page is https://paliapal.com/#party/<id> |
cat | Kind: cooking, bugs, hunting, fishing, foraging, mining, gardening, ranching, quests, events, social, spiritfest, other |
act | { kind, name, preset }: the dish, bug, creature, fish, accomplishment or world event it's for |
title | The name |
at, end | Start and end, in milliseconds since 1970 (UTC) |
phase | soon, starting, on, over or cancelled |
where | { region, grid }: a region and an optional map square |
spots, going | People it takes (with the host) and how many are going |
roles | [{ id, name, need: [[item, qty]], spots, extra, n }]: n = signed up |
host | { ign, platform } |
hk | The host key: the same for all of one host's parties (never their account) |
join | How people get in: world, friends, discord or invite |
rules, beginner, star, stream, repeat, lock, lockAt, early | The host's settings |
note, how | The host's short note and instructions |
waiting, thanks | Counts |
Who signed up, the World ID and the chat are never in the API: only the host and the people signed up see them, in the app.
Stream overlay
A ready-made overlay for OBS and Streamlabs, built on the same data. Add it as a Browser source:
https://paliapal.com/overlay?host=<hk> | The host's party on now, else their next one (about 560 × 260). Hosts copy it from their party page. |
https://paliapal.com/overlay?party=<id> | One party |
&look=bar | A lower-third bar (about 1280 × 90) |
&theme=light | Light colours |
&hide=1 | Fade out when there's no party |
Viewers sign up at paliapal.com/party/<id>, which opens the party in Palia Pal.
Example
const r = await fetch('https://paliapal.com/api/parties');
const { parties } = await r.json();
for (const p of parties.filter((x) => x.cat === 'cooking'))
console.log(p.title, new Date(p.at), `${p.going}/${p.spots}`, `https://paliapal.com/#party/${p.id}`);Questions
Do I need a key?
No. The read-only endpoints are public, with CORS open to every site, and cached for a minute at the edge.
Can I sign people up from my own site or bot?
Not through the API: signing up needs the player's own Palia Pal account. Link to the party's page, or use the /parties commands in Discord.
Are there rules?
Be kind to the server (poll at most once a minute), link back to the party on Palia Pal, and don't collect in-game names from it: it has none. Hosts can ask to be left out by writing to hello@paliapal.com.