Build Apps, Widgets, And Assistants
A practical guide for using the public API safely in external websites, dashboards, no-code tools, AI assistants, and product comparison pages.
https://bulkworksuite.com/api/v1
Discover the API
Start with the status endpoint to read the store name, base URL, documentation links, and available endpoints.
Build a Catalog View
Use products and categories together to build product grids, search screens, comparison pages, or external storefront widgets.
Keep Private Data Private
The public API exposes catalog data only. Downloads, customer accounts, orders, and license ownership remain protected by the existing customer and license systems.
What You Can Build
Use the public API for real catalog integrations without touching private checkout, account, order, or license data.
External Catalogs
Render product grids, category filters, comparison tables, or partner storefront pages from public catalog data.
Review Blocks
Show approved reviews and rating badges on landing pages without exposing customer emails or order records.
AI Assistants
Let assistants read public product facts, FAQs, releases, and store metadata while keeping private account data protected.
Embeddable Widgets
Use self-contained JavaScript widgets for product cards, product grids, FAQs, reviews, and rating badges.
Blog Syndication
Pull published blog posts into external sites, newsletters, or content feeds using the /api/v1/blog endpoint.
No-Code Tools
Connect to Zapier, Make (Integromat), or n8n using the public GET endpoints — no authentication required.
Release Changelogs
Display public version histories and changelogs on your docs site or product page without exposing private download links.
Unified Search
Power site-wide search across products, categories, and blog posts using the /api/v1/search endpoint with ?q=.
Recommended Workflow
- Call the status endpoint and store the API base URL from the response.
- Fetch categories to build filters and navigation.
- Fetch products with pagination and filters for listing screens.
- Fetch a single product only when a user opens a detail page.
Example Requests
https://bulkworksuite.com/api/v1/store
Categories
https://bulkworksuite.com/api/v1/categories
Filtered products
https://bulkworksuite.com/api/v1/products?per_page=6&category=scripts
Single product
https://bulkworksuite.com/api/v1/product?slug=bulkwork-suite-self-hosted-digital-business-platform
Approved reviews
https://bulkworksuite.com/api/v1/reviews?limit=6
Public releases
https://bulkworksuite.com/api/v1/releases?product_slug=bulkwork-suite-self-hosted-digital-business-platform&limit=5
Blog posts
https://bulkworksuite.com/api/v1/blog?per_page=6
Search
https://bulkworksuite.com/api/v1/search?q=scripts&per_page=6
Endpoint Map
These are the public read-only routes available for websites, widgets, no-code tools, and assistants.
/api/v1
Returns store identity, enabled endpoints, and API documentation links.
No query parameters required.
/api/v1/store
Returns public store identity, branding, social links, and widget availability.
No query parameters required.
/api/v1/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
/api/v1/product
Returns one public product by slug or id with gallery, FAQs, latest release metadata, and public URLs.
slug
id
/api/v1/categories
Lists public store categories with product counts and clean category URLs.
No query parameters required.
/api/v1/faqs
Returns active homepage FAQs for external builders and assistants.
product_id
product_slug
type
limit
/api/v1/reviews
Returns approved public reviews only.
product_id
product_slug
rating
min_rating
page
per_page
limit
sort
/api/v1/releases
Returns public release and changelog metadata without download paths.
product_id
product_slug
limit
page
per_page
/api/v1/blog
Lists published blog posts with pagination and search. Pass ?slug= for a single post with full HTML content.
page
per_page
q
slug
/api/v1/search
Searches public products, categories, and public blog content.
q
type
page
per_page
/api/v1/widgets
Returns available embeddable widgets and safe script examples.
No query parameters required.
/api/v1/openapi.json
Machine-readable OpenAPI description for the public API.
No query parameters required.
Success Response Shape
List endpoints return data, pagination, and API metadata in a consistent JSON envelope.
{
"success": true,
"data": [],
"pagination": {
"page": 1,
"per_page": 12,
"total": 0,
"total_pages": 1
},
"meta": {
"api_version": "1.0",
"generated_at": "2026-05-12T16:57:27+00:00"
}
}
Error Response Shape
Invalid requests return a stable error object without stack traces or SQL details.
{
"success": false,
"error": {
"code": "invalid_request",
"message": "Human readable message"
},
"meta": {
"api_version": "1.0",
"generated_at": "2026-05-12T16:57:27+00:00"
}
}
Pagination And Filters
Use page and per_page for list screens. The API caps large requests so external pages stay fast and predictable.
Products support search, category, type, status, price, featured, coming soon, preorder, and sort filters. Reviews and releases support product filters and limits.
Code Examples
External apps can call the public GET endpoints directly. Check success before rendering returned data.
fetch('https://bulkworksuite.com/api/v1/products?per_page=6&category=scripts')
.then((response) => response.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"]:
for product in data["data"]:
print(product["title"], product["price"])
else:
print("Error:", data["error"]["message"])
Embeddable Widgets
Widgets are standalone scripts with scoped CSS, safe escaping, loading states, empty states, and light, dark, or compact themes.
For latest store reviews, omit data-product-slug. Add data-product-slug only when you want reviews for one product, and the widget will show up to the selected limit.
Security Notes
This public API is intentionally read-only and exposes only public catalog content.
Customer accounts, checkout, orders, downloads, and activation are not part of this public API. Use the store customer pages, checkout flow, and license verification system for those workflows.
Requests are rate-limited per IP. Keep external widgets cached where possible and avoid polling too aggressively.
OpenAPI For Builders
Use the OpenAPI file to connect tools that understand API schemas, generate typed clients, or document endpoints automatically.
OpenAPI JSON