Bicester3D
+44 7835 362476GET INSTANT QUOTE
FREE UK delivery on every order — no minimum spend.Get an instant quote →
Bicester3D / Developers & Agents

Public Quoting API

Instant, checkout-ready 3D-print quotes over plain HTTPS. No authentication, no API key. Prices are real slicer-backed quotes in GBP including UK VAT — not estimates. Base URL: https://bicester3d.co.uk

Machine-readable entry points

1 — Pick a material

FDM (filament): GET /api/stock · SLA (resin): GET /api/sla/stock. Each entry in materials[] has an id — pass it as material_id when quoting. A sensible default is FDM “PLA Basic” in Black.

2 — Upload the model

POST /api/s3/presign-upload Content-Type: application/json {"fileName": "bracket.stl", "contentType": "application/octet-stream", "fileSize": 1048576} → {"key": "uploads/<uuid>/bracket.stl", "url": "<presigned S3 PUT URL>"}

PUT the raw file bytes to url within 15 minutes. If you passed contentType when presigning, the PUT must send the identical Content-Type header. Accepted formats: STL (preferred), 3MF, OBJ, STEP. Maximum 200 MB.

3 — Request the quote

POST /api/pricing/calculate (FDM) POST /api/sla/pricing/calculate (SLA resin) Content-Type: application/json { "blob_storage_id": "uploads/<uuid>/bracket.stl", "print_settings": {"material_id": 1, "quality": "medium", "quantity": 1} } → 202 {"quote_id": "<uuid>", "status": "pending"}

print_settings

FieldValuesNotes
material_idintegerRequired. id from the stock endpoints.
qualityFDM: low | medium | high
SLA: any (deprecated)
Required for FDM. On SLA this field is DEPRECATED and ignored by the server — use layer_um instead.
layer_uminteger (SLA only)Layer height in microns — must be one of the resin's supported_layers_um from /api/sla/stock (e.g. 50, 25). Omit for the resin's standard layer; finer layers cost more.
quantity1–1000Batches pay per-job overhead once — per-unit price falls with quantity.
strengthdecorative | standard | structuralFDM only. Preset infill/pattern.
nozzle_size0.4 | 0.6 | 0.8FDM only. Bigger = faster, less detail.
infill / wall_loops0–100 / 1–10FDM only. Raw overrides; take precedence over strength.
express_servicebooleanFaster turnaround, surcharge applies.

4 — Poll until completed

GET /api/pricing/{quote_id} (FDM) GET /api/sla/pricing/{quote_id} (SLA) status: pending → processing → completed | failed

Poll every 3–5 seconds. Most quotes complete in 10–120 seconds; complex models can take several minutes because the model is genuinely sliced. On completed, the pricing payload sits at the top level or under pricing_response — check both:

  • pricing_breakdown.total_price_pence — authoritative all-in price for the whole batch, pence, VAT included
  • pricing_breakdown.currency — GBP (EUR for Ireland-region sessions)
  • cost components (material, machine time, labour, overhead, VAT, surcharges), plus print_time_estimate, volume_cm3, material_info

Ordering

Checkout currently happens on the website with a human in the loop: send your user to bicester3d.co.uk/quote — the same file and settings re-price in about a minute. For programmatic ordering, business (NET invoice) accounts, or volume arrangements, email hello@bicester3d.co.uk.