Developers
The free tier is live: 100 requests/month, key issued instantly by email, no signup. The API returns website, ecommerce, app, and MVP cost estimates as JSON — the same 9-engine calculation pipeline behind the free calculator, calibrated against 600+ project quotes and public rate benchmarks.
Weighing building your own estimation engine instead? Read the build-vs-buy cost breakdown →
The public dataset behind the API needs no key: /api/cost-data (JSON) and /rates-2026.csv, both CC BY 4.0. Cite as: Project Cost Estimator, “Website Cost Dataset 2026”, projectcostestimator.com/api/cost-data (CC BY 4.0). Browsable versions: Cost Index and Rate Database.
Enter your email — the key appears here instantly and lands in your inbox. 100 requests/month, free.
/api/v1/estimateLiveBearer key (free)Generate a full project cost estimate from any subset of the calculator’s fields
Response: { totalCost, currency, platform, timelineWeeks, monthlyCost, complexity, riskLevel, confidence, costBreakdown, meta }
/api/cost-dataLiveNone — openThe full open dataset behind the engine: platform, market, and tier multipliers + medians (CC BY 4.0). No key, no rate limit — built for citation.
Response: Dataset-shaped JSON
/api/v1/compareNot live yetCompare estimates across multiple platforms in one call
/api/v1/cost-indexNot live yetMarket rate data by project type and region
Send any subset of the calculator's fields (for example projectType, market, pricingTier, designType, numberOfPages, numberOfProducts, forcePlatform) — anything you leave out uses the calculator's defaults. All amounts are USD.
curl -X POST https://projectcostestimator.com/api/v1/estimate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"projectType": "ecommerce",
"market": "us",
"pricingTier": "freelancer",
"forcePlatform": "shopify"
}'{
"totalCost": 6000,
"currency": "USD",
"platform": "shopify",
"platformLabel": "Shopify",
"timelineWeeks": 3,
"monthlyCost": 81.5,
"complexity": 30,
"complexityLevel": "Low",
"riskLevel": "Low",
"riskScore": 17,
"confidence": { "score": 54, "level": "Medium", "missingDetails": [], "message": "..." },
"costBreakdown": {
"basePrice": 5565,
"featureAdditions": 0,
"developmentCost": 5843,
"contingency": 278,
"totalHours": 53,
"hourlyRate": 105
},
"input": {
"applied": { "projectType": "ecommerce", "market": "us", "pricingTier": "freelancer", "forcePlatform": "shopify" },
"ignored": [],
"defaultsFor": ["projectOrigin", "numberOfPages", "..."]
},
"meta": {
"engine": "9-engine v2026",
"calibration": "600+ project quotes and public rate benchmarks",
"docs": "https://projectcostestimator.com/api-docs"
}
}Missing or invalid key → 401. Free-tier quota is 100 requests per calendar month per key, plus a burst limit of 10 requests then one every 2 seconds (429 with Retry-After). Body limit 32 KB.
Authorization: Bearer pce_... or in X-API-Key: pce_.... Never in the URL.GET /api/v1/estimate?projectType=ecommerce&market=us&numberOfProducts=120 returns the same estimate as the POST; nested fields use a dot (contentCreation.video=stock_clips).input.applied and input.ignored say what the engine used.platform → forcePlatform, location/region/country → market, tier → pricingTier, pages/products → the count bands. Values match case-insensitively (USA, Magento, shop all resolve); booleans map to yes/no; a bare number of pages or products is banded.400 with invalid: [{ field, given, allowed }] and the full field reference, so a client can correct itself without reading the docs.Free
Live now$0
100 requests/month
Paid tiers
Coming soon
Higher quotas + extra endpoints
We only sell what exists. Paid tiers ship after the compare and cost-index endpoints do. Need more than 100 requests/month today? Reply to your key email and tell us your use case.