UK Laundry Service Price Index: Published Prices and Sources
commerciallaundrycost/laundry-price-index
Returns the Laundry Service Price Index: the prices that UK laundry services publish on their own pages (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 publisher's categories (empty when the publisher gives none), 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 commerciallaundrycost.co.uk, served by Eden Engine; not an official commerciallaundrycost.co.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
Laundry Service Price Index (commerciallaundrycost.co.uk)
Data from the Laundry Service Price Index published by commerciallaundrycost.co.uk (https://commerciallaundrycost.co.uk/datasets/laundry-service-price-index/). Cite the figures with a link to that page. Served by Eden Engine; not an official commerciallaundrycost.co.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: "commerciallaundrycost/laundry-price-index" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "commerciallaundrycost/laundry-price-index" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "commerciallaundrycost/laundry-price-index", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "commerciallaundrycost/laundry-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 Laundry Service Price Index: citation, headline, national statistics, category breakdown and the first 10 sourced figures.",
"additionalProperties": true
}