# DogDnB facility dataset

Dog boarding and daycare facilities across 23 US metros (1,293 facilities), with DogDnB's hand-curated disclosure census: what each facility publishes on its own website about price, admission requirements and operations.

- All metros: https://dogdnb.pages.dev/data/dogdnb-facilities.csv
- One metro: https://dogdnb.pages.dev/data/{city}.csv (e.g. https://dogdnb.pages.dev/data/austin-tx.csv)
- JSON API: https://dogdnb.pages.dev/api/v1/index.json
- License: CC BY 4.0 — attribution required: "Source: DogDnB (dogdnb.pages.dev)". See LICENSE.txt.

## Format

UTF-8, comma-separated, RFC 4180 quoting, CRLF line endings, one header row. Multi-value cells are semicolon-separated. Empty cell = no value.

## Field states

- `known` — the facility states it on its own website; the coded value is in the matching column.
- `corroborated` — reviewers describe it but the facility does not state it (value not included).
- `checked-absent` — a curator reviewed the website and it does not state this, as of `census_checked_at`.
- `unknown` — not yet checked.

Coded values (e.g. `structured-rotation`, `required-for-group-play`) are stable tokens; the full verbatim quote and source URL for each are in the JSON API facility records.

## Not included

Google review data — rating, review count, rating distribution, review topics, photos, and the DogDnB Score derived from them — is excluded from bulk data. It is shown on the HTML and Markdown pages only.

## Columns

| Column | Description |
| --- | --- |
| `city_slug` | Metro slug (URL segment) |
| `city` | Metro name |
| `state` | State abbreviation |
| `facility_slug` | Facility slug (URL segment) |
| `name` | Facility name |
| `url` | DogDnB facility page |
| `type_group` | facility \| vet \| groomer \| store \| other |
| `services` | Services offered, semicolon-separated (boarding;daycare;…) |
| `address` | Street address |
| `address_city` | Locality |
| `zip` | ZIP code |
| `lat` | Latitude |
| `lng` | Longitude |
| `phone` | Phone |
| `website` | Facility's own website |
| `open24` | true when listed as open 24 hours |
| `boarding_rate_usd` | Published first-dog overnight boarding rate (USD/night, minimum of range) |
| `boarding_rate_max_usd` | Upper end of the published boarding range, when a range is published |
| `daycare_rate_usd` | Published first-dog full-day daycare rate (USD/day, minimum of range) |
| `daycare_rate_max_usd` | Upper end of the published daycare range |
| `holiday_surcharge` | Published holiday surcharge, as stated |
| `additional_dog` | Published additional-dog pricing, as stated |
| `rates_quote` | Verbatim text the rates were read from |
| `rates_source_url` | Page the rates were published on |
| `daycare_rates_source_url` | Daycare rate page, when different from rates_source_url |
| `rates_checked_at` | Date the rate page was checked |
| `boarding_rate_state` | Field state for "Overnight boarding rate": known \| corroborated \| checked-absent \| unknown |
| `daycare_rate_state` | Field state for "Daycare rate": known \| corroborated \| checked-absent \| unknown |
| `surcharges_state` | Field state for "Holiday / additional-dog pricing": known \| corroborated \| checked-absent \| unknown |
| `vaccines_required` | Vaccines the facility states are required, semicolon-separated (rabies;dhpp;bordetella;canineInfluenza;leptospirosis) |
| `vaccines_recommended` | Vaccines the facility states are recommended |
| `bordetella_days` | Coded value for "Bordetella lead time" as the facility publishes it (blank unless state is known) |
| `fecal_test` | Coded value for "Fecal / parasite test" as the facility publishes it (blank unless state is known) |
| `spay_neuter` | Coded value for "Spay / neuter" as the facility publishes it (blank unless state is known) |
| `trial_required` | Coded value for "Temperament evaluation" as the facility publishes it (blank unless state is known) |
| `proof_required` | Coded value for "Vaccination records" as the facility publishes it (blank unless state is known) |
| `staff_overnight` | Coded value for "Staff on site overnight" as the facility publishes it (blank unless state is known) |
| `staff_ratio` | Coded value for "Staff-to-dog ratio" as the facility publishes it (blank unless state is known) |
| `group_size_cap` | Coded value for "Maximum playgroup size" as the facility publishes it (blank unless state is known) |
| `staff_certification` | Coded value for "Staff certification" as the facility publishes it (blank unless state is known) |
| `play_model` | Coded value for "Play model" as the facility publishes it (blank unless state is known) |
| `separation_basis` | Coded value for "Groups separated by" as the facility publishes it (blank unless state is known) |
| `hours_out_of_kennel` | Coded value for "Time out of the kennel" as the facility publishes it (blank unless state is known) |
| `solo_option` | Coded value for "Solo care for dogs who skip group play" as the facility publishes it (blank unless state is known) |
| `kennel_type` | Coded value for "Housing" as the facility publishes it (blank unless state is known) |
| `outdoor_access` | Coded value for "Outdoor access" as the facility publishes it (blank unless state is known) |
| `capacity` | Coded value for "Capacity" as the facility publishes it (blank unless state is known) |
| `climate_monitored` | Coded value for "Climate control" as the facility publishes it (blank unless state is known) |
| `live_camera` | Coded value for "Live cameras for owners" as the facility publishes it (blank unless state is known) |
| `photo_updates` | Coded value for "Photo / report-card updates" as the facility publishes it (blank unless state is known) |
| `tour_policy` | Coded value for "Tours" as the facility publishes it (blank unless state is known) |
| `incident_policy` | Coded value for "Injury / fight policy" as the facility publishes it (blank unless state is known) |
| `vet_access` | Coded value for "Veterinary access" as the facility publishes it (blank unless state is known) |
| `medication_admin` | Coded value for "Administers medication" as the facility publishes it (blank unless state is known) |
| `feeding_policy` | Coded value for "Feeding" as the facility publishes it (blank unless state is known) |
| `accepting_clients` | Coded value for "Availability" as the facility publishes it (blank unless state is known) |
| `online_booking` | Coded value for "Online booking" as the facility publishes it (blank unless state is known) |
| `spay_neuter_age_months` | Age in months from which spay/neuter is required, when stated |
| `vaccines_state` | Field state for "Vaccinations required": known \| corroborated \| checked-absent \| unknown |
| `bordetella_days_state` | Field state for "Bordetella lead time": known \| corroborated \| checked-absent \| unknown |
| `fecal_test_state` | Field state for "Fecal / parasite test": known \| corroborated \| checked-absent \| unknown |
| `spay_neuter_state` | Field state for "Spay / neuter": known \| corroborated \| checked-absent \| unknown |
| `trial_required_state` | Field state for "Temperament evaluation": known \| corroborated \| checked-absent \| unknown |
| `proof_required_state` | Field state for "Vaccination records": known \| corroborated \| checked-absent \| unknown |
| `staff_overnight_state` | Field state for "Staff on site overnight": known \| corroborated \| checked-absent \| unknown |
| `staff_ratio_state` | Field state for "Staff-to-dog ratio": known \| corroborated \| checked-absent \| unknown |
| `group_size_cap_state` | Field state for "Maximum playgroup size": known \| corroborated \| checked-absent \| unknown |
| `staff_certification_state` | Field state for "Staff certification": known \| corroborated \| checked-absent \| unknown |
| `play_model_state` | Field state for "Play model": known \| corroborated \| checked-absent \| unknown |
| `separation_basis_state` | Field state for "Groups separated by": known \| corroborated \| checked-absent \| unknown |
| `hours_out_of_kennel_state` | Field state for "Time out of the kennel": known \| corroborated \| checked-absent \| unknown |
| `solo_option_state` | Field state for "Solo care for dogs who skip group play": known \| corroborated \| checked-absent \| unknown |
| `kennel_type_state` | Field state for "Housing": known \| corroborated \| checked-absent \| unknown |
| `outdoor_access_state` | Field state for "Outdoor access": known \| corroborated \| checked-absent \| unknown |
| `capacity_state` | Field state for "Capacity": known \| corroborated \| checked-absent \| unknown |
| `climate_monitored_state` | Field state for "Climate control": known \| corroborated \| checked-absent \| unknown |
| `live_camera_state` | Field state for "Live cameras for owners": known \| corroborated \| checked-absent \| unknown |
| `photo_updates_state` | Field state for "Photo / report-card updates": known \| corroborated \| checked-absent \| unknown |
| `tour_policy_state` | Field state for "Tours": known \| corroborated \| checked-absent \| unknown |
| `incident_policy_state` | Field state for "Injury / fight policy": known \| corroborated \| checked-absent \| unknown |
| `vet_access_state` | Field state for "Veterinary access": known \| corroborated \| checked-absent \| unknown |
| `medication_admin_state` | Field state for "Administers medication": known \| corroborated \| checked-absent \| unknown |
| `feeding_policy_state` | Field state for "Feeding": known \| corroborated \| checked-absent \| unknown |
| `accepting_clients_state` | Field state for "Availability": known \| corroborated \| checked-absent \| unknown |
| `online_booking_state` | Field state for "Online booking": known \| corroborated \| checked-absent \| unknown |
| `disclosure_published` | Number of checked census fields the facility publishes |
| `disclosure_checked` | Number of census fields checked for this facility |
| `census_checked_at` | Date the metro disclosure census was curated |
| `license_status` | State licence status, where a state register exists (e.g. Colorado PACFA) |
| `license_category` | State licence category |
| `license_expires` | State licence expiry as listed on the register |
| `license_source_url` | Register the licence was matched against |
| `maps_url` | Google Maps link — verification only; no Google data is included |

Generated 2026-10-01T21:02:30.747Z.
