BitBusters.club API Documentation

We provide free access to our Chip's Challenge data for use in non-commercial applications

GET Levels

Fetches properties (title, password, designer, time limit, etc.) of official level packs, community level packs and all levels within these packs

Lookup URLs
/packs: summary for all packs tracked on the scores site [example lookup]
  • pack: unique alphanumeric identifier for the pack, one of cc1, cclp1, cclp2, cclp3, cclp4, cc2, cc2lp1, cclp5
  • long_desc: full name for the level pack
  • short_desc: shorter abbreviated name for the level pack
  • level_count: number of levels in the pack
  • valid_configs: array of valid rule type and metric configurations for the pack
    • rule_type: all tracked rule types for this pack, one of ms, lynx, steam
    • metric: all tracked metrics for this pack, one of time, score
/packs/<pack>: summary for one specific level pack, same output as full pack lookup above [example lookup]
/packs/<pack>/levels: listing of all levels within one specific pack [example lookup]
  • level: numeric level identifier, unique within the same pack
  • name: level title
  • game: game identifier (CC1/CC2)
  • pack: level pack identifier
  • designers: comma-separated list of level designer names
  • adapted: boolean, true if the level's design was adapted from another work otherwise false
  • password (optional): 4-letter password for CC1 levels
  • password_note (optional): special notes regarding the password, such as password differences between rule types
  • time_limit: the level's time limit, 0 if unlimited time
  • chips_required: the number of chips which must be collected to clear a socket in the level, if one is present
  • total_chips: the total number of chips available in the level
  • chips_note (optional): special notes regarding chips required or total chips, such as differences between rule types or whether the level can be solved without picking up all required chips
  • wiki_article: a link to the level's Bit Busters wiki article
  • ms_map (optional): a link to a map of the level using the Microsoft tileset, if applicable
  • tw_map (optional): a link to a map of the level using the Tile World tileset, if applicable
  • steam_map (optional): a link to a map of the level using the Steam tileset, if applicable
  • level_attribs: array of additional level attributes which may differ between rule type and metric
    • rule_type: rule type identifier for the attributes that follow, one of {ms, lynx, steam}
    • metric: metric identifier for the attributes that follow, one of {time, score}
    • attribs: array containing additional level attributes
      • melinda: the highest theoretically possible score
      • highest_reported: the highest reported score to date, also known as the bold score
      • highest_public: the highest score reported to an official public repo to date, if public scores are tracked for the pack
      • highest_confirmed: the highest confirmed score to date, if confirmed scores are tracked for the pack. NULL if no confirmed score yet
      • casual_diff: difficulty for a casual player to solve this level for the first time, a rating between 1 and 5
      • exec_diff: difficulty to execute the bold route for this level, a rating between 1 and 5
      • luck_diff: additional difficulty for executing the bold route due to the presence of luck elements, a rating between 1 and 5 or 0 if the level contains no luck elements
      • routing_diff: difficulty to find the bold route for this level, a rating between 1 and 5
/packs/<pack>/levels/<level number>: summary for one specific level, same output as full level listing above [example lookup]

GET Custom Packs

Fetches information of any custom level packs in our database and all levels within these packs

Lookup URLs
/custom-packs: a listing of all custom packs [example lookup]
  • id: unique numeric identifier for the pack
  • pack_name: full name for pack
  • display_name: for CC2 packs, this is the game name specified in the .c2g file
  • game: one of CC1 or CC2
  • pack_type: type of pack, one of Regular set, Official set, Competition set, Voting pack, Compilation set, Rediscovered set, Bug demonstration, Official set variant, Official set mod
  • level_count: number of levels contained within the pack
  • description: a description for the pack set by the pack author
  • release_date: the datetime the pack was added to the database
  • last_updated: last modified datetime of the pack in the database
  • file_name: name of the pack file
  • file_size: size of the pack file in bytes
  • download_url: a URL to download the pack. For CC1 packs, this will be a .dat or .ccl file. For CC2 packs, this will be a .zip file. NULL if the set is not authorized for download by the author or for copyright reasons
/custom-packs/<cc1|cc2>: a listing of all customer packs within only CC1 or CC2, same output as full pack lookup above [example lookup]
/custom-packs/<cc1|cc2>/<pack_id>: summary for one specific level pack, same output as full pack lookup above [example lookup]
/custom-packs/<cc1|cc2>/<pack_id>/levels: listing of all levels within one specific pack [example lookup]
  • level: numeric level identifier, unique within the same pack
  • name: level title
  • designer: the name of the level designer, which may differ from the pack owner. For CC1 packs, this is the author field in the .dat file. For CC2 packs, this is the author field in the .c2m file
  • password: 4-letter password for CC1 levels
  • time_limit: the level's time limit, 0 if unlimited time
  • chips_required: the number of chips which must be collected to clear a socket in the level, if one is present
  • total_chips: the total number of chips available in the level
  • width: width of the level in tiles
  • height: height of the level in tiles
  • hint: hint appearing within the level, if any
  • download_url: only valid for CC2 levels, direct download for the level's .C2M file

GET Players

Fetches information about players/level designers tracked on the Chip's Challenge high scores at scores.bitbusters.club

Lookup URLs
/players: summary of all players tracked on the scores site [example lookup]
/players/<id>: summary for one specific player [example lookup]
  • player_id: unique numeric identifier for player
  • player: preferred player name
  • designer (optional): preferred credited name for level design purposes, if different from player
  • other_names (optional): other aliases this player may go by
  • country (optional): player's country of residence
  • score_summary : summary of scores submitted by player, empty array if no scores submitted
    • pack: unique alphanumeric identifier for the pack, one of {cc1, cclp1, cclp2, cclp3, cclp4, cc2, cc2lp1, cclp5}
    • rule_type: all tracked rule types for this pack, one of {ms, lynx, steam}
    • metric: all tracked metrics for this pack, one of {time, score}
    • avg_ranking: average level ranking achieved within the pack
    • calc_score: sum of scores achieved on all levels for the full pack
    • bold_count: number of bolds achieved within the pack
  • designed_levels : summary of levels designed by player, empty array if no levels designed
    • pack: unique alphanumeric identifier for the pack, one of {cc1, cclp1, cclp2, cclp3, cclp4, cc2, cc2lp1, cclp5}
    • level_count: number of levels designed in this pack