Developer API
A clean REST API to integrate the Buy PVA marketplace — browse products, place orders, and manage your account programmatically.
Overview
All API responses are returned as JSON. Public endpoints are open to all users, while protected endpoints require your unique API Key to be passed in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Accept: application/json
Content-Type: application/jsonAuthentication
Retrieve your API key from the dashboard (requires login). Pass it in the Authorization header on every protected request.
Manage Your API Key
You can view and rotate your API key in your Account Settings.
Go to SettingsYou must be signed in to manage API keys.
/categoriesReturns all active top-level categories, including their sellers and each seller's products.
🔓 No authentication required.
curl -X GET "[BASE_URL]/categories" \
-H "Accept: application/json"{
"data": [
{
"id": 1,
"name": "Gmail Accounts",
"slug": "gmail-accounts"
},
{
"id": 2,
"name": "Instagram Accounts",
"slug": "instagram-accounts"
}
]
}/products?category_id={id}Returns all active products for a specific category (by ID or slug). Results are not paginated when filtered by category.
🔓 No authentication required.
| Parameter | Type | Description |
|---|---|---|
category_id | integer | Filter by category ID |
category_slug | string | Filter by category slug (e.g. gmail-accounts) |
sort | string | newest · oldest · price_asc · price_desc |
curl "[BASE_URL]/products?category_id=1" \
-H "Accept: application/json"curl "[BASE_URL]/products?category_slug=gmail-accounts" \
-H "Accept: application/json"{
"data": [
{
"product_id": 12,
"name": "Gmail PVA – Aged 1yr",
"description": "Phone verified Gmail accounts, 1 year old.",
"price": "1.50",
"type": "stock",
"stock_count": 48,
"seller_id": 5,
"seller_name": "DigitalStore"
},
{
"product_id": 14,
"name": "Gmail Bulk – 10 Pack",
"price": "12.00",
"type": "non_stock",
"seller_id": 5,
"seller_name": "DigitalStore"
}
]
}/products/{id}Returns the full detail for a single active product.
🔓 No authentication required.
curl "[BASE_URL]/products/12" \
-H "Accept: application/json"{
"data": {
"product_id": 12,
"name": "Gmail PVA – Aged 1yr",
"price": "1.50",
"type": "stock",
"stock_count": 48,
"seller_name": "DigitalStore",
"category": {
"category_id": 1,
"name": "Gmail Accounts",
"slug": "gmail-accounts"
}
}
}/ordersPlace a new order. Balance is deducted from your account wallet automatically.
🔐 Requires API Key.
curl -X POST "[BASE_URL]/orders" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"product_id": 12, "quantity": 1}"'{
"product_id": 12,
"quantity": 2
}{
"status": "success",
"message": "Order placed successfully.",
"data": {
"order_id": 88,
"product_id": 12,
"quantity": 2,
"total_amount": "3.00",
"status": "paid",
"delivery_data": "[email protected]:pass1\[email protected]:pass2"
}
}/orders/{id}Fetch details of a specific order. You can only access orders that belong to your account.
🔐 Requires API Key.
curl "[BASE_URL]/orders/88" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"{
"data": {
"id": 88,
"product_id": 12,
"quantity": 2,
"price": 3.00,
"status": "paid",
"delivery_data": "[email protected]:pass1\[email protected]:pass2",
"variant_name": "Premium High Proxy"
}
}/balanceReturns the current wallet balance for the authenticated user.
🔐 Requires API Key.
curl "[BASE_URL]/balance" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json"{
"balance": "12.50"
}