website_project_estimate
Produce a deterministic website project estimate with cost, timeline, hours, effort breakdown, maintenance range, assumptions and risk flags. It is an estimate, not a fixed quotation.
When to use
Use when an agent needs a transparent cost and delivery estimate for building or remediating a website.
Selection guidance
Role: supporting. transparent website build or remediation estimates; scope, timeline and effort planning
Not for: measuring live website defects; a fixed quotation; company due diligence
Use cases
- website quote
- web project estimate
- website rebuild cost
- agency proposal
- remediation estimate
Access
- REST:
POST https://api.rafidsystem.com/api/v1/websites/project-estimate - x402:
POST https://api.rafidsystem.com/api/v1/x402/websites/project-estimate - MCP tool:
website_project_estimate - Free preview:
POST https://api.rafidsystem.com/api/v1/preview/website_project_estimate
Price: $0.25 USD per call. Payment options are deployment-configured; inspect /api/v1/payment-methods. Prices and payment semantics are unchanged from the canonical registry.
Related tools
Example input
{
"projectType": "corporate_website",
"pages": 12,
"languages": [
"en",
"ar"
],
"features": [
"contact_form",
"cms",
"blog",
"seo",
"analytics"
],
"designComplexity": "custom",
"integrations": [
"crm"
],
"ecommerce": false,
"deadlineDays": 30,
"market": "Oman",
"currency": "OMR"
}Example output
{
"estimatedCost": {
"min": 1500,
"max": 2500,
"currency": "OMR"
},
"estimatedTimelineDays": {
"min": 25,
"max": 45
},
"estimatedHours": {
"min": 100,
"max": 170
},
"complexity": "high",
"breakdown": {
"uiUx": {
"min": 30,
"max": 42
},
"frontend": {
"min": 35,
"max": 55
},
"backend": {
"min": 30,
"max": 50
},
"contentAndSeo": {
"min": 12,
"max": 20
},
"testing": {
"min": 18,
"max": 28
},
"deployment": {
"min": 8,
"max": 12
},
"projectManagement": {
"min": 16,
"max": 24
}
},
"maintenance": {
"available": true,
"monthlyHours": {
"min": 6,
"max": 16
},
"monthlyCost": {
"min": 170,
"max": 450,
"currency": "OMR"
}
},
"riskFlags": [
"MULTILINGUAL_SCOPE",
"ARABIC_RTL_SCOPE",
"THIRD_PARTY_INTEGRATIONS",
"DEADLINE_PRESSURE"
],
"assumptions": [
"Estimate is deterministic and based on the documented v1 effort weights; it is not a fixed quotation.",
"Client supplies or approves copy, imagery and third-party credentials unless content_entry is requested.",
"Taxes, hosting, domain fees and third-party licence charges are excluded."
],
"confidenceScore": 0.7,
"methodology": {
"version": "website-estimate-v1",
"hourlyRate": 10.78,
"currency": "OMR",
"factors": [
"page count",
"project type",
"design complexity",
"feature weights",
"integration count",
"language/RTL scope",
"deadline pressure",
"market hourly-rate profile"
]
}
}Input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"projectType": {
"type": "string",
"enum": [
"landing_page",
"corporate_website",
"portfolio",
"ecommerce",
"marketplace",
"booking_platform",
"membership_website",
"web_application",
"custom_website"
]
},
"pages": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"languages": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 20
}
},
"features": {
"default": [],
"maxItems": 40,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"designComplexity": {
"default": "standard",
"type": "string",
"enum": [
"template",
"standard",
"custom",
"highly_custom"
]
},
"integrations": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"ecommerce": {
"default": false,
"type": "boolean"
},
"deadlineDays": {
"type": "integer",
"minimum": 1,
"maximum": 730
},
"market": {
"default": "global",
"type": "string",
"minLength": 1,
"maxLength": 60
},
"currency": {
"default": "USD",
"type": "string",
"minLength": 1,
"maxLength": 3
}
},
"required": [
"projectType",
"pages",
"languages",
"features",
"designComplexity",
"integrations",
"ecommerce",
"market",
"currency"
],
"additionalProperties": false
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"estimatedCost": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
},
"currency": {
"type": "string"
}
},
"required": [
"min",
"max",
"currency"
],
"additionalProperties": false
},
"estimatedTimelineDays": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"estimatedHours": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"complexity": {
"type": "string",
"enum": [
"low",
"medium",
"high",
"very_high"
]
},
"breakdown": {
"type": "object",
"properties": {
"uiUx": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"frontend": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"backend": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"contentAndSeo": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"testing": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"deployment": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"projectManagement": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
}
},
"required": [
"uiUx",
"frontend",
"backend",
"contentAndSeo",
"testing",
"deployment",
"projectManagement"
],
"additionalProperties": false
},
"maintenance": {
"type": "object",
"properties": {
"available": {
"type": "boolean"
},
"monthlyHours": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
}
},
"required": [
"min",
"max"
],
"additionalProperties": false
},
"monthlyCost": {
"type": "object",
"properties": {
"min": {
"type": "number",
"minimum": 0
},
"max": {
"type": "number",
"minimum": 0
},
"currency": {
"type": "string"
}
},
"required": [
"min",
"max",
"currency"
],
"additionalProperties": false
}
},
"required": [
"available",
"monthlyHours",
"monthlyCost"
],
"additionalProperties": false
},
"riskFlags": {
"type": "array",
"items": {
"type": "string"
}
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
}
},
"confidenceScore": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"methodology": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"hourlyRate": {
"type": "number",
"exclusiveMinimum": 0
},
"currency": {
"type": "string"
},
"factors": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"version",
"hourlyRate",
"currency",
"factors"
],
"additionalProperties": false
}
},
"required": [
"estimatedCost",
"estimatedTimelineDays",
"estimatedHours",
"complexity",
"breakdown",
"maintenance",
"riskFlags",
"assumptions",
"confidenceScore",
"methodology"
],
"additionalProperties": false
}Category: Website Intelligence · hierarchy: supporting · idempotent: yes · side effects: no