Thoughtful finds. Delivered to Nigeria.Delivery, made clear
DEELINE.
API reference

Products

Retrieve the Deeline catalogue with reseller pricing, variants, and proxied images. Paginated, filterable by query or category.

EndpointGET /api/v1/products

Authentication

Requires a Bearer key with role reseller or admin. See Authentication.

Authorization: Bearer dl_live_YOUR_KEY

Query parameters

ParamTypeDefaultDescription
qstring—Search text. Max 80 chars.
categorystring—Exact category name, case-insensitive.
pageinteger1Page number. 1–1000.
pageSizeinteger24Items per page. 1–50.

Example request

cURL

curl -sS "https://deeline.com.ng/api/v1/products?page=1&pageSize=5&category=Rings" \
  -H "Authorization: Bearer dl_live_YOUR_KEY"

JavaScript

const res = await fetch(
  "https://deeline.com.ng/api/v1/products?page=1&pageSize=5&category=Rings",
  { headers: { Authorization: "Bearer dl_live_YOUR_KEY" } }
);
const data = await res.json();
if (!data.ok) throw new Error(data.error);

for (const p of data.products) {
  console.log(p.name, p.priceNgn);
}

Python

import requests

r = requests.get(
    "https://deeline.com.ng/api/v1/products",
    params={"page": 1, "pageSize": 5, "category": "Rings"},
    headers={"Authorization": "Bearer dl_live_YOUR_KEY"},
    timeout=30,
)
r.raise_for_status()
data = r.json()
assert data.get("ok"), data.get("error")

for p in data["products"]:
    print(p["name"], p["priceNgn"])

Response shape

{
  "ok": true,
  "products": [
    {
      "id": "cmw...",
      "slug": "korean-minimalist-irregular-ring",
      "name": "Korean Minimalist Irregular Ring",
      "description": "…",
      "category": "Rings",
      "image": "/api/img?t=eyJhbGc…",
      "images": ["/api/img?t=eyJhbGc…"],
      "priceNgn": 3450.00,
      "currency": "NGN",
      "originCountry": "CN",
      "variants": [
        {
          "id": "1797628372869189632",
          "sku": "SKU-DEMO-001",
          "priceNgn": 3450.00,
          "attributes": { "color": "White Gold", "size": "Adjustable" }
        }
      ]
    }
  ],
  "total": 3247,
  "page": 1,
  "pageSize": 5
}

Field reference

FieldTypeNotes
products[].idstringDeeline product ID.
products[].priceNgnnumberReseller price.
products[].imagestring | nullProxied image URL.
products[].variants[].idstringUse as variantId.
totalnumberTotal matching products.

Pagination

GET /api/v1/products?page=1&pageSize=50
GET /api/v1/products?page=2&pageSize=50

Images

Image URLs are returned as /api/img?t=… — a Deeline proxy with a sealed token. The token is issued server-side and cannot be decoded to reveal its source. Prepend your base origin to serve on your site:

const imageUrl = "https://deeline.com.ng" + product.image;
// → https://deeline.com.ng/api/img?t=eyJhbGc…

Full reference: Images.

Variants

Each product has one or more variants. Variant IDs are required at checkout.

Next