This project has NO AFFILIATION with the PDGA.
You must get permission to use the PDGA API from the PDGA. You must also adhere to their use guidelines. You can find more information on that at https://www.pdga.com/dev.
Once you have permission, you will be able to use this package and all of its functionality.
npm install --save @kendelchopp/pdga-api
For a small demo project see: https://github.com/KendelChopp/pdga-api-demo
Note: All examples are working under the assumption you import this package as PdgaApi. For example:
const PdgaApi = require('@kendelchopp/pdga-api');
To authenticate, you must make a login
call. You can either call login
with a username and password, or with a session name and session id. This is an asynchronous call, and you should wait for this call to finish before trying to make further calls.
PdgaApi.login({
username: 'My Cool Username',
password: 'My Fancy Secret Password'
});
This might be wise if you are doing the authentication elsewhere and want to retain the same session name and id. If you use this method, no network requests will be required for the login.
PdgaApi.login({
sessionName: 'some-session-name',
sessionId: 'some-session-id'
});
Allows you to read courses. Currently, they only have search functionality.
const courses = await PdgaApi.Course.search({
stateProv: 'VA'
});
Allows you to read events/tournaments. Currently, they only have search functionality.
const tournaments = await PdgaApi.Event.search({
tier: 'NT,M',
startDate: '2022-01-01'
});
Allows you to read players and their stats. Currently, they have search functionality and stats.
const players = await PdgaApi.Player.search({
pdgaNumber: '180146'
});
// Get stats for a particular player
const players = await PdgaApi.Player.search({
pdgaNumber: '180146'
});
const player = players[0];
const stats = await player.getStats();
// Search for a player and get stats
const searchedStats = await PdgaApi.Player.searchStats({
pdgaNumber: '180146'
});