stat.ink API for Splatoon 2 (1.0.0)

Download OpenAPI specification:Download

Authentication

APITokenAuth

An API Token with bearer auth format.

The API Token is issued for each user by stat.ink system. It can be obtained from the user settings page.

Example: Authorization: Bearer sD093VHLHW41b9xdaM7zVpyIX2TbIornR0h47RaUNGA

Security Scheme Type HTTP
HTTP Authorization Scheme bearer

battle

Get user's battle stats

Returns specified user's stats (e.g., how many kills)

Responses

Response samples

Content type
application/json
{
  • "updated_at":
    {
    },
  • "entire":
    {
    },
  • "nawabari":
    {
    },
  • "gachi":
    {
    }
}

general

Get gears

Returns an array of gear information

HTML version: Headgear / Clothing / Shoes

query Parameters
type
string
Enum: "clothing" "headgear" "shoes"

Filter by gear category

keyGear category
clothingClothing
headgearHeadgear
shoesShoes
brand
string
Enum: "amiibo" "annaki" "cuttlegear" "enperry" "firefin" "forge" "grizzco" "inkline" "krak_on" "rockenberg" "skalop" "splash_mob" "squidforce" "takoroka" "tentatek" "toni_kensa" "zekko" "zink"

Filter by brand

keyBrand
amiiboamiibo
annakiAnnaki
cuttlegearCuttlegear
enperryEnperry
firefinFirefin
forgeForge
grizzcoGrizzco
inklineInkline
krak_onKrak-On
rockenbergRockenberg
skalopSkalop
splash_mobSplash Mob
squidforceSquidForce
takorokaTakoroka
tentatekTentatek
toni_kensaToni Kensa
zekkoZekko
zinkZink
ability
string
Enum: "ability_doubler" "bomb_defense_up" "bomb_defense_up_dx" "cold_blooded" "comeback" "drop_roller" "haunt" "ink_recovery_up" "ink_resistance_up" "ink_saver_main" "ink_saver_sub" "last_ditch_effort" "main_power_up" "ninja_squid" "object_shredder" "opening_gambit" "quick_respawn" "quick_super_jump" "respawn_punisher" "run_speed_up" "special_charge_up" "special_power_up" "special_saver" "stealth_jump" "sub_power_up" "swim_speed_up" "tenacity" "thermal_ink"

Filter by primary ability

keyAbility
ability_doublerAbility Doubler
bomb_defense_upBomb Defense Up
bomb_defense_up_dxBomb Defense Up DX
cold_bloodedCold-Blooded
comebackComeback
drop_rollerDrop Roller
hauntHaunt
ink_recovery_upInk Recovery Up
ink_resistance_upInk Resistance Up
ink_saver_mainInk Saver (Main)
ink_saver_subInk Saver (Sub)
last_ditch_effortLast-Ditch Effort
main_power_upMain Power Up
ninja_squidNinja Squid
object_shredderObject Shredder
opening_gambitOpening Gambit
quick_respawnQuick Respawn
quick_super_jumpQuick Super Jump
respawn_punisherRespawn Punisher
run_speed_upRun Speed Up
special_charge_upSpecial Charge Up
special_power_upSpecial Power Up
special_saverSpecial Saver
stealth_jumpStealth Jump
sub_power_upSub Power Up
swim_speed_upSwim Speed Up
tenacityTenacity
thermal_inkThermal Ink

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get gears in CSV format

Returns all of gear information in CSV (RFC 4180) format.

As the number of supported languages changes, the position of items may change.

Be sure to check the header on the first line (or use JSON version) if you use this data for automatic processing.

HTML version: Headgear / Clothing / Shoes

query Parameters
type
string
Enum: "clothing" "headgear" "shoes"

Filter by gear category

keyGear category
clothingClothing
headgearHeadgear
shoesShoes
brand
string
Enum: "amiibo" "annaki" "cuttlegear" "enperry" "firefin" "forge" "grizzco" "inkline" "krak_on" "rockenberg" "skalop" "splash_mob" "squidforce" "takoroka" "tentatek" "toni_kensa" "zekko" "zink"

Filter by brand

keyBrand
amiiboamiibo
annakiAnnaki
cuttlegearCuttlegear
enperryEnperry
firefinFirefin
forgeForge
grizzcoGrizzco
inklineInkline
krak_onKrak-On
rockenbergRockenberg
skalopSkalop
splash_mobSplash Mob
squidforceSquidForce
takorokaTakoroka
tentatekTentatek
toni_kensaToni Kensa
zekkoZekko
zinkZink
ability
string
Enum: "ability_doubler" "bomb_defense_up" "bomb_defense_up_dx" "cold_blooded" "comeback" "drop_roller" "haunt" "ink_recovery_up" "ink_resistance_up" "ink_saver_main" "ink_saver_sub" "last_ditch_effort" "main_power_up" "ninja_squid" "object_shredder" "opening_gambit" "quick_respawn" "quick_super_jump" "respawn_punisher" "run_speed_up" "special_charge_up" "special_power_up" "special_saver" "stealth_jump" "sub_power_up" "swim_speed_up" "tenacity" "thermal_ink"

Filter by primary ability

keyAbility
ability_doublerAbility Doubler
bomb_defense_upBomb Defense Up
bomb_defense_up_dxBomb Defense Up DX
cold_bloodedCold-Blooded
comebackComeback
drop_rollerDrop Roller
hauntHaunt
ink_recovery_upInk Recovery Up
ink_resistance_upInk Resistance Up
ink_saver_mainInk Saver (Main)
ink_saver_subInk Saver (Sub)
last_ditch_effortLast-Ditch Effort
main_power_upMain Power Up
ninja_squidNinja Squid
object_shredderObject Shredder
opening_gambitOpening Gambit
quick_respawnQuick Respawn
quick_super_jumpQuick Super Jump
respawn_punisherRespawn Punisher
run_speed_upRun Speed Up
special_charge_upSpecial Charge Up
special_power_upSpecial Power Up
special_saverSpecial Saver
stealth_jumpStealth Jump
sub_power_upSub Power Up
swim_speed_upSwim Speed Up
tenacityTenacity
thermal_inkThermal Ink

Responses

Response samples

Content type
text/csv
headgear,rockenberg,18k_aviators,3008,last_ditch_effort,Sonnenbrille 18K,18K Aviators,18K Aviators,Gafas aviador oro,Gafas aviador retro,Lunettes de soleil 18 ct,Lunettes de soleil 18 carats,Occhiali da sole 18K,タレサン18K,18K aviatorbril,Золотые «авиаторы»,18K金飞行墨镜,18K Aviators
headgear,enperry,anglerfish_mask,24003,,Seeteufel-Maske,Anglerfish Mask,Anglerfish Mask,Máscara de rape abisal,Máscara abisal,Masque de baudroie,Masque de baudroie,Maschera da pesce abissale,アンコウラバーマスク,Voetbalvismasker,Маска удильщика,安康鱼面具,Anglerfish Mask
headgear,annaki,annaki_beret,2009,ink_resistance_up,Annaki-Barrett,Annaki Beret,Annaki Beret,Boina Annak,Boina Annak,Béret Aroz,Béret Aroz,Berretto con spilla,アナアキアンピンベレー,Annaki-baret,Берет с булавкой,无府贝雷帽,Annaki Beret
headgear,annaki,annaki_beret_and_glasses,3015,ink_saver_main,Annaki-Barrett mit Brille,Annaki Beret & Glasses,Annaki Beret & Glasses,Boina Annak con gafas,Boina Annak con gafas,Béret et lunettes Aroz,Béret et lunettes Aroz,Berretto Annak con occhiali,アナアキバスクベレー,Annaki-baret met zonnebril,Комплект «Револют»,无府贝雷帽与眼镜,Annaki Beret & Glasses
headgear,annaki,annaki_mask,8005,opening_gambit,Annaki-Mundschutz,Annaki Mask,Annaki Mask,Mascarilla Annak,Tapabocas negra y roja,Masque Aroz,Masque Aroz,Mascherina Annak,アナアキマスク,Annaki-mondkapje,Маска «Неформал»,无府口罩,Annaki Mask

Get modes

Returns an array of mode information

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get stages

Returns an array of stage information

HTML version

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Get weapons

Returns an array of weapon information

HTML version

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get weapons in CSV format

Returns all of weapon information in CSV (RFC 4180) format.

As the number of supported languages changes, the position of items may change.

Be sure to check the header on the first line (or use JSON version) if you use this data for automatic processing.

HTML version

Responses

Response samples

Content type
text/csv
shooter,shooter,sshooter,quickbomb,chakuchi,sshooter,sshooter,40,Kleckser,Splattershot,Splattershot,Lanzatintas,Rociador,Liquéficateur,Liquidateur,Splasher,スプラシューター,Superspetter,Каплестрел,小绿,Splattershot
shooter,shooter,sshooter_collabo,splashbomb,jetpack,sshooter,sshooter_collabo,41,Tentatek-Kleckser,Tentatek Splattershot,Tentatek Splattershot,Lanzatintas B,Rociador Tentáctica,Liquéficateur Tentatek,Liquidateur griffé,Splasher logo,スプラシューターコラボ,Tentatek Superspetter,Каплестрел «Щуччи»,东海堂贴牌小绿,Tentatek Splattershot
shooter,shooter,sshooter_becchu,kyubanbomb,missile,sshooter,sshooter_becchu,42,Kensa-Kleckser,Kensa Splattershot,Kensa Splattershot,Lanzatintas elegante,Rociador Tonken,Liquéficateur Thony K,Liquidateur K,Splasher Nero Marlin,スプラシューターベッチュー,Toni Kensa Superspetter,Каплестрел от С. Кусаки,剑乌贼丸贴牌小绿,Kensa Splattershot
shooter,shooter,heroshooter_replica,quickbomb,chakuchi,sshooter,sshooter,45,Heldenwaffe Replik,Hero Shot Replica,Hero Shot Replica,Pistola de Élite (réplica),Rociador de élite réplica,Liquéfi. héroïque (rép.),Lanceur héroïque (réplique),Pistola élite replica,ヒーローシューター レプリカ,Heldenspetter (replica),Каплестрел-004 (клон),复刻英雄枪,Hero Shot Replica
shooter,shooter,octoshooter_replica,splashbomb,jetpack,sshooter,sshooter_collabo,46,Octo Shot Replica,Octo Shot Replica,Octo Shot Replica,Pistola octariana (réplica),Pistola octariana réplica,Liquéfi. octarien (rép.),Lanceur Octaling (réplique),Octo Shot Replica,オクタシューター レプリカ,Octo Shot Replica,Octo Shot Replica,复刻章鱼小枪,Octo Shot Replica

obsoleted

Get stages (obsoleted)

This API has been obsoleted.

Use /api/v2/stage instead of this.

Responses

salmon

Get Salmon Run results

Returns Salmon Run results.

query Parameters
screen_name
string [0-9a-zA-Z_]{1,15}

Filter by user

This parameter is required if you set only = splatnet_number.

only
string
Value: "splatnet_number"

Change the result set

Value
splatnet_numberReturns only SplatNet's ID Numbers
stage
string ^[a-z0-9_]+$
Enum: "dam" "donburako" "polaris" "shaketoba" "tokishirazu"

Filter by stage

keyStage
damSpawning Grounds
donburakoMarooner's Bay
polarisRuins of Ark Polaris
shaketobaLost Outpost
tokishirazuSalmonid Smokeyard
newer_than
integer <int32>

Filter by permanent ID

You'll get newer_than < id < older_than.

older_than
integer <int32>

Filter by permanent ID

You'll get newer_than < id < older_than.

order
string
Default: "desc"
Enum: "asc" "desc" "splatnet_asc" "splatnet_desc"

Result order

key
ascOlder to newer
descNewer to older (default in most case)
splatnet_ascSplatNet number small to big
splatnet_descSplatNet number big to small (default if "only" = "splatnet_number")
count
integer <int32> [ 1 .. 1000 ]
Default: 50

Max records to get

Accepts 1-1000 (if only = splatnet_number)
Accepts 1-50 (otherwise)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Post Salmon Run results

Post Salmon Run results

Authorizations:
Request Body schema:
uuid
string

A unique ID to identify the results

Client application should specify a UUID to detect duplicated shift.

How to create the UUID:

  • SplatNet 2 based Application

    • Generate a UUID version 5 with namespace 418fe150-cb33-11e8-8816-d050998473ba.

      Use "splatnet_number@principal_id" format. (Example: 5436@3f6fb10a91b0c551)
      uuid_v5("418fe150-cb33-11e8-8816-d050998473ba", sprintf("%d@%s", number, principal_id))

  • Standalone Application (e.g., user's input or screen capture)

    • Nothing send (Disabled duplicate detection)
    • Generate a UUID version 4 on your side
    • Generate a UUID version 3 or 5 on your side with your own namespace

The API endpoint will return 302 Found if job has same UUID posted in last 24 hours.
This is helpful for unintended duplication, but it is helpless for complate detect duplication.

We recommend posting by the following procedure:

  1. Call GET /api/v2/user-salmon?only=splatnet_number and retrieve already posted shift numbers.

  2. Fetch data from SplatNet 2.

  3. Filter unposted shifts and post to us.

About UUID, refer RFC 4122.

If omitted, we will automatically generate a random UUID.

If the value is not correct as a UUID, we will use that value as a seed to generate a UUID. Do not rely on this behavior.

splatnet_number
integer <int32>

SplatNet specified ID

stage
string ^[a-z0-9_]+$
Enum: "dam" "donburako" "polaris" "shaketoba" "tokishirazu"

Stage

keyStageSplatNet specified ID
damSpawning Grounds/images/coop_stage/65c68c6f0641cc5654434b78a6f10b0ad32ccdee.png
donburakoMarooner's Bay/images/coop_stage/e07d73b7d9f0c64e552b34a2e6c29b8564c63388.png
polarisRuins of Ark Polaris/images/coop_stage/50064ec6e97aac91e70df5fc2cfecf61ad8615fd.png
shaketobaLost Outpost/images/coop_stage/6d68f5baa75f3a94e5e9bfb89b82e7377e3ecd2c.png
tokishirazuSalmonid Smokeyard/images/coop_stage/e9f7c7b35e6d46778cd3cbc0d89bd7e1bc3be493.png
clear_waves
integer <int32> [ 0 .. 3 ]

How many cleared waves

3 if cleared. 0 if failed in wave 1.

fail_reason
string ^[a-z0-9_]+$
Enum: "time_limit" "wipe_out"

Fail reason

null or empty string if cleared or unknown

keyReason
time_limitTime is up
wipe_outWipe out
title
string ^[a-z0-9_]+$
Enum: "intern" "apprentice" "part_timer" "go_getter" "overachiever" "profreshional"

Title (before the shift)

keyTitleSplatNet specified ID
internIntern
apprenticeApprentice1
part_timerPart-Timer2
go_getterGo-Getter3
overachieverOverachiever4
profreshionalProfreshional5
title_exp
integer <int32> [ 0 .. 999 ]

Title points (before the shift)

40 if Profreshional 40 of 999

title_after
string ^[a-z0-9_]+$
Enum: "intern" "apprentice" "part_timer" "go_getter" "overachiever" "profreshional"

Title (after the shift)

title_exp_after
integer <int32> [ 0 .. 999 ]

Title points (after the shift)

40 if Profreshional 40 of 999

danger_rate
number <float> decimal places <= 1 [ 0 .. 200 ]

Hazard Level, 200.0 = "Hazard Level MAX!!"

object

Boss appearances

If your client doesn't/cannot detect this data, omit this field or send just null.

If not appearances the boss, you can send 0 or omit the boss.

{
  "boss_appearances": null, // OK
}

{
  "boss_appearances": { // OK: you can omit bosses if not necessary.
  },
}

{
  "boss_appearances": {
    "scrapper": 0, // OK: you can send 0
  },
}
keyBossSplatNet specified ID
drizzlerDrizzler21sakerocket
flyfishFlyfish9sakelien-cup-twins
goldieGoldie3sakelien-golden
grillerGriller16sakedozer
mawsMaws15sakediver
scrapperScrapper12sakelien-shield
steel_eelSteel Eel13sakelien-snake
steelheadSteelhead6sakelien-bomber
stingerStinger14sakelien-tower
Array of objects (__2fmy__Wave) [ 1 .. 3 ] items

Information about each wave

If your client doesn't/cannot detect this data, omit this field or send just null.

object (__2id7__Player)

Player's data

Array of objects (__2id7__Player) [ 1 .. 3 ] items

Crew members' (except my_data) data, typically have 3 elements

shift_start_at
integer <int64>

The time when this rotation (play window) started in unix time format.

start_at
integer <int64>

The time when this shift started in unix time format.

end_at
integer <int64>

The time when this shift ended in unix time format.

Note: this value may not be in SplatNet JSON.

note
string

User note

private_note
string

User's private note

link_url
string <uri>

URL that related to this post. (e.g., YouTube video)

automated
string
Enum: "yes" "no"

Is automated posting process?

value
yesIf automated.
noIf manual input.

Choose no if this user's posts may be arbitrarily selected.

agent
string <= 64 characters

Name of your client

This parameter is required if agent_version set.

agent_version
string <= 255 characters

Version of your client

This parameter is required if agent set.

Responses

Request samples

Content type
{
  • "uuid": "4c705dd6-7a22-5f04-865d-d87413b0970d",
  • "splatnet_number": 5436,
  • "stage": "tokishirazu",
  • "clear_waves": 1,
  • "fail_reason": "wipe_out",
  • "title": "profreshional",
  • "title_exp": 410,
  • "title_after": "profreshional",
  • "title_exp_after": 405,
  • "danger_rate": 174.2,
  • "boss_appearances":
    {
    },
  • "waves":
    [
    ],
  • "my_data":
    {
    },
  • "teammates": null,
  • "shift_start_at": 1573106400,
  • "start_at": 1573151096,
  • "end_at": null,
  • "note": null,
  • "private_note": null,
  • "link_url": null,
  • "automated": "yes",
  • "agent": "splatnet2statink",
  • "agent_version": "1.5.3"
}

Get the Salmon Run results

Returns the Salmon Run results.

path Parameters
id
required
integer <int32>

Permanent ID of the results

Responses

Response samples

Content type
application/json
{
  • "id": 137857,
  • "uuid": "4c705dd6-7a22-5f04-865d-d87413b0970d",
  • "splatnet_number": 5436,
  • "stage":
    {
    },
  • "is_cleared": false,
  • "fail_reason":
    {
    },
  • "clear_waves": 1,
  • "danger_rate": "174.2",
  • "quota":
    [
    ],
  • "title":
    {
    },
  • "title_exp": 410,
  • "title_after":
    {
    },
  • "title_exp_after": 405,
  • "boss_appearances":
    {
    },
  • "waves":
    [
    ],
  • "my_data":
    {
    },
  • "teammates": null,
  • "agent":
    {
    },
  • "automated": true,
  • "note": null,
  • "link_url": null,
  • "shift_start_at":
    {
    },
  • "start_at":
    {
    },
  • "end_at": null,
  • "register_at":
    {
    }
}

Get Salmon Run results (with Auth)

Returns Salmon Run results.

You can only get data for user who is authenticated by API token.

Authorizations:
query Parameters
only
string
Value: "splatnet_number"

Change the result set

Value
splatnet_numberReturns only SplatNet's ID Numbers
stage
string ^[a-z0-9_]+$
Enum: "dam" "donburako" "polaris" "shaketoba" "tokishirazu"

Filter by stage

keyStage
damSpawning Grounds
donburakoMarooner's Bay
polarisRuins of Ark Polaris
shaketobaLost Outpost
tokishirazuSalmonid Smokeyard
newer_than
integer <int32>

Filter by permanent ID

You'll get newer_than < id < older_than.

older_than
integer <int32>

Filter by permanent ID

You'll get newer_than < id < older_than.

order
string
Default: "desc"
Enum: "asc" "desc" "splatnet_asc" "splatnet_desc"

Result order

key
ascOlder to newer
descNewer to older (default in most case)
splatnet_ascSplatNet number small to big
splatnet_descSplatNet number big to small (default if "only" = "splatnet_number")
count
integer <int32> [ 1 .. 1000 ]
Default: 50

Max records to get

Accepts 1-1000 (if only = splatnet_number)
Accepts 1-50 (otherwise)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Salmon Run stats (card data)

Returns Salmon Run stats.

You can only get data for user who is authenticated by API token.

Authorizations:
query Parameters
id
integer <int32> >= 1

Permanent ID

If you omitted the id, you will get a latest data.

The value of id is obtained in the Location header of the POST API.

If you specified other player's id value, you will get the 404 error.

Responses

Response samples

Content type
application/json
{
  • "work_count": 388,
  • "total_golden_eggs": 4886,
  • "total_eggs": 177331,
  • "total_rescued": 780,
  • "total_point": 47034,
  • "as_of":
    {
    },
  • "registered_at":
    {
    }
}

Post Salmon Run stats (card data)

Post Salmon Run stats (card data)

Authorizations:
Request Body schema:
work_count
integer <int32> >= 0

Shifts (jobs) worked

total_golden_eggs
integer <int32> >= 0

Golden Eggs collected

total_eggs
integer <int32> >= 0

Power Eggs collected

total_rescued
integer <int32> >= 0

Crew members rescued

total_point
integer <int32> >= 0

Total points

as_of
integer <int64> >= 1538528400

When this data was acquired in Unix timestamp

Current date time will be used if omitted

Responses

Request samples

Content type
{
  • "work_count": 5436,
  • "total_golden_eggs": 77806,
  • "total_eggs": 3042663,
  • "total_rescued": 13258,
  • "total_point": 966048,
  • "as_of": 1573153685
}