Developer API

Build With The Store API

Use clean JSON endpoints to read public products, categories, FAQs, and store metadata for apps, widgets, assistants, and integrations.

Base URL
https://bulkworksuite.com/api/v1
Authentication
Public read-only
Format
JSON — GET only

Quick Start

Call endpoints with GET and read the JSON response. Published catalog data is public; private customer, order, and download data is not exposed here.

fetch('https://bulkworksuite.com/api/v1/products?per_page=6&category=scripts')
  .then((r) => r.json())
  .then((json) => {
    if (!json.success) throw new Error(json.error.message);
    console.log(json.data, json.pagination);
  });
curl -s \
  "https://bulkworksuite.com/api/v1/products?per_page=6&category=scripts" \
  | python3 -m json.tool
import requests

r = requests.get("https://bulkworksuite.com/api/v1/products?per_page=6&category=scripts")
data = r.json()
if data["success"]:
    print(data["data"])

Endpoints

GET /api/v1

API Status

Returns store identity, enabled endpoints, and API documentation links.

GET /api/v1/store

Store Metadata

Returns public store identity, branding, social links, and widget availability.

GET /api/v1/products

Products

Lists published, coming soon, and preorder products with pagination and filters.

page per_page search category type status sort min_price max_price featured coming_soon preorder
GET /api/v1/product

Single Product

Returns one public product by slug or id with gallery, FAQs, latest release metadata, and public URLs.

slug id
GET /api/v1/categories

Categories

Lists public store categories with product counts and clean category URLs.

GET /api/v1/faqs

Store FAQs

Returns active homepage FAQs for external builders and assistants.

product_id product_slug type limit
GET /api/v1/reviews

Reviews

Returns approved public reviews only.

product_id product_slug rating min_rating page per_page limit sort
GET /api/v1/releases

Releases

Returns public release and changelog metadata without download paths.

product_id product_slug limit page per_page
GET /api/v1/blog

Blog Posts

Lists published blog posts with pagination and search. Pass ?slug= for a single post with full HTML content.

page per_page q slug
GET /api/v1/search

Search

Searches public products, categories, and public blog content.

q type page per_page
GET /api/v1/widgets

Widgets

Returns available embeddable widgets and safe script examples.

GET /api/v1/openapi.json

OpenAPI

Machine-readable OpenAPI description for the public API.

Product List Example

GET /api/v1/products?per_page=6&category=scripts

Use category, search, type, status, sort, page, and per_page to build external catalog screens.

Product Detail Example

GET /api/v1/product?slug=bulkwork-suite-self-hosted-digital-business-platform

Product detail includes public URLs, gallery images, description text, active FAQs, rating summary, and latest release metadata without exposing private download paths.

Reviews Example

GET /api/v1/reviews?limit=6

Approved public reviews include display names and verified-purchase flags without exposing customer emails or order data.

Blog Posts Example

GET /api/v1/blog
GET /api/v1/blog?slug=your-post-slug

Lists published blog posts. Pass ?slug= for a single post with full HTML content.

Embeddable Widgets

<script src="https://bulkworksuite.com/widgets/reviews.js"
        data-product-slug="bulkwork-suite-self-hosted-digital-business-platform"
        data-limit="6"
        data-theme="light"
        data-container="bulkworksuite-reviews-widget"></script>

Use the widget builder in admin to generate product cards, grids, rating badges, FAQs, and review widgets.

Rate Limits &amp; Caching

Requests are rate-limited per IP. When the limit is exceeded the API returns a 429 response with a consistent JSON error.

Responses include Cache-Control headers. Cache public product and widget responses in your app to reduce traffic and stay well within limits.

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 120
X-RateLimit-Window: 60

{
  "success": false,
  "error": {
    "code": "rate_limited",
    "message": "Too many requests."
  }
}
Usamos cookies estritamente necessários para manter a loja funcionando (sessão e carrinho). Sem cookies de rastreamento ou publicidade. Saiba mais sobre nossa Política de Cookies
Gerenciar preferências
PWA Banner Icon
BulkWork App
Access your orders and support tickets fast with the mobile app