Skip to content

wajeht/close-powerlifting

Close Powerlifting

Node.js CI License: MIT Open Source Love svg1

An intuitive REST API for the OpenPowerlifting dataset.

API Endpoints

Endpoint Description
GET /api/rankings Global powerlifting rankings sorted by DOTS
GET /api/rankings/filter/... Cumulative filters: equipment / sex / weight-class / year / event / sort
GET /api/federations Federation list + per-federation meet history + per-year stats
GET /api/meets Meet index + individual meet results / highlights
GET /api/records Top-3 records by equipment, weight class, sex (optional ?age_class=)
GET /api/users Athlete search, profile, personal-bests, progression, rank, compare
GET /api/status Snapshot freshness + dataset counts
GET /api/health-check Liveness probe (returns 200 once the in-memory store is ready)
GET /docs/api Interactive Swagger UI
GET /docs/api.json Auto-generated OpenAPI 3.1 spec

Full request parameters, filters, and response shapes are documented at closepowerlifting.com/docs/api.

Quick start

No keys, no headers, no signup:

curl 'https://closepowerlifting.com/api/rankings?per_page=2&units=kg'
{
  "status": "success",
  "request_url": "https://closepowerlifting.com/api/rankings?per_page=2&units=kg",
  "message": "The resource was returned successfully!",
  "data": [
    {
      "rank": 1,
      "username": "deanatollefson",
      "name": "Deana Tollefson",
      "sex": "F",
      "age": null,
      "bodyweight": 83.2,
      "weight_class_kg": 90,
      "equipment": "Multi-ply",
      "event": "SBD",
      "squat": 365,
      "bench": 237.5,
      "deadlift": 282.5,
      "total": 885,
      "dots": 818.06,
      "wilks": 793.01,
      "glossbrenner": 693.75,
      "goodlift": 139.71,
      "federation": "WPO",
      "meet_path": "wpo/2024-10-11/profinals",
      "meet_name": "Pro Finals",
      "meet_date": "2024-10-11",
      "country": "USA",
      "units": "kg"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 2,
    "items": 954614,
    "pages": 477307,
    "first_page": 1,
    "last_page": 477307,
    "from": 1,
    "to": 2
  }
}

Add ?pretty to any endpoint for indented JSON output, or ?units=lbs (default) / ?units=kg to switch unit systems.

Docs

Data attribution

This project uses data from the OpenPowerlifting project — a community service to create a permanent, open archive of the world's powerlifting data.

All competition data is contributed to the Public Domain. You can download a copy of the raw data at data.openpowerlifting.org.

If you find this API useful, please consider supporting OpenPowerlifting.

License

Distributed under the MIT License © wajeht. See LICENSE for more information.

About

an intuitive rest api for the open powerlifting database

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors