Web Design Price Index: Published Website Costs and Sources
webdesignpoole/web-design-price-index
Returns the Dorset Web Design Price Index: what UK web designers and agencies publish on their own pages as website prices (the unit is GBP). The answer holds the publisher's headline, the national statistics (median, minimum, maximum, quartiles and mean, with the unit), the breakdown by the pricing model (one-off, pay-monthly or care plan) and the site type, and the first 10 sourced figures in the publisher's file order, each with the page it was read from. Takes no input. Also returns the publisher's citation line and the link to the index page; cite the figures with that link. Data from webdesignpoole.uk, served by Eden Engine; not an official webdesignpoole.uk product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Dorset Web Design Price Index (webdesignpoole.uk)
Data from the Dorset Web Design Price Index published by webdesignpoole.uk (https://webdesignpoole.uk/datasets/dorset-web-design-price-index/). Cite the figures with a link to that page. Served by Eden Engine; not an official webdesignpoole.uk product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "webdesignpoole/web-design-price-index" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "webdesignpoole/web-design-price-index" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "webdesignpoole/web-design-price-index", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "webdesignpoole/web-design-price-index", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"title",
"url",
"citation",
"computed_at",
"national",
"by_axis",
"rows_total",
"rows_returned",
"rows"
],
"properties": {
"url": {
"type": "string",
"description": "Link to the index page on the publisher's site. Cite the figures with this link."
},
"rows": {
"type": "array",
"items": {
"type": "object",
"required": [
"source",
"url",
"figure",
"unit"
],
"properties": {
"url": {
"type": "string",
"description": "Link to the page the figure was read from."
},
"vat": {
"type": [
"string",
"null"
],
"description": "Tax treatment the source states (for example ex); null where the source states none."
},
"axis": {
"type": "object",
"properties": {},
"description": "Category labels of this figure; empty when it carries none.",
"additionalProperties": true
},
"unit": {
"type": "string",
"description": "Currency code, or % for rates."
},
"value": {
"type": [
"number",
"null"
],
"description": "The figure as a number."
},
"figure": {
"type": "string",
"description": "The figure as the page prints it."
},
"source": {
"type": "string",
"description": "Name of the page the figure was read from."
},
"retrieved_at": {
"type": "string",
"description": "Date the page was read, YYYY-MM-DD."
}
},
"additionalProperties": true
},
"description": "The first 10 sourced figures in file order."
},
"title": {
"type": "string",
"description": "Name of the index."
},
"by_axis": {
"type": "object",
"properties": {},
"description": "Statistics per publisher category: category name, then value, then unit code, then n, median, min, max, p25, p75 and mean. An empty object when the publisher gives no breakdown.",
"additionalProperties": true
},
"license": {
"type": "string",
"description": "Link to the publisher's terms of use."
},
"citation": {
"type": "string",
"description": "The publisher's citation line for the index, with the date it was updated and the page link."
},
"headline": {
"type": "string",
"description": "The publisher's one-sentence summary of the current figure."
},
"national": {
"type": "object",
"required": [
"unit",
"n"
],
"properties": {
"n": {
"type": "integer",
"description": "Number of figures behind the statistics."
},
"max": {
"type": [
"number",
"null"
],
"description": "Highest figure; null when no source publishes one."
},
"min": {
"type": [
"number",
"null"
],
"description": "Lowest figure; null when no source publishes one."
},
"p25": {
"type": [
"number",
"null"
],
"description": "25th percentile; null when too few figures exist for one."
},
"p75": {
"type": [
"number",
"null"
],
"description": "75th percentile; null when too few figures exist for one."
},
"mean": {
"type": [
"number",
"null"
],
"description": "Mean of the figures; null when no source publishes one."
},
"unit": {
"type": "string",
"description": "Unit of the statistics: a currency code, or % for rates."
},
"units": {
"type": "object",
"properties": {},
"description": "Count of figures per unit code.",
"additionalProperties": true
},
"median": {
"type": [
"number",
"null"
],
"description": "Median of the figures; null when no source publishes one."
},
"read_sources": {
"type": "integer",
"description": "Sources the publisher could read in full."
},
"named_sources": {
"type": "integer",
"description": "Sources the publisher lists."
},
"not_published": {
"type": "integer",
"description": "Sources read in full that publish no figure."
},
"published_share": {
"type": "number",
"description": "Share of read sources that publish a figure, 0 to 1."
},
"published_sources": {
"type": "integer",
"description": "Sources read in full that publish a figure."
}
},
"description": "Statistics across all figures.",
"additionalProperties": true
},
"rows_total": {
"type": "integer",
"description": "Number of sourced figures in the publisher's file."
},
"computed_at": {
"type": "string",
"description": "Date the index was last computed, YYYY-MM-DD."
},
"changed_since": {
"type": [
"object",
"null"
],
"properties": {
"delta": {
"type": [
"number",
"null"
],
"description": "Change in the median; null when the publisher gives none."
},
"since": {
"type": "string",
"description": "Date of the earlier computation."
},
"sentence": {
"type": "string",
"description": "The publisher's sentence describing the change."
},
"direction": {
"type": "string",
"description": "up, down or unchanged."
},
"previous_median": {
"type": [
"number",
"null"
],
"description": "Median at that date; null when the publisher gives none."
}
},
"description": "How the median moved since the previous computation; null when the publisher reports no change.",
"additionalProperties": true
},
"rows_returned": {
"type": "integer",
"description": "Number of sourced figures in this answer (at most 10)."
}
},
"description": "The Dorset Web Design Price Index: citation, headline, national statistics, category breakdown and the first 10 sourced figures.",
"additionalProperties": true
}