The Chunkfactory API returns JSON over HTTPS. Base URL: https://chunkfactory.com/public-api/v1/
GET. Responses are UTF-8 JSON.2026-10-10T18:17:41Z. Date filters (from, to, updated_since) accept a Unix timestamp, YYYY-MM-DD (UTC; to includes the whole day) or ISO 8601.currency (currently always EUR).page (from 1) and per_page (max. 100). Responses contain pagination: {page, per_page, total, last_page}.X-RateLimit-Limit and X-RateLimit-Remaining; above the limit you get HTTP 429 with Retry-After.{"error": {"code": "...", "message": "..."}}.GET products: visible products. Filters: vendor_id, category_id, updated_since, order (last_update, released, rating, title).GET product?pid=1: product details (title, vendor, category, price, sale, current version, rating).GET versions?pid=1: version history, newest first (limit, max. 100).GET updates?pid=1: changelog / update posts as plain text (limit, max. 50).GET update-check?pid=1&version=1.2.0: latest_version and update_available. Ideal for update notifications inside your plugin.GET license?pid=1&key=XXXXX-…: verifies a buyer's license key, optionally with &address=play.example.net. Returns valid: true with the license (license id, buyer user id and username, purchase date, registered server address) and address_match if you sent an address. Unknown, refunded or charged-back licenses return valid: false.Example:
curl "https://chunkfactory.com/public-api/v1/update-check?pid=1&version=1.2.0"
Vendors create personal tokens under Vendor area → API access and send them as header Authorization: Bearer cfv_…. A token only ever returns the vendor's own data, and never buyer names, e-mail addresses, IP addresses or license keys.
GET vendor/products: all own products incl. status (visible, moderated, deleted), is_active, created_at, sales_count, view_count.GET vendor/sales: sold line items, one row per product and order (order_id groups the items of one checkout). Filters: from, to, product_id, status (completed, refunded), since_id (only line items with a higher line_item_id, for incremental imports), order (desc, asc).line_item_id, order_id, product_id, purchased_at, quantity (always 1), status, currency, list_price, discount, gross (amount paid for this item after discounts), platform_fee, payment_fee (always 0, payment fees are carried by Chunkfactory), total_fee, net (your share), share, refunded, refund_amount, refunded_net, payment_method, settlement, transferred_at.list_price and discount are known for orders from October 2026 on and null before. A line item can change from completed to refunded later; re-import recent periods to pick that up.GET vendor/finance/summary?from=…&to=…: orders, line_items, gross, discounts, platform_fee, payment_fee, total_fee, net, refunds. Refunded items are not part of gross and net.GET vendor/finance/products?from=…&to=…: the same figures per product.GET vendor/payouts: payouts and Stripe transfers (from, to, pagination).GET vendor/balance: available balance, balance still in the holding period, lifetime net earnings.curl -H "Authorization: Bearer cfv_…" "https://chunkfactory.com/public-api/v1/vendor/sales?from=2026-09-01&to=2026-09-30&per_page=100"
The previous endpoints https://api.chunkfactory.com/?pid=&key= and https://api.chunkfactory.com/product/?pid= keep working with their old response format. New integrations should use the endpoints above.
Missing something? Please create a support ticket.