FitnessVolt Strength Standards API (FVSS)
The FitnessVolt Strength Standards API serves verified competition percentiles and self-reported gym percentiles as separate, labeled populations.
FVSS v1 is a free, versioned, read-only, CORS-enabled JSON API. No key, no signup. It serves two populations and keeps them strictly separate: verified percentiles built from over 2.5 million processed OpenPowerlifting competition results (squat, bench press, deadlift; Raw), and gym percentiles from the Symmetric Strength self-reported dataset. The two are never blended into a composite, and every response labels its source and sample size.
Base URL: https://fitnessvolt.com/wp-json/fvss/v1 · API version 1.0.0 · data snapshot 2026-06-09 · OpenAPI 3.0 document · methodology
Endpoints
Five endpoints, versioned under fvss/v1. Every standards and percentile response carries source, source_label, sample sizes, unit, methodology_url, attribution, api_version, and data_version.
GET
/standards
Capability document: supported lifts per source, sexes, units, formats, age brackets (gym only), versions, rate limits, and the attribution contract.
GET
/standards/{lift}
Standards for one lift from ONE explicit source. source is required and never defaulted: there is no blending and no composite. format=table lists every stored weight class; format=summary (needs bodyweight) returns the closest cohort; format=curve (verified only) returns the 18-bin distribution.
lift- Path segment. verified: squat, bench-press, deadlift. gym: the stored Symmetric Strength slugs listed by GET /standards.
sex- Required. male | female.
source- Required. verified | gym. Never defaulted, never blended.
bodyweight- Required for format=summary and format=curve. In the requested unit.
unit- lb | kg. Default lb.
format- summary | table | curve. Default summary.
POST
/percentile
Dual percentile for one set: the verified competition percentile (SBD lifts) and the self-reported gym percentile (supported lifts), each with its own tier and sample size, never merged. reps > 1 estimates the 1RM server-side with the same five-formula average the on-site calculators use, flagged e1rm_is_estimated.
lift- Required. Lift slug.
weight- Required. Weight lifted, in unit.
reps- 1-12. Default 1.
bodyweight- Required. In unit.
sex- Required. male | female.
unit- lb | kg. Default lb.
age- Optional, 10-90. Refines the gym cohort.
GET
/fvcp/{lift}
The FVCP (FitnessVolt Competition Percentile) namespace: verified OpenPowerlifting SBD competition data ONLY (squat, bench-press, deadlift; Raw). Full percentile tables for every stored weight class, both sexes. Any other lift returns an honest 404.
lift- Path segment. squat | bench-press | deadlift.
unit- lb | kg. Default lb.
GET
/openapi
The machine-readable OpenAPI 3.0 document for this namespace. Point your client generator or LLM tool-use schema at it.
Code Samples
JavaScript (fetch)
PHP (wp_remote_get)
Python (requests)
Rate Limits & Caching
- 60 requests per 60 seconds, per IP, per endpoint group. Exceeding it returns HTTP
429with aRetry-Afterheader. - GET responses send
Cache-Control: public, max-age=3600. Cache on your side; the underlying percentile tables change only when the data snapshot is rebuilt (current snapshot:2026-06-09). - All endpoints send
Access-Control-Allow-Origin: *, so they are callable from any origin, browser or server. - Cohorts under 30 samples are omitted rather than served with an unreliable percentile.
- Need more than the per-IP limit? See the attribution tiers below.
Attribution & Licensing
Every response carries an attribution object with ready-made text and HTML. Three tiers:
| Tier | Who it is for | Terms |
|---|---|---|
| Free | Any site, app, tool, or article within the per-IP rate limit. | Keep a visible attribution link ("Powered by FitnessVolt Strength Standards" or the attribution.html from the response) wherever the data is shown. The embeddable widgets satisfy this automatically. |
| Registered high-volume | Projects that need sustained traffic above the per-IP limit. | Free with the same visible attribution; contact us so we can allowlist your usage instead of rate limiting it. |
| Commercial, no attribution | Commercial products that cannot show the link. | By arrangement only. Contact FitnessVolt via the contact page. |
Cite the underlying sources where relevant: the OpenPowerlifting dataset (verified competition results) and the Symmetric Strength dataset (self-reported gym lifts). Citation formats live on the open data hub.
Embeddable Widgets (live)
Three copy-paste widgets, one script tag. Vanilla JS, no framework, no build step, styles fully scoped so they cannot fight your page. The script derives the API base from its own URL, so the same snippet works on any site. Each widget renders the required "Powered by FitnessVolt Strength Standards" link and labels every number with its population and sample size. The widgets below are LIVE, served by the same snippet you would paste.
1. Standards table
One lift, one source, every stored weight class. Configure with data-lift, data-sex (male | female), data-source (verified | gym), data-unit (lb | kg).
Live:
2. Mini percentile calculator
Weight, reps, bodyweight, sex in; both labeled percentiles out, with a link to the full FitnessVolt result page. Configure with data-lift and data-unit.
Live:
3. Free program CTA
Maxes in, deep link out to the free FitnessVolt program generator (the maxes travel as URL parameters; nothing is written to our API). Configure with data-program (a program slug from /rpe-training/programs/), data-unit, and optional data-heading.
Live:
The attribution link is part of the free license and is not configurable. Include the script once per page; it initializes every .fvss-widget mount it finds (SPA hosts can call window.FVSSWidgets.init() after injecting new mounts).
Version & Changelog
The namespace is versioned (fvss/v1). Breaking changes ship as a new namespace; fvss/v1 stays stable. Additive fields may appear without notice, so parse responses tolerantly.
| Date | API | Change |
|---|---|---|
| 2026-06-09 | 1.0.0 |
Initial public release: capability document, per-lift standards (summary, table, curve), dual percentile, verified-only FVCP namespace, OpenAPI document, embeddable widgets v1. Data snapshot 2026-06-09 (post-remediation OpenPowerlifting percentile table; Symmetric Strength aggregates). |
Questions or higher-volume needs: contact FitnessVolt. See also the open data hub and the methodology.

