---
title: "Search Apartments With Explanations"
method: POST
path: "/api/search_v2/search-with-explanations"
tags: ["search-v2"]
---

# Search Apartments With Explanations

`POST /api/search_v2/search-with-explanations`

## Request

- Base URL: `https://ai.tacostreetlocating.com`
- URL: `https://ai.tacostreetlocating.com/api/search_v2/search-with-explanations`
- Auth: none declared

Enhanced search that includes LLM-generated personalized explanations.

Returns the same structure as /search but adds an 'explanations' object
with rich, personalized explanations for each apartment.

Now includes real-time commute calculations via Google Distance Matrix API.

Cost: ~$0.0004 per search (GPT-5-mini batched call) + ~$0.005 for commute
Caching: 48-hour TTL for explanations, 24-hour for commute data

NOTE: If explanation generation times out, results are returned without LLM explanations
but with rule-based Tier 1 explanations to ensure users always get results.

## Request body

- SearchFilters: Search filters that map directly to database fields.
  - `city` string
  - `neighborhoods` string[], nullable
  - `property_tiers` string[], nullable
  - `min_walk_score` integer, nullable
  - `max_walk_score` integer, nullable
  - `walkability_tiers` string[], nullable
  - `building_types` string[], nullable
  - `min_rating` number, nullable
  - `pet_friendly` boolean
  - `pet_types` string[], nullable
  - `bedrooms` string[], nullable
  - `minBudget` integer, nullable
  - `maxBudget` integer, nullable
  - `budget_flexibility` string, nullable
  - `amenities` string[], nullable
  - `desired_amenities` string[], nullable
  - `standard_amenities` string[], nullable
  - `has_special` boolean
  - `senior_housing` boolean
  - `student_housing` boolean
  - `home_types` string[], nullable
  - `has_garage` boolean
  - `has_yard` boolean
  - `sort_by` string
  - `limit` integer
  - `offset` integer
  - `lean` boolean
  - `natural_language` string, nullable
  - `work_location` string, nullable
  - `work_coords` object, nullable
  - `work_location_lat` number, nullable
  - `work_location_lng` number, nullable
  - `max_commute_minutes` integer, nullable
  - `deal_breakers` string[], nullable
  - `exclude_names` string[], nullable
  - `min_year_built` integer, nullable
  - `max_year_built` integer, nullable
  - `move_in_timeline` string, nullable
  - `household` string, nullable
  - `why_austin` string[], nullable
  - `lease_term` string, nullable
  - `parking_needs` string, nullable
  - `commute_importance` string, nullable
  - `no_ground_floor` boolean
  - `no_street_facing` boolean
  - `must_have_covered_parking` boolean
  - `must_allow_large_dogs` boolean
  - `lifestyle_profiles` string[], nullable
  - `vibe_words` string[], nullable
  - `building_ages` string[], nullable
  - `moving_from` string, nullable
  - `selected_neighborhoods` string[], nullable
  - `pinned_apartment_names` string[], nullable
  - `with_explanations` boolean
  - `ai_curated` boolean
  - `south_lat` number, nullable
  - `north_lat` number, nullable
  - `west_lng` number, nullable
  - `east_lng` number, nullable
  - `min_sqft` integer, nullable
  - `user_profile` object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api.md) · [All operations](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tacostreetlocating/apis/taco-street-locating-public-api/revisions/e09e16f653cc?raw)
