Skip to content

Repository files navigation

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 SQLite snapshot is open)
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

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages