The unofficial HLTV Node.js API
Table of contents
Installation
Usage
import HLTV from 'hltv'
const { HLTV } = require('hltv')
Configuration
You can create an instance of HLTV with a custom config.
const myHLTV = HLTV.createInstance({hltvUrl: 'my-proxy-server'})
See config schema
API
getMatch
Parses most information from a match page
Option | Type | Default value | Description |
---|
id | int | - | The match id |
HLTV.getMatch({id: 2306295}).then(res => {
...
})
See schema
getMatches
Parses all matches from the hltv.org/matches/
page
Option | Type | Default Value | Description |
---|
- | - | - | - |
HLTV.getMatches().then((res) => {
...
})
See schema for Live Matches
See schema for Upcoming Matches
getMatchesStats
Parses all matches from the hltv.org/stats/matches
page
Option | Type | Default Value | Description |
---|
startDate | string? | - | - |
endDate | string? | - | - |
matchType | MatchType? | - | - |
maps | Map[]? | - | - |
HLTV.getMatchesStats({startDate: '2017-07-10', endDate: '2017-07-18'}).then((res) => {
...
})
See schema
getMatchMapStats
Parses info from the single map stats page (hltv.org/stats/matches/mapstatsid/*/*
)
Option | Type | Default Value | Description |
---|
id | number | - | - |
HLTV.getMatchMapStats({id: 49968}).then((res) => {
...
})
See schema
getResults
Parses all matches from the hltv.org/results/
page
Option | Type | Default Value | Description |
---|
pages | int | 1 | Number of pages with results to be parsed |
HLTV.getResults({pages: 2}).then((res) => {
...
})
See schema
getStreams
Parses all streams present on the front page of HLTV
Option | Type | Default Value | Description |
---|
loadLinks | boolean | false | Enables parsing of the stream links. Its an option since it can slow down the response (every stream is a separate request). |
HLTV.getStreams().then((res) => {
...
})
See schema
getRecentThreads
Parses the latest threads on the front page of HLTV
Option | Type | Default Value | Description |
---|
- | - | - | - |
HLTV.getRecentThreads().then((res) => {
...
})
See schema
getTeamRanking
Parses the info from the hltv.org/ranking/teams/
page
Option | Type | Default Value | Description |
---|
year | string | - | - |
month | string | - | Must be lowercase and in MMMM format |
day | string | - | - |
country | string | - | Must be capitalized ('Brazil' , 'France' etc) |
HLTV.getTeamRanking()
HLTV.getTeamRanking({country: 'Thailand'})
HLTV.getTeamRanking({year: '2017', month: 'may', day: '29'}).then((res) => {
...
})
See schema
getTeam
Parses the info from the hltv.org/team/
page
Option | Type | Default value | Description |
---|
id | int | - | The team id |
HLTV.getTeam({id: 6137}).then(res => {
...
})
See schema
getTeamStats
Parses the info from the hltv.org/stats/teams/
page
Option | Type | Default value | Description |
---|
id | int | - | The team id |
HLTV.getTeamStats({id: 6137}).then(res => {
...
})
See schema
getPlayer
Parses the info from the hltv.org/player/
page
Option | Type | Default value | Description |
---|
id | int | - | The player id |
HLTV.getPlayer({id: 6137}).then(res => {
...
})
See schema
connectToScorebot
Presents an interface to receive data when the HLTV scorebot updates
NOTE: While connectToScorebot
returns a Promise, the promise will never resolve. Instead you should pass the callbacks described below.
Option | Type | Default Value | Description |
---|
id | int | - | The match ID |
onScoreboardUpdate | function? | - | Callback that is called when there is new scoreboard data |
onLogUpdate | function? | - | Callback that is called when there is new game log data |
onConnect | function? | - | Callback that is called when a connection with the scorebot is established |
onDisconnect | function? | - | Callback that is called when the scorebot disconnects |
HLTV.connectToScorebot({id: 2311609, onScoreboardUpdate: (data) => {
...
}, onLogUpdate: (data) => {
...
}})
The onLogUpdate
callback is passed an LogUpdate object
The onScoreboardUpdate
callback is passed an ScoreboardUpdate object