API Documentation
KanColle's API is a messy REST API that takes the word "redundant" to a new level.
Fortunately for us, all data is plain JSON authorized only by your API Token.
Less fortunately, all images and such are embedded into SWF files, and are a pain to get out of there.
All API Calls are POST Requests, and the base URL is http://[Server IP]/kcsapi/, where [Server IP] is the IP of the admiral's home server.
Talking to the wrong server will only get you errors.
All endpoints take two common parameters, which must be form-encoded in the request body:
-
api_token
The authorizing admiral's API Token; a 40-character hex string
-
api_verno
The API version; always 1
/api_get_master/ship
Returns information about all shipgirls known to the game (including enemies).
Warning: The response data is VERY BIG (>500kb).
Params:
Response: array
-
int
api_afterbull
Bullet cost for remodelling
-
int
api_afterfuel
Fuel cost for remodelling
-
int
api_afterlv
Minimum level for remodelling
-
int
api_aftershipid
ID of the next form after remodelling
-
int[2]
api_atap
Unused, always [ 0, 0 ]
-
int
api_backs
Rarity
-
int[2]
api_bakk
Unused, always [ 0, 0 ]
-
int[2]
api_baku
Unused, always [ 0, 0 ]
-
int[4]
api_broken
Deconstruction gain (Fuel, Ammo, Steel, Bauxite)
-
int
api_buildtime
The build time, in minutes
-
int
api_bull_max
Max bullet capacity (cost to resupply)
-
int
api_cnum
Index within its category
-
int
api_ctype
Class
-
int[4]
api_defeq
???
-
int
api_enqflg
Has this ship been encountered?
-
int
api_fuel_max
Max fuel capacity (cost to resupply)
-
string
api_getmes
Message upon getting her
-
int[8]
api_grow
Unused, always [0,0,0,0,0,0,0,0]
-
int[4]
api_gumax
Unused, always [ 0, 0, 0, 0 ]
-
int[2]
api_houg
Firepower (base, max)
-
int[2]
api_houk
Unknown (always [ 0, 0 ], but has equipment)
-
int[2]
api_houm
Unknown (always [ 0, 0 ], but has equipment)
-
int
api_id
Ship ID
-
int[2]
api_kaih
Evasion (base, max)
-
int
api_leng
Range
-
int[2]
api_luck
Luck (base, ???; not max)
-
int[4]
api_maxeq
Plane Capacity
-
string
api_name
Name
-
???
api_missions
??? (always null)
-
string
api_name
The ship's name, in Kanji
-
int[4]
api_powup
Powerups granted when used for modernization
-
int[2]
api_raig
Torpedo (base, max)
-
int[2]
api_raik
Unused, always [ 0, 0 ]
-
int[2]
api_raim
Unknown (always [ 0, 0 ], but has equipment)
-
int[2]
api_sakb
Unused, always [ 0, 0 ]
-
int[2]
api_saku
Line of Sight (base, max)
-
string
api_sinfo
Description for the Shipdex
-
int
api_slot_num
Number of equipment slots
-
int
api_sortno
Card Number
-
int[2]
api_souk
Armor (base, max)
-
int
api_stype
Ship Class
-
???
api_systems
??? (always null)
-
int[2]
api_taik
Endurance/Max HP (base, max)
-
int[2]
api_tais
Anti-Sub Warfare (base, max)
-
???[3]
api_touchs
Unused, always [ null, null, null ]
-
int[2]
api_tous
???
-
int[2]
api_tyku
Anti-Air
-
int
api_voicef
1 or 3 if the ship has extra voice clips, normally 0
-
string
api_yomi
The name's reading
/api_get_master/stype
Returns meta-info about ship types
Params:
Response: array
-
int
api_id
Ship type ID
-
int
api_sortno
Index in menus
-
string
api_name
Name of the class
-
int
api_scnt
???
-
int
api_kcnt
???
/api_get_master/furniture
Returns information about all available furniture in the game
Params:
Response: array
-
string
api_description
Description
-
int
api_id
ID of the item
-
int
api_no
Sort number within its category
-
int
api_price
Price, in furniture coins
-
int
api_rarity
Rarity
-
int
api_saleflg
Is this item sold without a furniture fairy?
-
int
api_title
Item Name
-
int
api_type
Type/Category
/api_get_master/slotitem
Returns information about all equippable items in the game
Params:
Response: array
-
int
api_atap
Unused value (Nothing boosts this)
-
int
api_bakk
Unused value (Nothing boosts this)
-
int
api_baku
Dive Bomber
-
int[4]
api_broken
Resources gained for deconstructing this item (Fuel, Ammo, Steel, Bauxite)
-
int
api_houg
Firepower
-
int
api_houk
Evasion
-
int
api_houm
Accuracy
-
int
api_id
ID of the item
-
string
api_info
Description of the item
-
int
api_leng
Range
-
int
api_luck
Luck Boost (nothing boosts this)
-
string
api_name
Name of the item
-
int
api_raig
Torpedo
-
int
api_raik
Unused value (Nothing boosts this)
-
int
api_raim
Unknown
-
int
api_rare
Rarity on a scale of 1-5
-
int
api_sakb
Unused (Nothing boosts this)
-
int
api_saku
Line of Sight
-
int
api_soku
Speed
-
int
api_sortno
Index within its category
-
int
api_souk
Armor (Nothing boosts this)
-
int
api_taik
Endurance/Max HP (Nothing boosts this)
-
int
api_tais
Anti-Sub
-
int
api_tyku
Anti-Air
-
int[4]
api_type
Type of the item?
-
string
api_usebull
Unused; always 0
/api_get_master/useitem
Returns information about all consumable items in the game
Params:
Response: array
-
int
api_id
The ID of the item
-
int
api_usetype
The type of the item
-
int
api_category
The category of the item
-
int
api_name
The name of the item
-
string[2]
api_description
Contains (Description, empty string)
/api_get_master/maparea
Returns information about sortie maps
Params:
Response: array
-
int
api_id
ID of the map
-
int
api_name
Name of the map
-
int
api_type
Type of the map; 0 for normal maps, not sure about others
/api_get_master/mapcell
???
Params:
Response: object
/api_get_member/basic
Returns information on the current admiral
Params:
Response: object
-
string
api_member_id
The admiral's numeric ID
-
string
api_member_nickname
The admiral's nickname (DMM.com username)
-
string
api_nickname_id
Unknown and unused, possibly the admirals DMM.com UID?
-
int
api_active_flag
Unknown, if they’ve gotten into the game, maybe? (1 for me)
-
int
api_starttime
Unix Timestamp for when the user’s current session started
-
int
api_level
The current user’s Admiral Level
-
int
api_rank
PvP Rank, not sure how this works… (8 for me)
-
int
api_experience
Probably the amount of Admiral Level EXP
-
string
api_fleetname
Not sure, the primary fleet’s name, maybe?
-
???
api_comment
???
-
string
api_comment_id
???
-
int
api_max_chara
Max number of shipgirls (100 for me)
-
int
api_max_slotitem
Max number of items held (497 for me)
-
int
api_max_kagu
Max number of furniture items held (0 for me, so… no limit?)
-
int
api_playtime
??? (0 for me)
-
int
api_tutorial
Whether to play the tutorial on login? (0 for me)
-
int[6]
api_furniture
The currently active furniture items
-
int
api_count_deck
The player’s max number of fleets
-
int
api_count_kdock
Number of available crafting docks
-
int
api_count_ndock
Number of available repair docks
-
int
api_fcoin
Current number of Furniture Coins possessed
-
int
api_st_win
Number of sorties won?
-
int
api_st_lose
Number of sorties lost?
-
int
api_ms_count
Total number of missions embarked on?
-
int
api_ms_success
Number of missions that were successful?
-
int
api_pt_win
Number of PvP battles won?
-
int
api_pt_lose
Number of PvP battles lost?
-
int
api_pt_challenged
Seems to be unused
-
int
api_pt_challenged_win
Seems to be unused
-
int
api_firstflag
Unknown (1 for me)
-
int
api_tutorial_progress
Percent progress through the tutorial (100 for me)
-
int[2]
api_pvp
Unknown, seems to be unused ([0, 0] for me)
/api_get_member/record
Returns more information about you
Params:
Response: array
-
string
api_member_id
The admiral's numeric ID
-
string
api_member_nickname
The admiral's nickname (DMM.com username)
-
string
api_nickname_id
Unknown and unused, possibly the admirals DMM.com UID?
-
string
api_cmt
Unknown, blank for me
-
string
api_cmt_id
Unknown, blank for me
-
string
api_photo_url
Unknown, blank for me
-
int
api_level
The current user’s Admiral Level
-
int
api_rank
PvP Rank, not sure how this works… (8 for me)
-
int[2]
api_experience
Admiral Level EXP and needed EXP
-
object
api_war
Sortie Stats
{ api_win: string, api_lose: string, api_rate: string }
-
object
api_mission
Expedition Stats
{ api_win: string, api_lose: string, api_rate: string }
-
object
api_practice
PvP Stats { api_win: string, api_lose: string, api_rate: string }
-
int
api_friend
Number of Friends? (there's no such thing)
-
int
api_deck
Number of Fleets
-
int
api_kdoc
Number of Construction Docks
-
int
api_ndoc
Number of Repair Docks
-
int[2]
api_ship
Number of Ships (current, max)
-
int[2]
api_slotitem
Number of Equippable Items (current, max)
-
int
api_furniture
Number of Furniture Items
-
int[2]
api_complate
???
-
string[2]
api_complate
??? (['0.0', '0.0'] for me)
-
int
api_material_max
Resource Cap
/api_get_member/ship
Returns information about your ships
Params:
Response: array
-
int
api_afterlv
Remodel level
-
int
api_aftershipid
Remodels into...
-
int
api_backs
Rarity
-
int[4]
api_baku
Seems unused...
-
int[4]
api_broken
Resources gained for deconstructing her
-
int
api_bull
Bullets held
-
int
api_bull_max
Bullet capacity
-
int
api_cond
Condition (fatigue)
-
int
api_exp
Total EXP
-
int
api_fuel
Fuel
-
int
api_fuel_max
Fuel capacity
-
???
api_gomes
??? (always null?)
-
???
api_gomes2
??? (always null?)
-
int[2]
api_houg
Firepower, with modernization (cur, max)
-
int[2]
api_houm
???
-
int
api_id
Her local ID (just an identifier in your deck)
-
int[2]
api_kaihi
Evasion, with equipment
-
int[2]
api_karyoku
Firepower, with modernization and equipment (cur, max)
-
int[4]
api_kyouka
Something to do with modernization
-
int
api_leng
Range
-
int[2]
api_luck
Luck, with modernizations (current, max)
-
int[2]
api_lucky
Luck, with modernization and equipment (current, max)
-
int
api_lv
Level
-
int
api_maxhp
Max HP
-
int
api_member_id
ID of her admiral
-
string
api_name
Her name, with Kanji
-
int[2]
api_ndock_item
Current cost to repair (Steel, Fuel)
-
int
api_ndock_time
Current repair time, in seconds
-
string
api_ndock_time_str
Current time to repair (in the format HH:MM:SS)
-
int
api_nowhp
Current HP
-
int[5]
api_onslot
???
-
int[4]
api_powup
Bonus when used for modernization, ( FP, TP, AA, AM )
-
int[2]
api_raig
Torpedo, with modernization (cur, max)
-
int[2]
api_raim
Seems unused (always [ 0, 0 ])
-
int[2]
api_raisou
Torpedo, with modernization and equipment (cur, max)
-
int[2]
api_saku
Line of Sight, with modernization (cur, max)
-
int[2]
api_sakuteki
Line of Sight, with modernization and equipment (cur, max)
-
int
api_ship_id
ID of the ship
-
int[5]
api_slot
What's equipped in each slot
-
int
api_slotnum
Available number of slots
-
int
api_soku
Speed
-
int
api_sortno
The number on the card
-
int
api_souk
Armor, with modernization (cur, max)
-
int
api_soukou
Armor, with modernization and equipment (cur, max)
-
int
api_srate
Always seems to be the same as api_star
-
int
api_star
Number of stars the ship has minus 1 (0-4)
-
int
api_stype
Ship Type
-
int[2]
api_taik
Endurance/Max HP (cur, max)
-
int[2]
api_taiku
Anti-Air, with modernization and equipment (cur, max)
-
int[2]
api_taisen
Anti-Sub (cur, max)
-
int[2]
api_tyku
Anti-Air, with modernization (cur, max)
-
int[2]
api_use_bull
Ammo cost per point to resupply
-
int[2]
api_use_fuel
Fuel cost per point to resupply
-
int[2]
api_voicef
1 or 3 if the ship has extra (hourly?) voice clips
-
string
api_yomi
Name, in Hiragana/Katakana
/api_get_member/deck
Returns information about your fleets
Params:
Response: array
-
int
api_member_id
The ID of the fleet's admiral
-
int
api_id
Local ID of the fleet
-
string
api_name
Name of the fleet
-
string
api_name_id
??? (Always "" for me)
-
int[4]
api_mission
The expedition the fleet is currently on (status, number, completion timestamp in ms, ???)
-
string
api_flagship
??? (always "0" for me)
-
int[6]
api_ship
Local ID of the ships in the fleet
/api_get_member/material
Returns information about your resources.
- Fuel
- Ammo
- Steel
- Bauxite
- Instant Construction
- Instant Repair
- Development Material
Params:
Response: array
-
int
api_member_id
ID of the admiral the resource belongs to
-
int
api_id
ID of the resource (see above)
-
int
api_value
Currently held amount
/api_get_member/ship2
???
Params:
Response: object
/api_get_member/ship3
???
Params:
Response: object
/api_get_member/ndock
Returns information about your repair docks.
Params:
Response: array
-
int
api_member_id
ID of the admiral who owns the dock
-
int
api_id
Local ID of the dock
-
int
api_state
State; 1 = Unused, 2 = Building, 3 = Finished
-
int
api_created_ship_id
ID of the ship that will be created
-
int
api_complete_time
When it'll be complete, msecs since epoch
-
string
api_complete_time_str
When it'll be complete, YYYY-MM-DD HH:MM:SS
-
int
api_item1
Fuel used
-
int
api_item2
Ammo used
-
int
api_item3
Steel used
-
int
api_item4
Bauxite used
/api_get_member/kdock
Returns information about your crafting docks.
Params:
Response: array
-
int
api_member_id
ID of the admiral who owns the dock
-
int
api_id
Local ID of the dock
-
int
api_state
State; 1 = Unused, 2 = Building, 3 = Finished
-
int
api_created_ship_id
ID of the ship that will be created
-
int
api_complete_time
??? (definitely not a timestamp...)
-
string
api_complete_time_str
When it'll be complete, YYYY-MM-DD HH:MM:SS
-
int
api_item1
Fuel used
-
int
api_item2
Ammo used
-
int
api_item3
Steel used
-
int
api_item4
Bauxite used
/api_get_member/furniture
Returns information about your furniture.
Params:
Response: array
-
int
api_member_id
ID of the admiral who owns it
-
int
api_id
Local ID of the item (equal to api_furniture_id)
-
int
api_furniture_type
Type/Category
-
int
api_furniture_no
Number within that category
-
int
api_furniture_id
ID of the actual item
/api_get_member/slotitem
Returns information about your equippable items.
Response is a subset of /apigetmaster/slotitem, with blank (but still present) apiinfo field, no apisortno and the extra response data listed below.
Yes, I was too lazy to write it all over again, you caught me.
Params:
Response: array
-
int[7]
api_flag
???
-
int
api_slotitem_id
???
/api_get_member/useitem
Returns information about your consumable items.
Params:
Response: array
-
int
api_member_id
ID of the admiral who owns the item
-
int
api_id
ID of the item
-
int
api_value
Value of the item, in fcoins
-
int
api_usetype
-
int
api_category
-
string
api_name
Name of the item
-
string[2]
api_description
Description of the item followed by an empty string (WHY)
-
int
api_price
Price of the item?
-
int
api_count
How many of them you have
/api_get_member/actionlog
Returns a journal of sorts of past in-game events.
Params:
Response: array
-
int
api_no
An index
-
string
api_type
??? (actually an int)
-
string
api_type
??? (actually an int)
-
string
api_message
Short, human-readable message for what happened
/api_get_member/logincheck
???
Params:
Response: object
-
int
api_add_material_flag
???
/api_req_hokyu/charge
Called when you resupply your ships
Params:
Response: object
-
array
api_ship
Ships resupplied
[ { api_id: int, api_fuel: int, api_bull: int, api_onslot: array } ]
-
array
api_material
Materials remaining
-
int
api_use_bou
Bauxite used
/api_req_map/start
Starts a sortie
Params:
-
api_formation
???
-
api_deck_id
Fleet ID?
Response:
/api_req_sortie/battle
Tells the client what happened during a day battle
Params:
Response:
-
int
api_dock_id
ID of the fleet
-
array
api_nowhps
New hp of ships
/api_req_sortie/battleresult
Final results of a battle
Params:
Response:
-
array
api_ship_id
Enemy ships that participated
-
string
api_win_rank
The rank achieved (S/A/B/C/D)
-
int
api_get_exp
???
-
int
api_mvp
Index of the ship that got mvp (1 indexed)
-
int
api_member_lv
Admiral level
-
int
api_member_exp
Admiral experience to next level (total)?
-
int
api_get_base_exp
Admiral experience obtained
-
array
api_get_ship_exp
Ship experience obtained
-
array>
api_get_ship_exp
Ship experience to next level/final level (total)?
looks like: [ [ x, x, ... ], [ x, x, ... ] ]
-
int
api_dests
???
-
int
api_destsf
???
-
array
api_lost_flag
Whether ships were lost
-
string
api_quest_name
The name for the sortie
-
int
api_quest_level
The level of the sortie
-
object
api_enemy_info
???
-
int
api_first_clear
First time clearing this sortie?
-
array
api_get_flag
??? (Flags for internal use?)
-
object
api_get_ship
Information about the ship obtained
{ api_ship_id: int, api_ship_type: string,
api_ship_name: string, api_ship_getmes: string }
-
int
api_get_eventflag
??? (Flags about ongoing event?)
/api_req_battle_midnight/battle
Tells the client what happened during a night battle
Params:
Response: