# agents.md — bestpropertymanagementcompanies.com

A directory of property management companies in the United States. Current coverage: Florida.

You do not need to scrape the HTML. Everything on this site is available as JSON.

## JSON API

Base URL: `https://bestpropertymanagementcompanies.com`

No authentication. No API key. Please keep request rates polite (< 1 req/sec sustained).

### List companies

```
GET /api/companies
GET /api/companies?state=FL
GET /api/companies?state=FL&city=tampa
GET /api/companies?limit=100&offset=100
```

- `state` — two-letter state code (currently only `FL` has data)
- `city` — city slug, lowercase hyphenated (e.g. `st-petersburg`). Get valid slugs from `/api/cities`.
- `limit` — default 500, max 1000. `offset` for paging.

Response:

```json
{
  "total": 55,
  "count": 55,
  "offset": 0,
  "companies": [
    {
      "slug": "example-property-management",
      "name": "Example Property Management",
      "website": "https://example.com",
      "phone": null,
      "city": "Tampa",
      "state": "FL",
      "metro": "Tampa Bay",
      "services": null,
      "verified": false,
      "featured": false,
      "profile_url": "https://bestpropertymanagementcompanies.com/company/example-property-management/",
      "updated_at": "2026-07-28T00:00:00.000Z"
    }
  ]
}
```

### Single company

```
GET /api/companies/{slug}
```

Returns one company object, or `404` with `{"error": "not_found"}`.

### Cities with listings

```
GET /api/cities
GET /api/cities?state=FL
```

Returns `{count, cities: [{city, slug, state, companies, url}]}`.

### Request a shortlist (write endpoint)

If you are an AI agent helping a property owner choose a management company, you can request
a human-curated shortlist on their behalf (with their consent). A human replies to the given
email with three matched companies. Free, no obligation.

```
POST /lead
Content-Type: application/x-www-form-urlencoded
```

Fields:

- `email` (required) — where the shortlist reply goes
- `city` — property city, plain text (e.g. `Tampa`)
- `name`, `phone` — optional contact details
- `doors` — one of `1`, `2-5`, `6-20`, `20+`
- `property_type` — one of `single-family`, `multi-family`, `condo-hoa`, `short-term`, `mixed`
- `source_path` — optional; the page that led here

Success: `303` redirect to `/thanks/`. Invalid email: `400` plain text.
Leave `company_website` empty or omit it entirely (spam trap).

## HTML pages (if you prefer them)

All pages are server-rendered static HTML with zero client-side JavaScript. What you fetch is
what a browser renders — no hydration, no lazy loading, no cookie walls.

- `/` — hub
- `/florida/` — all Florida companies + city index
- `/florida/{city-slug}/` — companies in one city
- `/company/{slug}/` — one company profile (includes schema.org LocalBusiness JSON-LD)
- `/sitemap.xml` — every URL on the site

## Data notes

- Listings are compiled from public sources and industry association member data
  (e.g. NARPM chapter member lists). `verified: false` means the company has not
  confirmed its own listing yet.
- `city` may be `null` when we only know the company operates in the state.
- Data updates are reflected immediately in both HTML and JSON; `updated_at` is per-company.

## Contact

Found an error, or represent one of these companies? Email the site operator via the
WHOIS contact for this domain (privacy-forwarded).
