Skip to main content
HostReadyAPI Documentationv1

HostReady API

Access STR compliance data for 550+ US & Canadian markets. Market regulations, legislation tracking, enforcement events, tax intelligence, and compliance source verification.

Base URL

https://www.hostready.ai/api/v1

550+

Markets

2,450+

Gov Sources

85+

Data Fields

Authentication

All API requests require a valid API key passed in the Authorization header.

Request Header

Authorization: Bearer hr_live_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
200Valid Key
{
  "ok": true,
  "data": {
    "...": "..."
  },
  "meta": {
    "tier": "pro",
    "version": "v1"
  }
}
401Invalid or Missing Key
{
  "ok": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Invalid or missing API key."
  }
}

Pricing

Sandbox

Free

50 requests/month

  • 5 requests/minute
  • Basic market data
  • No billing required
  • Instant access
Get Free Key

Pay-as-you-go

$0.25/query

Min $100 purchase (400 queries)

  • 5 requests/minute
  • Basic market data
  • City, state, license required
  • Enforcement level
Popular

Pro

$999/mo

25,000 queries included

  • 30 requests/minute
  • Full market rules (85+ fields)
  • Compliance sources
  • Legislation tracking
  • News and enforcement
  • Tax intelligence
  • Email support

Enterprise

Custom

Unlimited queries

  • 120 requests/minute
  • Everything in Pro
  • Source health metadata
  • Webhooks on law changes
  • SLA + dedicated support
  • Bulk data exports
Contact Sales

Endpoints

GET/v1/marketsAll tiers

List all monitored STR markets.

Parameters

pageintegerPage number (default: 1)
limitintegerResults per page (max varies by tier)
statestringFilter by state abbreviation (e.g., TX, CA)

Response

{
  "ok": true,
  "data": {
    "markets": [
      {
        "slug": "austin-tx",
        "city": "Austin",
        "state": "TX",
        "is_active": true
      },
      {
        "slug": "denver-co",
        "city": "Denver",
        "state": "CO",
        "is_active": true
      }
    ],
    "pagination": {
      "page": 1,
      "limit": 25,
      "total": 536,
      "pages": 22
    }
  }
}
GET/v1/markets/{slug}All tiers

Get full compliance rules for a specific market. Fields returned depend on your tier.

Parameters

slug*stringMarket slug (e.g., austin-tx, denver-co)

Response

{
  "ok": true,
  "data": {
    "market": {
      "slug": "austin-tx",
      "city": "Austin",
      "state": "TX",
      "source_count": 13,
      "rules": {
        "license_required": true,
        "license_name": "Short-Term Rental License",
        "license_fee": "$900",
        "tax_rate": "17.000",
        "enforcement_level": "high",
        "fine_amount_min": 500,
        "fine_amount_max": 2000,
        "max_nights_per_year": 90,
        "insurance_required": false,
        "permit_status": "accepting",
        "source_verified": true,
        "confidence": 100
      }
    }
  }
}
GET/v1/markets/{slug}/sourcesPro+

Get verified compliance sources for a market.

Parameters

slug*stringMarket slug

Response

{
  "ok": true,
  "data": {
    "sources": [
      {
        "title": "Austin Short-Term Rentals",
        "source_url": "https://www.austintexas.gov/department/short-term-rentals",
        "source_type": "government"
      }
    ],
    "count": 13
  }
}
GET/v1/markets/{slug}/legislationPro+

Get legislation and regulatory signals from city council systems and state legislatures.

Parameters

slug*stringMarket slug

Response

{
  "ok": true,
  "data": {
    "legislation": [
      {
        "title": "26-0344: Public Hearing - Amend Phoenix City Code - Short-Term Vacation Rental",
        "summary": "Ordinance-G - Adopted. Introduced 2/6/2026.",
        "severity": "high",
        "status": "passed",
        "meeting_date": "2026-03-04"
      }
    ],
    "count": 1
  }
}
GET/v1/markets/{slug}/newsPro+

Get regulatory news signals and enforcement coverage for a market.

Parameters

slug*stringMarket slug

Response

{
  "ok": true,
  "data": {
    "news": [
      {
        "title": "Phoenix STR Regulations Tightened",
        "summary": "New rules include mandatory background checks...",
        "severity": "high",
        "signal_type": "enforcement"
      }
    ],
    "count": 4
  }
}
GET/v1/markets/{slug}/enforcementPro+

Get enforcement actions and violation events for a market.

Parameters

slug*stringMarket slug

Response

{
  "ok": true,
  "data": {
    "enforcement": [
      {
        "title": "Unlicensed STR fined $2,000",
        "severity": "high",
        "event_type": "fine",
        "fine_amount": 2000,
        "event_date": "2026-02-15"
      }
    ],
    "count": 3
  }
}
GET/v1/lookupAll tiers

Look up compliance data by city and state.

Parameters

city*stringCity name (e.g., Austin)
state*stringState abbreviation (e.g., TX)

Response

{
  "ok": true,
  "data": {
    "city": "Austin",
    "state": "TX",
    "slug": "austin-tx",
    "source_count": 13,
    "rules": {
      "license_required": true,
      "enforcement_level": "high"
    }
  }
}
GET/v1/tax/{slug}Pro+

Get detailed tax obligations for a market.

Parameters

slug*stringMarket slug

Response

{
  "ok": true,
  "data": {
    "city": "Austin",
    "state": "TX",
    "tax": {
      "tax_required": true,
      "tax_rate": "17.000",
      "state_tax_rate": "6",
      "local_tax_rate": "11",
      "airbnb_collects_lodging_tax": true,
      "vrbo_collects_lodging_tax": false
    }
  }
}
GET/v1/usageAll tiers

Check your API key usage and limits.

Response

{
  "ok": true,
  "data": {
    "tier": "pro",
    "usage": {
      "today": 142,
      "this_month": 3847,
      "monthly_limit": 25000
    },
    "rate_limits": {
      "per_minute": 30,
      "per_day": 5000
    }
  }
}

Rate Limits

Rate limits are enforced per API key. Every response includes rate limit headers.

HeaderDescription
X-RateLimit-LimitRequests allowed per minute
X-RateLimit-RemainingRequests remaining this window
X-RateLimit-ResetUnix timestamp when the window resets

Error Codes

CodeStatusDescription
UNAUTHORIZED401Invalid or missing API key
TIER_INSUFFICIENT403Endpoint requires a higher tier
NOT_FOUND404Market or resource not found
RATE_LIMIT_EXCEEDED429Too many requests
VALIDATION_ERROR400Missing or invalid parameters
API_DISABLED503API is not yet available
INTERNAL_ERROR500Server error

MCP Server

Use HostReady as a tool in Claude, ChatGPT, Cursor, and other AI assistants via the Model Context Protocol.

Quick Setup (Claude Desktop)

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "hostready": {
      "command": "npx",
      "args": ["@hostready/mcp-server"],
      "env": {
        "HOSTREADY_API_KEY": "hr_live_your_key_here"
      }
    }
  }
}

Available Tools

hostready_lookupLook up compliance data by city and state
hostready_get_marketGet full regulation rules for a market (85+ fields)
hostready_list_marketsList all 550+ US and Canadian markets
hostready_get_sourcesGet verified government sources for a market
hostready_get_legislationGet recent STR legislation and bills
hostready_get_newsGet regulatory news and enforcement coverage
hostready_get_enforcementGet enforcement actions and violation events
hostready_get_taxGet tax rates, filing requirements, platform collection
hostready_get_usageCheck API usage and rate limits
Requires an API key. Get a free sandbox key to try it.

Get a Sandbox Key

Try the API instantly. Sandbox keys are free with 50 requests per month — no billing required.

HostReady API v1 · Contact Support