Build With The Store API
Use clean JSON endpoints to read public products, categories, FAQs, and store metadata for apps, widgets, assistants, and integrations.
https://bulkworksuite.com/api/v1
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
/api/v1
API Status
Returns store identity, enabled endpoints, and API documentation links.
/api/v1/store
Store Metadata
Returns public store identity, branding, social links, and widget availability.
/api/v1/products
Products
Lists published, coming soon, and preorder products with pagination and filters.
/api/v1/product
Single Product
Returns one public product by slug or id with gallery, FAQs, latest release metadata, and public URLs.
/api/v1/categories
Categories
Lists public store categories with product counts and clean category URLs.
/api/v1/faqs
Store FAQs
Returns active homepage FAQs for external builders and assistants.
/api/v1/reviews
Reviews
Returns approved public reviews only.
/api/v1/releases
Releases
Returns public release and changelog metadata without download paths.
/api/v1/blog
Blog Posts
Lists published blog posts with pagination and search. Pass ?slug= for a single post with full HTML content.
/api/v1/search
Search
Searches public products, categories, and public blog content.
/api/v1/widgets
Widgets
Returns available embeddable widgets and safe script examples.
/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 & 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."
}
}