PepAssure REST API
Programmatic access to vendor rankings, peptide prices, and CoA batch verification. Built for labs, research platforms, and quality tooling.
Base URL: https://pepassure.com/api/v1
Quick Start
Your First API Call
1Get your API key
Upgrade to the Enterprise plan, then visit Dashboard → API Keys to generate your key. It's shown once — store it in a secrets manager.
2Make a request
curl https://pepassure.com/api/v1/vendors \
-H "Authorization: Bearer pvs_live_sk_YOUR_KEY"3Handle the response
Every successful response wraps the payload in the same envelope: your result under data, plus data_updated_at (ISO 8601) so you can cache honestly.
{
"data": {
"vendors": [
{ "slug": "paradigm-peptides", "score": 94, "verified": true, ... }
],
"total": 47,
"limit": 50,
"offset": 0
},
"data_updated_at": "2026-07-03T12:00:00.000Z"
}Authentication
API Keys
All API requests require a Bearer token in the Authorization header. Keys are minted in Dashboard → API Keys (Enterprise plan), never expire, and can be revoked there at any time — a revoked key gets 401 on its next request.
Request header format
Authorization: Bearer pvs_live_sk_1234567890abcdefSecurity
Never expose API keys in client-side code or public repositories. Rotate immediately if compromised (revoke in the dashboard, then generate a new key). Use server-side proxies for browser-based applications.
Rate Limits
1,000 Requests / Day
Enterprise
1,000 / day
Per key, rolling 24-hour window
Going over the limit returns 429 with a Retry-After header — back off and retry after that many seconds. Current usage per key is shown on the dashboard API tab.
HTTP/1.1 429 Too Many Requests
Retry-After: 3600
{
"error": {
"code": "rate_limited",
"message": "Rate limit of 1000 requests per 24 hours exceeded. Retry later.",
"status": 429
}
}Endpoints
REST Reference
/api/v1/vendorsRanked list of scored vendors — the same override-merged data as the homepage rankings, sorted by PVS score. Supports ?limit (default 50, max 200) and ?offset.
Example request
curl "https://pepassure.com/api/v1/vendors?limit=2" \
-H "Authorization: Bearer pvs_live_sk_..."Example response
{
"data": {
"vendors": [
{
"slug": "paradigm-peptides",
"name": "Paradigm Peptides",
"score": 94,
"verified": true,
"location": "USA",
"pillars": {
"coa": 96,
"sentiment": 92,
"purity": 97,
"transparency": 93,
"experience": 90
}
}
],
"total": 47,
"limit": 2,
"offset": 0
},
"data_updated_at": "2026-07-03T12:00:00.000Z"
}/api/v1/vendors/{slug}One vendor's full public report: score, pillars, description, and score history. The website field only appears for vendors whose plan includes outbound links.
Example request
curl https://pepassure.com/api/v1/vendors/paradigm-peptides \
-H "Authorization: Bearer pvs_live_sk_..."Example response
{
"data": {
"slug": "paradigm-peptides",
"name": "Paradigm Peptides",
"score": 94,
"verified": true,
"pending": false,
"location": "USA",
"pillars": { "coa": 96, "sentiment": 92, "purity": 97, "transparency": 93, "experience": 90 },
"description": "...",
"website": "https://paradigmpeptides.com",
"scoreHistory": [88, 90, 91, 93, 94]
},
"data_updated_at": "2026-07-03T12:00:00.000Z"
}/api/v1/peptides/{slug}/pricesMerged price table for one peptide (live vendor listings over the static baseline), sorted in-stock first, then claimed vendors, then $/mg — the first in-stock row is the Best Price shown on site.
Example request
curl https://pepassure.com/api/v1/peptides/bpc-157/prices \
-H "Authorization: Bearer pvs_live_sk_..."Example response
{
"data": {
"slug": "bpc-157",
"name": "BPC-157",
"category": "Healing",
"prices": [
{
"vendorSlug": "amino-asylum",
"vendorName": "Amino Asylum",
"totalUsd": 22,
"vialMg": 5,
"perMg": 4.4,
"inStock": true,
"claimed": true,
"live": true,
"stale": false,
"updatedAt": "2026-06-28T09:14:00.000Z"
}
]
},
"data_updated_at": "2026-06-28T09:14:00.000Z"
}/api/v1/batches/{batchId}Batch-number → CoA verification. Returns a union on state: verified, stale (tested >150 days ago), pending (unreviewed submission), or missing. Always 200 — missing is an answer, not an error.
Example request
curl https://pepassure.com/api/v1/batches/BPC-2026-0412 \
-H "Authorization: Bearer pvs_live_sk_..."Example response
{
"data": {
"state": "verified",
"batchId": "BPC-2026-0412",
"peptideName": "BPC-157",
"vendorSlug": "paradigm-peptides",
"vendorName": "Paradigm Peptides",
"vendorVerified": true,
"purity": 99.2,
"lab": "Janoshik",
"testMethod": "HPLC-MS",
"testedAt": "2026-05-02T00:00:00.000Z",
"ageDays": 62,
"source": "external",
"sourceUrl": "https://..."
},
"data_updated_at": "2026-07-03T12:00:00.000Z"
}Errors
HTTP Status Codes
Unauthorized
Missing, malformed, unknown, or revoked API key
Not Found
Vendor or peptide slug doesn't exist
Rate Limited
Over 1,000 requests in 24 hours — respect the Retry-After header
Server Error
Something went wrong on our end
Error response format
{
"error": {
"code": "invalid_api_key",
"message": "The provided API key is not valid.",
"status": 401
}
}Ready to build?
API access is included in the Enterprise plan. Get in touch to learn more or upgrade today.