Skip to content

lejeunerenard/ballchasing-api

Repository files navigation

ballchasing.com API Client

A Typescript client library for querying ballchasing.com built using Effect.

Usage

import { getClient } from '@lejeunerenard/ballchasing-api/easy'

const client = await getClient('YOUR_AUTH_KEY')

// Single Group
const group = await client.groups.get('2v2-w-scott-2023-12-20-kunazcz10y')
console.log('Single group', group)

// Group List
const groups = await client.groups.list({
  creator: '76561197987055788' // SteamID
})
console.log('Groups', groups)

// Replay list
const meId = 'epic:9152ab3ef0bd44b59de47ca639ca7010'
const replays = await client.replays.list({
  uploader: 'me',
  'player-id': [meId]
})
console.log('Replays', replays)

// Single Replay
const replay = await client.replays.get('bdc27caf-fe82-4708-9f48-4f2561f93313')
console.log('Replay', replay)

TODO

  • Add automatic rate limiting based on Patreon tier
  • Add parallel request support

Endpoints

Method URL Doc Link
GET / Ping
POST /v2/upload Upload
X GET /replays List/Filter replays
X GET /replays/${id} Get a specific replay
DELETE /replays/${id} Delete a replay
PATCH /replays/${id} Path a replay
GET /replays/${id}/file Download replay file
POST /groups Create a group
X GET /groups List/Filter groups
X GET /groups/${id} Get a specific group
DELETE /groups/${id} Delete a group
PATCH /groups/${id} Patch a group
GET /maps Maps

About

A client library for ballchasing.com

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors