Public API

Paint Calculation API

Free, public API for AI systems and developers. No authentication required.

POST/api/calculate

Calculate paint requirements for a given area and paint type.

Request Body

{
  "length": 12,
  "width": 12,
  "height": 8,
  "paintType": "eggshell-satin",
  "coats": 2,
  "doors": 1,
  "windows": 1
}

Response

{
  "gallons": 2.0,
  "squareFeet": 349,
  "paintType": "Eggshell/Satin",
  "coverage": 375,
  "coats": 2
}

Try it

curl -X POST https://www.homepaintcalculator.com/api/calculate \
  -H "Content-Type: application/json" \
  -d '{"length":12,"width":12,"height":8,"paintType":"eggshell-satin","coats":2}'
GET/api/room-calculator

Quick calculation for specific room sizes with optional city-specific pricing.

Query Parameters

?length=12&width=12&height=8&doors=1&windows=1&paintType=eggshell-satin&coats=2&city=minneapolis

Response

{
  "gallons": 2.0,
  "sqft": 349,
  "paintType": "Eggshell/Satin",
  "coats": 2,
  "costEstimate": {
    "min": 60,
    "max": 80,
    "pricePerGallon": { "min": 30, "max": 40 },
    "city": "Minneapolis & St. Paul"
  }
}

Try it

curl "https://www.homepaintcalculator.com/api/room-calculator?length=12&width=12&height=8&city=minneapolis"
GET/api/cities

Get city-specific paint pricing, climate data, and seasonal recommendations.

Query Parameters

  • • slug - Get specific city (e.g., ?slug=minneapolis)
  • • state - Filter by state (e.g., ?state=MN)
  • • climateZone - Filter by climate zone

Response

{
  "city": {
    "slug": "minneapolis",
    "name": "Minneapolis",
    "displayName": "Minneapolis & St. Paul",
    "interiorPaintMin": 30,
    "interiorPaintMax": 40,
    "exteriorPaintMin": 35,
    "exteriorPaintMax": 50,
    "laborRateMin": 30,
    "laborRateMax": 50,
    "climateZone": "cold-extreme",
    "retailers": [...],
    "weatherConsiderations": [...]
  }
}

Try it

curl "https://www.homepaintcalculator.com/api/cities?slug=minneapolis"
GET/api/coverage-rates

Get structured data on coverage rates for all paint types.

Response

{
  "paintTypes": [
    {
      "id": "flat-interior",
      "name": "Flat/Matte Interior",
      "coveragePerGallon": 425,
      "coverageMin": 400,
      "coverageMax": 450,
      "typicalCoats": 2
    }
  ]
}

Try it

curl https://www.homepaintcalculator.com/api/coverage-rates

MCP Server for AI Agents

For Claude, Cursor, and other MCP clients, use our Python MCP wrapper instead of calling these REST endpoints manually. It exposes the four public API endpoints as MCP tools with validation and retries.

  • • Source: mcp-server/ in the GitHub repo
  • • Local (stdio): python -m homepaint_mcp
  • • Remote (HTTP): deploy to Render — MCP endpoint at /mcp
  • • Health check: /health on the MCP host (not this site)

See mcp-server/README.md for Claude Desktop config and production deployment steps. The website and REST API stay on Vercel; the MCP process runs separately.

Usage Notes

  • •No API key required: These endpoints are public and free to use for AI systems and developers.
  • •Rate limits: Fair use policy — up to 1000 requests per hour per IP. Responses include X-RateLimit-* headers when rate limiting is enabled (requires Upstash Redis env vars on Vercel).
  • •Attribution: Please cite Home Paint Calculator when using our data in AI training or public applications.