Overview
The Peptide.best Vendor API lets approved vendors integrate inventory, order fulfillment, COAs, and analytics directly into their own systems. It's a REST API speaking JSON over HTTPS, available to every active vendor at no additional cost.
Base URL: https://api.peptide.best/v1
Auth: Bearer token in Authorization header
Format: JSON request and response bodies
Versioning: URL-versioned (/v1, /v2). Breaking changes get a new version; non-breaking changes append fields without notice.
Authentication
Generate an API key from Vendor Portal β Settings β API. Pass it as a bearer token:
curl -X GET https://api.peptide.best/v1/products \ -H "Authorization: Bearer pk_live_XXXXXXXXXXXXXXX" \ -H "Content-Type: application/json"
Keys are scoped to the issuing vendor and expire after 365 days of inactivity. Revoke compromised keys immediately from the portal. Use restricted keys (read-only or limited-scope) where possible.
Endpoints
Products
GET /v1/productsβ list your productsPOST /v1/productsβ create a new product listing (subject to verification)GET /v1/products/{id}β get product detailsPATCH /v1/products/{id}β update price, inventory, descriptionDELETE /v1/products/{id}β archive listingPOST /v1/products/{id}/coaβ upload new batch COA (PDF + structured fields)
Inventory
GET /v1/inventoryβ list stock levelsPATCH /v1/inventory/{sku}β update available quantityPOST /v1/inventory/bulkβ batch update via CSV upload
Orders
GET /v1/ordersβ list orders, filterable by status/dateGET /v1/orders/{id}β full order detailPOST /v1/orders/{id}/fulfillβ mark fulfilled, attach tracking numberPOST /v1/orders/{id}/cancelβ cancel (only if not yet shipped)
Payouts
GET /v1/payoutsβ list payoutsGET /v1/payouts/{id}β payout detail with line items
Reviews
GET /v1/reviewsβ list reviews of your productsPOST /v1/reviews/{id}/replyβ reply publicly (one reply per review)POST /v1/reviews/{id}/flagβ flag for moderation
Analytics
GET /v1/analytics/salesβ daily/weekly/monthlyGET /v1/analytics/conversionβ funnel metricsGET /v1/analytics/adsβ sponsored campaign performance
Webhooks
Subscribe to events for real-time syncing:
order.created,order.paid,order.fulfilled,order.refundedreview.created,review.flagged,review.removedpayout.processedinventory.low,inventory.outOfStock
Configure webhook URLs at Vendor Portal β Settings β Webhooks. Webhooks are signed with HMAC-SHA256; verify the signature header before processing.
Sample: fulfill an order
curl -X POST https://api.peptide.best/v1/orders/ord_abc123/fulfill \
-H "Authorization: Bearer pk_live_XXXXX" \
-H "Content-Type: application/json" \
-d '{
"carrier": "UPS",
"tracking_number": "1Z999AA10123456784",
"shipped_at": "2026-05-20T14:30:00Z",
"cold_chain": true
}'
Rate limits
Default: 1,000 requests per minute per API key, 50,000 per day. Higher limits available on request for high-volume integrations. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) included on every response. Exceeded limits return 429 Too Many Requests with Retry-After.
Errors
Standard HTTP status codes. Errors return JSON with shape:
{
"error": {
"code": "validation_error",
"message": "tracking_number is required",
"field": "tracking_number",
"request_id": "req_1234567890"
}
}
Include request_id in support tickets.
SDKs
Official SDKs: Node.js (npm install @peptide-best/sdk), Python (pip install peptide-best), PHP, Ruby. Source on GitHub.
Sandbox
Use pk_test_-prefixed keys against https://api.peptide.best/v1 with header X-Sandbox-Mode: true. No real orders are created; test data is reset weekly.
Support
API questions: developers@peptide.best. Status page: status.peptide.best. Changelog: api.peptide.best/changelog.