{"id":"7e353396-fbb0-4ce7-8870-94bc7e0222a8","entityType":"agent","slug":"clawhub-crawlora-org-real-estate-autos-research","name":"real-estate-autos-research","canonicalUrl":"https://www.xpersona.co/agent/clawhub-crawlora-org-real-estate-autos-research","canonicalPath":"/agent/clawhub-crawlora-org-real-estate-autos-research","generatedAt":"2026-10-11T08:44:09.901Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":null},"description":"Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:real-estate-autos-research","sourceUrl":"https://clawhub.ai/crawlora-org/real-estate-autos-research","homepage":"https://clawhub.ai/crawlora-org/skills/real-estate-autos-research","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/crawlora-org/real-estate-autos-research","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/crawlora-org/skills/real-estate-autos-research","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"real-estate-autos-research technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":null},"stars":null,"forks":null,"downloads":1139,"packageName":null,"latestVersion":"1.0.20","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:00:13.397Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T06:00:13.460Z","lastCrawledAt":"2026-10-11T06:00:13.397Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T06:00:13.397Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.20","createdAt":"2026-10-05T01:20:47.359Z","changelog":"Sync skill instructions, references, and helper from GitHub 83bb98ef1362f25cecb5ddd4bc1ea0e564555d97","fileCount":5,"zipByteSize":11003},{"version":"1.0.19","createdAt":"2026-09-26T12:47:48.450Z","changelog":"Sync skill instructions, references, and helper from GitHub 8ac7f99e79c37939913706006fca839ef1108182","fileCount":5,"zipByteSize":10873},{"version":"1.0.18","createdAt":"2026-09-21T01:47:20.283Z","changelog":"Sync skill instructions, references, and helper from GitHub 0cfbceba40b050ba434a0a3f4945ca97b668c805","fileCount":5,"zipByteSize":11056},{"version":"1.0.17","createdAt":"2026-09-17T10:20:42.607Z","changelog":"Security hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.","fileCount":5,"zipByteSize":10978},{"version":"1.0.16","createdAt":"2026-09-14T02:03:38.690Z","changelog":"Sync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d","fileCount":5,"zipByteSize":11431},{"version":"1.0.15","createdAt":"2026-09-10T12:35:24.862Z","changelog":"Validate API keys before curl config","fileCount":5,"zipByteSize":11224},{"version":"1.0.14","createdAt":"2026-09-10T12:16:23.898Z","changelog":"Keep API keys out of process arguments","fileCount":5,"zipByteSize":11047},{"version":"1.0.13","createdAt":"2026-09-10T12:07:21.108Z","changelog":"Reject curl local-file query syntax","fileCount":5,"zipByteSize":10844}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:real-estate-autos-research","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17d53nb8nd03gyyfdy32rgde58e574f:real-estate-autos-research` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/crawlora-org/real-estate-autos-research before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T08:44:09.897Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-crawlora-org-real-estate-autos-research/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":null},"readme":"Skill: real-estate-autos-research\n\nOwner: crawlora-org\n\nSummary: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n\nTags: latest:1.0.20\n\nVersion history:\n\nv1.0.20 | 2026-10-05T01:20:47.359Z | user\n\nSync skill instructions, references, and helper from GitHub 83bb98ef1362f25cecb5ddd4bc1ea0e564555d97\n\nv1.0.19 | 2026-09-26T12:47:48.450Z | user\n\nSync skill instructions, references, and helper from GitHub 8ac7f99e79c37939913706006fca839ef1108182\n\nv1.0.18 | 2026-09-21T01:47:20.283Z | user\n\nSync skill instructions, references, and helper from GitHub 0cfbceba40b050ba434a0a3f4945ca97b668c805\n\nv1.0.17 | 2026-09-17T10:20:42.607Z | user\n\nSecurity hardening: generated helpers now enforce exact routes, methods, and credential-safe curl behavior.\n\nv1.0.16 | 2026-09-14T02:03:38.690Z | user\n\nSync skill instructions, references, and helper from GitHub 902f58316c643ffbcabc57fc6f15f59d27ec063d\n\nv1.0.15 | 2026-09-10T12:35:24.862Z | user\n\nValidate API keys before curl config\n\nv1.0.14 | 2026-09-10T12:16:23.898Z | user\n\nKeep API keys out of process arguments\n\nv1.0.13 | 2026-09-10T12:07:21.108Z | user\n\nReject curl local-file query syntax\n\nv1.0.12 | 2026-09-10T11:55:05.533Z | user\n\nStream helper request bodies through curl stdin\n\nv1.0.11 | 2026-09-10T11:43:09.764Z | user\n\nScope helper routes and remove secret-shaped key examples\n\nv1.0.10 | 2026-09-10T07:01:11.493Z | user\n\nMigrate publisher from tonywangcn to crawlora-org for brand consistency with the plugins\n\nv1.0.9 | 2026-09-08T04:35:10.810Z | user\n\nRefresh stale REST examples, endpoint references, and Bash helper from crawlora-skills 1.17.1.\n\nv1.0.8 | 2026-09-07T13:38:44.962Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.7 | 2026-09-07T08:20:40.094Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.6 | 2026-09-07T06:45:18.700Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.5 | 2026-08-24T07:24:33.808Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.4 | 2026-08-24T06:37:41.355Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.3 | 2026-08-24T05:17:14.057Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.2 | 2026-08-14T18:35:56.671Z | user\n\nSync via scripts/sync-directories.sh\n\nv1.0.1 | 2026-08-10T18:29:49.975Z | user\n\nSet categories\n\nv1.0.0 | 2026-08-10T18:03:44.800Z | auto\n\nInitial release of real-estate-autos-research.\n\n- Enables home and used car research via Crawlora API, aggregating Zillow, Redfin, CarMax, Autotrader, and Cars.com data.\n- Supports property and vehicle search, price estimates, market trends, and detailed listing lookups.\n- Provides normalized JSON responses without scraping.\n- Includes guidance for API setup, usage examples, and important notes on required parameters and endpoint coverage.\n\nArchive index:\n\nArchive v1.0.20: 5 files, 11003 bytes\n\nFiles: reference/endpoints.md (20944b), scripts/crawlora.sh (4474b), skill-card.md (1899b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.20:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Zillow,\nRedfin, CarMax, Autotrader, and Cars.com endpoint this skill uses.\n\n## Examples\n\n- **Home-buying research:** `/zillow/search` + `/redfin/search` for the\n  same area, cross-check price/sqft, then `/redfin/region-trends` for\n  whether the market is heating up or cooling.\n- **Property valuation sanity-check:** `/redfin/estimate` alongside\n  `/redfin/similar` (comps) for one address.\n- **Car-shopping compare:** `/carmax/search`, `/autotrader/search`, and\n  `/carsdotcom/search` for the same make/model/zip, diff price and mileage\n  across all three.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/estimate pages; not a real-estate or\n  financial advisor.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Redfin's region ids are platform-specific** — resolve via `/redfin/search`\n  results (which include `region_id`) before calling `/redfin/region-trends` cold.\n- **Zillow search requires a `region_id` (from `/zillow/autocomplete`), not just\n  a `location` string** — a bare `location` will `400`.\n- Search endpoints are paginated (`page`) — walk pages for full coverage.\n\nFile v1.0.20:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1791163247359\n}\n\nFile v1.0.20:reference/endpoints.md\n\n# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public data sourced from CarMax's own server-rendered store page.\n- **Params:** `id` (string, **required**) — CarMax store id, the numeric path segment of a /stores/{id} URL\n\n### `carmax_stores`\n\n- **HTTP:** `GET /carmax/stores`\n- **What:** Search CarMax store (physical location) locations. Searches CarMax's physical store locations by ZIP code or free-text keyword, returning normalized stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles. Credential-free public data sourced from CarMax's own mobile-app store-locator API.\n- **Params:** `keyword` (string, optional) — Free-text match against store name or city; `take` (integer, optional) — Maximum number of stores to return, defaults to 10, capped at 300; `zip` (string, optional) — 5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given\n\n### `carmax_vehicle`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}`\n- **What:** Get CarMax vehicle listing detail. Returns a normalized CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms. Credential-free public data sourced primarily from CarMax's own mobile-app API, backfilled with the website's server-rendered page for accident/owner history and warranty terms the mobile API doesn't expose.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, optional) — Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted\n\n### `carmax_vehicle_recommendations`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}/recommendations`\n- **What:** Get CarMax \"similar vehicles\" recommendations for a listing. Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, **required**) — CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field\n\n## Redfin (5)\n\n### `redfin_estimate`\n\n- **HTTP:** `GET /redfin/estimate`\n- **What:** Get Redfin Estimate. Returns the Redfin Estimate for a property, including the current estimate, property facts, and the monthly estimate history with city/county/postal comparatives. Faithful pass-through of Redfin's public avm + avmHistoricalData resources.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n### `redfin_property`\n\n- **HTTP:** `GET /redfin/property`\n- **What:** Get Redfin property. Returns normalized Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id) to use Redfin's public stingray detail API.\n- **Params:** `listing_id` (string, optional) — Redfin listing id, improves completeness with property_id; `property_id` (string, optional) — Redfin property id, used when url is not provided; `url` (string, optional) — Redfin listing URL (primary key)\n\n### `redfin_region_trends`\n\n- **HTTP:** `GET /redfin/region-trends`\n- **What:** Get Redfin region market trends. Returns Redfin's aggregate market trends for a region (median list/sale price, sale-to-list, offers, days on market, inventory, year-over-year). Faithful pass-through of Redfin's public aggregate-trends resource.\n- **Params:** `region_id` (integer, **required**) — Redfin region id for a neighborhood, ZIP code, county, or city; `region_type` (integer, optional) — Redfin region type (defaults to 6, city)\n\n### `redfin_search`\n\n- **HTTP:** `GET /redfin/search`\n- **What:** Search Redfin listings. Returns normalized Redfin public listing search results from Redfin's credential-free region CSV endpoint. Pass region_id/region_type from autocomplete to skip location resolution.\n- **Params:** `location` (string, optional) — Display location; resolved via autocomplete when region_id is omitted; `max_price` (integer, optional) — Maximum price filter; `min_baths` (number, optional) — Minimum bathrooms filter; `min_beds` (integer, optional) — Minimum bedrooms filter; `min_price` (integer, optional) — Minimum price filter; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Redfin region id; skips location resolution when provided; `region_type` (integer, optional) — Redfin region type, used with region_id (defaults to 6, city); `status` (string, optional) — Listing status: for_sale or sold\n\n### `redfin_similar`\n\n- **HTTP:** `GET /redfin/similar`\n- **What:** Get Redfin comparable listings. Returns Redfin's comparable (\"similar\") listings for a property as normalized listing rows. Faithful pass-through of Redfin's public similars resource.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n## Autotrader (3)\n\n### `autotrader_dealer`\n\n- **HTTP:** `GET /autotrader/dealer/{id}`\n- **What:** Get Autotrader dealer profile. Returns a normalized Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as normalized vehicle summaries and the dealer's total listing count. Credential-free public data sourced from Autotrader's own server-rendered dealer profile page.\n- **Params:** `id` (string, **required**) — Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL\n\n### `autotrader_search`\n\n- **HTTP:** `GET /autotrader/search`\n- **What:** Search Autotrader vehicle listings. Searches Autotrader for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count. Credential-free public data sourced from Autotrader's own server-rendered search page.\n- **Params:** `body_style` (string, optional) — Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon; `condition` (string, optional) — Listing condition. Allowed values: new, used, certified, 3p_cert; `make` (string, optional) — Autotrader make code, e.g. TOYOTA, HONDA, BMW; `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — Autotrader model code, e.g. CAMRY. Requires make; `page` (integer, optional) — 1-indexed result page, defaults to 1. Autotrader returns 24 results per page; `query` (string, optional) — Free-text keyword search; `radius` (integer, optional) — Search radius in miles around zip; `seller_type` (string, optional) — Seller type. Allowed values: dealer, private; `trim` (string, optional) — Autotrader trim code. Requires make and model; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `autotrader_vehicle`\n\n- **HTTP:** `GET /autotrader/vehicle/{id}`\n- **What:** Get Autotrader vehicle listing detail. Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.\n- **Params:** `id` (string, **required**) — Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL\n\n## Zillow (3)\n\n### `zillow_autocomplete`\n\n- **HTTP:** `GET /zillow/autocomplete`\n- **What:** Autocomplete Zillow locations. Returns normalized Zillow public web autocomplete candidates, including region ids and types. Zillow autocomplete does not currently return map bounds.\n- **Params:** `limit` (integer, optional) — Maximum results, clamped to 20; `query` (string, **required**) — Location query; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold\n\n### `zillow_property`\n\n- **HTTP:** `GET /zillow/property/{zpid}`\n- **What:** Get Zillow property. Returns normalized Zillow public property details using Zillow's public persisted GraphQL property payload, including optional typed sections for address parts, listing attribution, pricing, history, media, facts, schools, and nearby homes when present.\n- **Params:** `zpid` (string, **required**) — Zillow property id\n\n### `zillow_search`\n\n- **HTTP:** `GET /zillow/search`\n- **What:** Search Zillow listings. Returns normalized Zillow public listing search results. Callers may pass a region id from autocomplete or a complete map bounding box. When a usable region-only response contains no listings, the API retries with a viewport from Zillow's public search page if that page selects exactly the same region. Upstream blocks and transport failures return errors.\n- **Params:** `east` (number, optional) — Map east bound; pass with west, south, and north; `location` (string, **required**) — Display location; `north` (number, optional) — Map north bound; pass with west, east, and south; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Zillow region id from autocomplete, used when complete bounds are not provided; `region_type` (integer, optional) — Zillow region type from autocomplete, used with region_id fallback; `south` (number, optional) — Map south bound; pass with west, east, and north; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold; `west` (number, optional) — Map west bound; pass with east, south, and north\n\n## Cars.com (2)\n\n### `carsdotcom_search`\n\n- **HTTP:** `GET /carsdotcom/search`\n- **What:** Search Cars.com vehicle listings. Searches Cars.com for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count. Credential-free public data sourced directly from Cars.com's own public search API.\n- **Params:** `page` (integer, optional) — 1-indexed result page, defaults to 1. Cars.com returns 24 results per page; `radius` (integer, optional) — Search radius in miles around zip; `stock_type` (string, optional) — Listing condition. Allowed values: new, used, cpo, all; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `carsdotcom_vehicle`\n\n- **HTTP:** `GET /carsdotcom/vehicle/{listing_id}`\n- **What:** Get Cars.com vehicle listing detail. Returns a normalized Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable. Credential-free public data sourced directly from Cars.com's own public GraphQL API.\n- **Params:** `listing_id` (string, **required**) — Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL\n\n## Rightmove (8)\n\n### `rightmove_agent_branch`\n\n- **HTTP:** `GET /rightmove/agents/{id}`\n- **What:** Get Rightmove estate agent branch details. Returns one estate-agent branch profile from Rightmove, including address, telephones, service flags, industry affiliations, and the branch's own sales and lettings listing previews. The slug segments in Rightmove agent URLs are cosmetic; the branch resolves by numeric id alone.\n- **Params:** `id` (string, **required**) — Rightmove agent branch id\n\n### `rightmove_agents`\n\n- **HTTP:** `GET /rightmove/agents`\n- **What:** List Rightmove estate agents for a location. Lists estate-agent branches from Rightmove's estate-agents directory for a location, with branch display name, brand, address, telephones, sales/lettings flags, logo, and a link to the branch profile. Pagination follows Rightmove's current directory pages, whose result counts can vary.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete (numeric location id required); `page` (integer, optional) — Result page (default 1)\n\n### `rightmove_autocomplete`\n\n- **HTTP:** `GET /rightmove/autocomplete`\n- **What:** Get Rightmove location autocomplete suggestions. Returns location suggestions from Rightmove's autocomplete API for a given query.\n- **Params:** `limit` (integer, optional) — Maximum suggestions to return (default 10, max 20); `query` (string, **required**) — Location query\n\n### `rightmove_commercial_search`\n\n- **HTTP:** `GET /rightmove/commercial/search`\n- **What:** Search Rightmove commercial property. Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `max_size` (integer, optional) — Maximum floor area in square feet; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `min_size` (integer, optional) — Minimum floor area in square feet; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Commercial property type filter. Accepts one or more comma-separated values.; `status` (string, optional) — Listing status (default buy)\n\n### `rightmove_new_homes_search`\n\n- **HTTP:** `GET /rightmove/new-homes/search`\n- **What:** Search Rightmove new homes for sale. Search Rightmove's new-homes-for-sale listings for a location, with price, bedroom, bathroom, and property-type filters. Results are individual new-build homes and plots (with development flags), not development-level cards.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values.\n\n### `rightmove_property`\n\n- **HTTP:** `GET /rightmove/properties/{id}`\n- **What:** Get Rightmove property details. Returns detailed information for a specific Rightmove property by ID.\n- **Params:** `id` (string, **required**) — Rightmove property ID\n\n### `rightmove_search`\n\n- **HTTP:** `GET /rightmove/search`\n- **What:** Search Rightmove properties. Search for properties on Rightmove with filters for location, price, bedrooms, etc.\n- **Params:** `dont_show` (string, optional) — Exclude listings with these attributes. Accepts one or more comma-separated values.; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `must_have` (string, optional) — Require listings to have these attributes. Accepts one or more comma-separated values.; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values. private-halls (Student Halls) mainly returns results for status=to_let.; `radius` (number, optional) — Search radius in miles around location, default 0 (this area only); `sort` (string, optional) — Result sort order, default newest_listed; `status` (string, optional) — Listing status (default for_sale); `tenure_types` (string, optional) — Tenure filter. Accepts one or more comma-separated values.\n\n### `rightmove_student_search`\n\n- **HTTP:** `GET /rightmove/student/search`\n- **What:** Search Rightmove student accommodation. Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.\n- **Params:** `furnish_type` (string, optional) — Furnishing filter; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum monthly rent in whole GBP units, not pence; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum monthly rent in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1)\n\nFile v1.0.20:skill-card.md\n\n## Description:\n\nResearches public home and vehicle listings, property estimates, and market trends through Crawlora, including Zillow, Redfin, Rightmove, CarMax, Autotrader, and Cars.com.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHome shoppers, car shoppers, and researchers use this skill to compare public listings, check property estimates and market trends, and retrieve property, vehicle, or dealer details.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Searches and listing identifiers are sent to Crawlora with the user's API key, potentially disclosing sensitive location or business interests.\n\nMitigation: Use only with approved third-party access and avoid sensitive private locations or confidential business searches.\n\nRisk: The main skill description omits included Rightmove routes.\n\nMitigation: Disclose Rightmove support in the skill description or remove those routes if unintended.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n- [Crawlora](https://crawlora.net)\n- [Endpoint reference](artifact/reference/endpoints.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands]\n\n**Output Format:** [Markdown responses and JSON API results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Public listing and market data returned through Crawlora; search results may be paginated.]\n\n## Skill Version(s):\n\n1.0.20 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.19: 5 files, 10873 bytes\n\nFiles: reference/endpoints.md (20765b), scripts/crawlora.sh (4474b), skill-card.md (1866b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Zillow,\nRedfin, CarMax, Autotrader, and Cars.com endpoint this skill uses.\n\n## Examples\n\n- **Home-buying research:** `/zillow/search` + `/redfin/search` for the\n  same area, cross-check price/sqft, then `/redfin/region-trends` for\n  whether the market is heating up or cooling.\n- **Property valuation sanity-check:** `/redfin/estimate` alongside\n  `/redfin/similar` (comps) for one address.\n- **Car-shopping compare:** `/carmax/search`, `/autotrader/search`, and\n  `/carsdotcom/search` for the same make/model/zip, diff price and mileage\n  across all three.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/estimate pages; not a real-estate or\n  financial advisor.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Redfin's region ids are platform-specific** — resolve via `/redfin/search`\n  results (which include `region_id`) before calling `/redfin/region-trends` cold.\n- **Zillow search requires a `region_id` (from `/zillow/autocomplete`), not just\n  a `location` string** — a bare `location` will `400`.\n- Search endpoints are paginated (`page`) — walk pages for full coverage.\n\nFile v1.0.19:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1790426868450\n}\n\nFile v1.0.19:reference/endpoints.md\n\n# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public data sourced from CarMax's own server-rendered store page.\n- **Params:** `id` (string, **required**) — CarMax store id, the numeric path segment of a /stores/{id} URL\n\n### `carmax_stores`\n\n- **HTTP:** `GET /carmax/stores`\n- **What:** Search CarMax store (physical location) locations. Searches CarMax's physical store locations by ZIP code or free-text keyword, returning normalized stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles. Credential-free public data sourced from CarMax's own mobile-app store-locator API.\n- **Params:** `keyword` (string, optional) — Free-text match against store name or city; `take` (integer, optional) — Maximum number of stores to return, defaults to 10, capped at 300; `zip` (string, optional) — 5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given\n\n### `carmax_vehicle`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}`\n- **What:** Get CarMax vehicle listing detail. Returns a normalized CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms. Credential-free public data sourced primarily from CarMax's own mobile-app API, backfilled with the website's server-rendered page for accident/owner history and warranty terms the mobile API doesn't expose.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, optional) — Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted\n\n### `carmax_vehicle_recommendations`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}/recommendations`\n- **What:** Get CarMax \"similar vehicles\" recommendations for a listing. Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, **required**) — CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field\n\n## Redfin (5)\n\n### `redfin_estimate`\n\n- **HTTP:** `GET /redfin/estimate`\n- **What:** Get Redfin Estimate. Returns the Redfin Estimate for a property, including the current estimate, property facts, and the monthly estimate history with city/county/postal comparatives. Faithful pass-through of Redfin's public avm + avmHistoricalData resources.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n### `redfin_property`\n\n- **HTTP:** `GET /redfin/property`\n- **What:** Get Redfin property. Returns normalized Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id) to use Redfin's public stingray detail API.\n- **Params:** `listing_id` (string, optional) — Redfin listing id, improves completeness with property_id; `property_id` (string, optional) — Redfin property id, used when url is not provided; `url` (string, optional) — Redfin listing URL (primary key)\n\n### `redfin_region_trends`\n\n- **HTTP:** `GET /redfin/region-trends`\n- **What:** Get Redfin region market trends. Returns Redfin's aggregate market trends for a region (median list/sale price, sale-to-list, offers, days on market, inventory, year-over-year). Faithful pass-through of Redfin's public aggregate-trends resource.\n- **Params:** `region_id` (integer, **required**) — Redfin region id for a neighborhood, ZIP code, county, or city; `region_type` (integer, optional) — Redfin region type (defaults to 6, city)\n\n### `redfin_search`\n\n- **HTTP:** `GET /redfin/search`\n- **What:** Search Redfin listings. Returns normalized Redfin public listing search results from Redfin's credential-free region CSV endpoint. Pass region_id/region_type from autocomplete to skip location resolution.\n- **Params:** `location` (string, optional) — Display location; resolved via autocomplete when region_id is omitted; `max_price` (integer, optional) — Maximum price filter; `min_baths` (number, optional) — Minimum bathrooms filter; `min_beds` (integer, optional) — Minimum bedrooms filter; `min_price` (integer, optional) — Minimum price filter; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Redfin region id; skips location resolution when provided; `region_type` (integer, optional) — Redfin region type, used with region_id (defaults to 6, city); `status` (string, optional) — Listing status: for_sale or sold\n\n### `redfin_similar`\n\n- **HTTP:** `GET /redfin/similar`\n- **What:** Get Redfin comparable listings. Returns Redfin's comparable (\"similar\") listings for a property as normalized listing rows. Faithful pass-through of Redfin's public similars resource.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n## Autotrader (3)\n\n### `autotrader_dealer`\n\n- **HTTP:** `GET /autotrader/dealer/{id}`\n- **What:** Get Autotrader dealer profile. Returns a normalized Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as normalized vehicle summaries and the dealer's total listing count. Credential-free public data sourced from Autotrader's own server-rendered dealer profile page.\n- **Params:** `id` (string, **required**) — Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL\n\n### `autotrader_search`\n\n- **HTTP:** `GET /autotrader/search`\n- **What:** Search Autotrader vehicle listings. Searches Autotrader for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count. Credential-free public data sourced from Autotrader's own server-rendered search page.\n- **Params:** `body_style` (string, optional) — Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon; `condition` (string, optional) — Listing condition. Allowed values: new, used, certified, 3p_cert; `make` (string, optional) — Autotrader make code, e.g. TOYOTA, HONDA, BMW; `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — Autotrader model code, e.g. CAMRY. Requires make; `page` (integer, optional) — 1-indexed result page, defaults to 1. Autotrader returns 24 results per page; `query` (string, optional) — Free-text keyword search; `radius` (integer, optional) — Search radius in miles around zip; `seller_type` (string, optional) — Seller type. Allowed values: dealer, private; `trim` (string, optional) — Autotrader trim code. Requires make and model; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `autotrader_vehicle`\n\n- **HTTP:** `GET /autotrader/vehicle/{id}`\n- **What:** Get Autotrader vehicle listing detail. Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.\n- **Params:** `id` (string, **required**) — Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL\n\n## Zillow (3)\n\n### `zillow_autocomplete`\n\n- **HTTP:** `GET /zillow/autocomplete`\n- **What:** Autocomplete Zillow locations. Returns normalized Zillow public web autocomplete candidates. Semantic candidates may include region_id/region_type compatibility aliases plus region_ids/region_types arrays; prefer complete bounds metadata for Zillow search when present.\n- **Params:** `limit` (integer, optional) — Maximum results, clamped to 20; `query` (string, **required**) — Location query; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold\n\n### `zillow_property`\n\n- **HTTP:** `GET /zillow/property/{zpid}`\n- **What:** Get Zillow property. Returns normalized Zillow public property details using Zillow's public persisted GraphQL property payload, including optional typed sections for address parts, listing attribution, pricing, history, media, facts, schools, and nearby homes when present.\n- **Params:** `zpid` (string, **required**) — Zillow property id\n\n### `zillow_search`\n\n- **HTTP:** `GET /zillow/search`\n- **What:** Search Zillow listings. Returns normalized Zillow public listing search results. Callers must pass complete map bounds from autocomplete when available, or a region id fallback.\n- **Params:** `east` (number, optional) — Map east bound from autocomplete; `location` (string, **required**) — Display location; `north` (number, optional) — Map north bound from autocomplete; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Zillow region id from autocomplete, used when complete bounds are not provided; `region_type` (integer, optional) — Zillow region type from autocomplete, used with region_id fallback; `south` (number, optional) — Map south bound from autocomplete; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold; `west` (number, optional) — Map west bound from autocomplete\n\n## Cars.com (2)\n\n### `carsdotcom_search`\n\n- **HTTP:** `GET /carsdotcom/search`\n- **What:** Search Cars.com vehicle listings. Searches Cars.com for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count. Credential-free public data sourced directly from Cars.com's own public search API.\n- **Params:** `page` (integer, optional) — 1-indexed result page, defaults to 1. Cars.com returns 24 results per page; `radius` (integer, optional) — Search radius in miles around zip; `stock_type` (string, optional) — Listing condition. Allowed values: new, used, cpo, all; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `carsdotcom_vehicle`\n\n- **HTTP:** `GET /carsdotcom/vehicle/{listing_id}`\n- **What:** Get Cars.com vehicle listing detail. Returns a normalized Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable. Credential-free public data sourced directly from Cars.com's own public GraphQL API.\n- **Params:** `listing_id` (string, **required**) — Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL\n\n## Rightmove (8)\n\n### `rightmove_agent_branch`\n\n- **HTTP:** `GET /rightmove/agents/{id}`\n- **What:** Get Rightmove estate agent branch details. Returns one estate-agent branch profile from Rightmove, including address, telephones, service flags, industry affiliations, and the branch's own sales and lettings listing previews. The slug segments in Rightmove agent URLs are cosmetic; the branch resolves by numeric id alone.\n- **Params:** `id` (string, **required**) — Rightmove agent branch id\n\n### `rightmove_agents`\n\n- **HTTP:** `GET /rightmove/agents`\n- **What:** List Rightmove estate agents for a location. Lists estate-agent branches from Rightmove's estate-agents directory for a location, with branch display name, brand, address, telephones, sales/lettings flags, logo, and a link to the branch profile. Pagination follows Rightmove's current directory pages, whose result counts can vary.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete (numeric location id required); `page` (integer, optional) — Result page (default 1)\n\n### `rightmove_autocomplete`\n\n- **HTTP:** `GET /rightmove/autocomplete`\n- **What:** Get Rightmove location autocomplete suggestions. Returns location suggestions from Rightmove's autocomplete API for a given query.\n- **Params:** `limit` (integer, optional) — Maximum suggestions to return (default 10, max 20); `query` (string, **required**) — Location query\n\n### `rightmove_commercial_search`\n\n- **HTTP:** `GET /rightmove/commercial/search`\n- **What:** Search Rightmove commercial property. Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `max_size` (integer, optional) — Maximum floor area in square feet; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `min_size` (integer, optional) — Minimum floor area in square feet; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Commercial property type filter. Accepts one or more comma-separated values.; `status` (string, optional) — Listing status (default buy)\n\n### `rightmove_new_homes_search`\n\n- **HTTP:** `GET /rightmove/new-homes/search`\n- **What:** Search Rightmove new homes for sale. Search Rightmove's new-homes-for-sale listings for a location, with price, bedroom, bathroom, and property-type filters. Results are individual new-build homes and plots (with development flags), not development-level cards.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values.\n\n### `rightmove_property`\n\n- **HTTP:** `GET /rightmove/properties/{id}`\n- **What:** Get Rightmove property details. Returns detailed information for a specific Rightmove property by ID.\n- **Params:** `id` (string, **required**) — Rightmove property ID\n\n### `rightmove_search`\n\n- **HTTP:** `GET /rightmove/search`\n- **What:** Search Rightmove properties. Search for properties on Rightmove with filters for location, price, bedrooms, etc.\n- **Params:** `dont_show` (string, optional) — Exclude listings with these attributes. Accepts one or more comma-separated values.; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `must_have` (string, optional) — Require listings to have these attributes. Accepts one or more comma-separated values.; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values. private-halls (Student Halls) mainly returns results for status=to_let.; `radius` (number, optional) — Search radius in miles around location, default 0 (this area only); `sort` (string, optional) — Result sort order, default newest_listed; `status` (string, optional) — Listing status (default for_sale); `tenure_types` (string, optional) — Tenure filter. Accepts one or more comma-separated values.\n\n### `rightmove_student_search`\n\n- **HTTP:** `GET /rightmove/student/search`\n- **What:** Search Rightmove student accommodation. Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.\n- **Params:** `furnish_type` (string, optional) — Furnishing filter; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum monthly rent in whole GBP units, not pence; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum monthly rent in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1)\n\nFile v1.0.19:skill-card.md\n\n## Description:\n\nResearches public property and vehicle listings, property estimates, and market trends through Crawlora and returns normalized JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHome buyers, car shoppers, and research agents use the skill to compare public listings, check property estimates and local market trends, and inspect vehicle or dealer details.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Property or vehicle search terms, locations, listing IDs, and the API key are sent to Crawlora.\n\nMitigation: Use only necessary search details and a dedicated API key; do not include sensitive information in queries.\n\nRisk: Additional Rightmove endpoints are supported but omitted from the main skill description.\n\nMitigation: Review the endpoint reference to understand the full supported scope before use.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n- [Supported endpoint reference](reference/endpoints.md)\n- [Crawlora API and key setup](https://crawlora.net)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands]\n\n**Output Format:** [Markdown research summaries and normalized JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Searches can be filtered by location, property or vehicle identifiers, and listing attributes.]\n\n## Skill Version(s):\n\n1.0.19 (source: ClawHub release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.18: 5 files, 11056 bytes\n\nFiles: reference/endpoints.md (20699b), scripts/crawlora.sh (4474b), skill-card.md (2315b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Zillow,\nRedfin, CarMax, Autotrader, and Cars.com endpoint this skill uses.\n\n## Examples\n\n- **Home-buying research:** `/zillow/search` + `/redfin/search` for the\n  same area, cross-check price/sqft, then `/redfin/region-trends` for\n  whether the market is heating up or cooling.\n- **Property valuation sanity-check:** `/redfin/estimate` alongside\n  `/redfin/similar` (comps) for one address.\n- **Car-shopping compare:** `/carmax/search`, `/autotrader/search`, and\n  `/carsdotcom/search` for the same make/model/zip, diff price and mileage\n  across all three.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/estimate pages; not a real-estate or\n  financial advisor.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Redfin's region ids are platform-specific** — resolve via `/redfin/search`\n  results (which include `region_id`) before calling `/redfin/region-trends` cold.\n- **Zillow search requires a `region_id` (from `/zillow/autocomplete`), not just\n  a `location` string** — a bare `location` will `400`.\n- Search endpoints are paginated (`page`) — walk pages for full coverage.\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1789955240283\n}\n\nFile v1.0.18:reference/endpoints.md\n\n# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public data sourced from CarMax's own server-rendered store page.\n- **Params:** `id` (string, **required**) — CarMax store id, the numeric path segment of a /stores/{id} URL\n\n### `carmax_stores`\n\n- **HTTP:** `GET /carmax/stores`\n- **What:** Search CarMax store (physical location) locations. Searches CarMax's physical store locations by ZIP code or free-text keyword, returning normalized stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles. Credential-free public data sourced from CarMax's own mobile-app store-locator API.\n- **Params:** `keyword` (string, optional) — Free-text match against store name or city; `take` (integer, optional) — Maximum number of stores to return, defaults to 10, capped at 300; `zip` (string, optional) — 5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given\n\n### `carmax_vehicle`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}`\n- **What:** Get CarMax vehicle listing detail. Returns a normalized CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms. Credential-free public data sourced primarily from CarMax's own mobile-app API, backfilled with the website's server-rendered page for accident/owner history and warranty terms the mobile API doesn't expose.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, optional) — Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted\n\n### `carmax_vehicle_recommendations`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}/recommendations`\n- **What:** Get CarMax \"similar vehicles\" recommendations for a listing. Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, **required**) — CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field\n\n## Redfin (5)\n\n### `redfin_estimate`\n\n- **HTTP:** `GET /redfin/estimate`\n- **What:** Get Redfin Estimate. Returns the Redfin Estimate for a property, including the current estimate, property facts, and the monthly estimate history with city/county/postal comparatives. Faithful pass-through of Redfin's public avm + avmHistoricalData resources.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n### `redfin_property`\n\n- **HTTP:** `GET /redfin/property`\n- **What:** Get Redfin property. Returns normalized Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id) to use Redfin's public stingray detail API.\n- **Params:** `listing_id` (string, optional) — Redfin listing id, improves completeness with property_id; `property_id` (string, optional) — Redfin property id, used when url is not provided; `url` (string, optional) — Redfin listing URL (primary key)\n\n### `redfin_region_trends`\n\n- **HTTP:** `GET /redfin/region-trends`\n- **What:** Get Redfin region market trends. Returns Redfin's aggregate market trends for a region (median list/sale price, sale-to-list, offers, days on market, inventory, year-over-year). Faithful pass-through of Redfin's public aggregate-trends resource.\n- **Params:** `region_id` (integer, **required**) — Redfin region id for a neighborhood, ZIP code, county, or city; `region_type` (integer, optional) — Redfin region type (defaults to 6, city)\n\n### `redfin_search`\n\n- **HTTP:** `GET /redfin/search`\n- **What:** Search Redfin listings. Returns normalized Redfin public listing search results from Redfin's credential-free region CSV endpoint. Pass region_id/region_type from autocomplete to skip location resolution.\n- **Params:** `location` (string, optional) — Display location; resolved via autocomplete when region_id is omitted; `max_price` (integer, optional) — Maximum price filter; `min_baths` (number, optional) — Minimum bathrooms filter; `min_beds` (integer, optional) — Minimum bedrooms filter; `min_price` (integer, optional) — Minimum price filter; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Redfin region id; skips location resolution when provided; `region_type` (integer, optional) — Redfin region type, used with region_id (defaults to 6, city); `status` (string, optional) — Listing status: for_sale or sold\n\n### `redfin_similar`\n\n- **HTTP:** `GET /redfin/similar`\n- **What:** Get Redfin comparable listings. Returns Redfin's comparable (\"similar\") listings for a property as normalized listing rows. Faithful pass-through of Redfin's public similars resource.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n## Autotrader (3)\n\n### `autotrader_dealer`\n\n- **HTTP:** `GET /autotrader/dealer/{id}`\n- **What:** Get Autotrader dealer profile. Returns a normalized Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as normalized vehicle summaries and the dealer's total listing count. Credential-free public data sourced from Autotrader's own server-rendered dealer profile page.\n- **Params:** `id` (string, **required**) — Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL\n\n### `autotrader_search`\n\n- **HTTP:** `GET /autotrader/search`\n- **What:** Search Autotrader vehicle listings. Searches Autotrader for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count. Credential-free public data sourced from Autotrader's own server-rendered search page.\n- **Params:** `body_style` (string, optional) — Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon; `condition` (string, optional) — Listing condition. Allowed values: new, used, certified, 3p_cert; `make` (string, optional) — Autotrader make code, e.g. TOYOTA, HONDA, BMW; `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — Autotrader model code, e.g. CAMRY. Requires make; `page` (integer, optional) — 1-indexed result page, defaults to 1. Autotrader returns 24 results per page; `query` (string, optional) — Free-text keyword search; `radius` (integer, optional) — Search radius in miles around zip; `seller_type` (string, optional) — Seller type. Allowed values: dealer, private; `trim` (string, optional) — Autotrader trim code. Requires make and model; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `autotrader_vehicle`\n\n- **HTTP:** `GET /autotrader/vehicle/{id}`\n- **What:** Get Autotrader vehicle listing detail. Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.\n- **Params:** `id` (string, **required**) — Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL\n\n## Zillow (3)\n\n### `zillow_autocomplete`\n\n- **HTTP:** `GET /zillow/autocomplete`\n- **What:** Autocomplete Zillow locations. Returns normalized Zillow public web autocomplete candidates. Semantic candidates may include region_id/region_type compatibility aliases plus region_ids/region_types arrays; prefer complete bounds metadata for Zillow search when present.\n- **Params:** `limit` (integer, optional) — Maximum results, clamped to 20; `query` (string, **required**) — Location query; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold\n\n### `zillow_property`\n\n- **HTTP:** `GET /zillow/property/{zpid}`\n- **What:** Get Zillow property. Returns normalized Zillow public property details using Zillow's public persisted GraphQL property payload, including optional typed sections for address parts, listing attribution, pricing, history, media, facts, schools, and nearby homes when present.\n- **Params:** `zpid` (string, **required**) — Zillow property id\n\n### `zillow_search`\n\n- **HTTP:** `GET /zillow/search`\n- **What:** Search Zillow listings. Returns normalized Zillow public listing search results. Callers must pass complete map bounds from autocomplete when available, or a region id fallback.\n- **Params:** `east` (number, optional) — Map east bound from autocomplete; `location` (string, **required**) — Display location; `north` (number, optional) — Map north bound from autocomplete; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Zillow region id from autocomplete, used when complete bounds are not provided; `region_type` (integer, optional) — Zillow region type from autocomplete, used with region_id fallback; `south` (number, optional) — Map south bound from autocomplete; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold; `west` (number, optional) — Map west bound from autocomplete\n\n## Cars.com (2)\n\n### `carsdotcom_search`\n\n- **HTTP:** `GET /carsdotcom/search`\n- **What:** Search Cars.com vehicle listings. Searches Cars.com for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count. Credential-free public data sourced directly from Cars.com's own public search API.\n- **Params:** `page` (integer, optional) — 1-indexed result page, defaults to 1. Cars.com returns 24 results per page; `radius` (integer, optional) — Search radius in miles around zip; `stock_type` (string, optional) — Listing condition. Allowed values: new, used, cpo, all; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `carsdotcom_vehicle`\n\n- **HTTP:** `GET /carsdotcom/vehicle/{listing_id}`\n- **What:** Get Cars.com vehicle listing detail. Returns a normalized Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable. Credential-free public data sourced directly from Cars.com's own public GraphQL API.\n- **Params:** `listing_id` (string, **required**) — Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL\n\n## Rightmove (8)\n\n### `rightmove_agent_branch`\n\n- **HTTP:** `GET /rightmove/agents/{id}`\n- **What:** Get Rightmove estate agent branch details. Returns one estate-agent branch profile from Rightmove, including address, telephones, service flags, industry affiliations, and the branch's own sales and lettings listing previews. The slug segments in Rightmove agent URLs are cosmetic; the branch resolves by numeric id alone.\n- **Params:** `id` (string, **required**) — Rightmove agent branch id\n\n### `rightmove_agents`\n\n- **HTTP:** `GET /rightmove/agents`\n- **What:** List Rightmove estate agents for a location. Lists estate-agent branches from Rightmove's estate-agents directory for a location, with branch display name, brand, address, telephones, sales/lettings flags, logo, and a link to the branch profile. 20 agents per page.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete (numeric location id required); `page` (integer, optional) — Result page (default 1)\n\n### `rightmove_autocomplete`\n\n- **HTTP:** `GET /rightmove/autocomplete`\n- **What:** Get Rightmove location autocomplete suggestions. Returns location suggestions from Rightmove's autocomplete API for a given query.\n- **Params:** `limit` (integer, optional) — Maximum suggestions to return (default 10, max 20); `query` (string, **required**) — Location query\n\n### `rightmove_commercial_search`\n\n- **HTTP:** `GET /rightmove/commercial/search`\n- **What:** Search Rightmove commercial property. Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `max_size` (integer, optional) — Maximum floor area in square feet; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `min_size` (integer, optional) — Minimum floor area in square feet; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Commercial property type filter. Accepts one or more comma-separated values.; `status` (string, optional) — Listing status (default buy)\n\n### `rightmove_new_homes_search`\n\n- **HTTP:** `GET /rightmove/new-homes/search`\n- **What:** Search Rightmove new homes for sale. Search Rightmove's new-homes-for-sale listings for a location, with price, bedroom, bathroom, and property-type filters. Results are individual new-build homes and plots (with development flags), not development-level cards.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values.\n\n### `rightmove_property`\n\n- **HTTP:** `GET /rightmove/properties/{id}`\n- **What:** Get Rightmove property details. Returns detailed information for a specific Rightmove property by ID.\n- **Params:** `id` (string, **required**) — Rightmove property ID\n\n### `rightmove_search`\n\n- **HTTP:** `GET /rightmove/search`\n- **What:** Search Rightmove properties. Search for properties on Rightmove with filters for location, price, bedrooms, etc.\n- **Params:** `dont_show` (string, optional) — Exclude listings with these attributes. Accepts one or more comma-separated values.; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `must_have` (string, optional) — Require listings to have these attributes. Accepts one or more comma-separated values.; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter. Accepts one or more comma-separated values. private-halls (Student Halls) mainly returns results for status=to_let.; `radius` (number, optional) — Search radius in miles around location, default 0 (this area only); `sort` (string, optional) — Result sort order, default newest_listed; `status` (string, optional) — Listing status (default for_sale); `tenure_types` (string, optional) — Tenure filter. Accepts one or more comma-separated values.\n\n### `rightmove_student_search`\n\n- **HTTP:** `GET /rightmove/student/search`\n- **What:** Search Rightmove student accommodation. Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.\n- **Params:** `furnish_type` (string, optional) — Furnishing filter; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum monthly rent in whole GBP units, not pence; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum monthly rent in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1)\n\nFile v1.0.18:skill-card.md\n\n## Description:\n\nResearches homes and used cars via the Crawlora API - Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail - returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external agents use this skill to research real estate and vehicle listings, property estimates, market trends, comparable properties, and dealer or listing detail through documented Crawlora API routes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Using the skill sends search terms such as locations, ZIP codes, listing IDs, and price filters to Crawlora.\n\nMitigation: Confirm the user is comfortable sharing those query details with Crawlora and avoid sending sensitive or unnecessary personal information.\n\nRisk: The skill requires a Crawlora API key for API access.\n\nMitigation: Store the key only in CRAWLORA_API_KEY, keep it out of prompts and command-line arguments, and do not commit it.\n\nRisk: Rightmove property endpoints are supported even though the main description emphasizes Zillow, Redfin, CarMax, Autotrader, and Cars.com.\n\nMitigation: Disclose Rightmove coverage when relevant and consult the endpoint reference before calling those routes.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Skill release page](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses CRAWLORA_API_KEY from the environment and returns normalized public listing, estimate, trend, vehicle, dealer, and endpoint response data.]\n\n## Skill Version(s):\n\n1.0.18 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.17: 5 files, 10978 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (4474b), skill-card.md (2548b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Zillow,\nRedfin, CarMax, Autotrader, and Cars.com endpoint this skill uses.\n\n## Examples\n\n- **Home-buying research:** `/zillow/search` + `/redfin/search` for the\n  same area, cross-check price/sqft, then `/redfin/region-trends` for\n  whether the market is heating up or cooling.\n- **Property valuation sanity-check:** `/redfin/estimate` alongside\n  `/redfin/similar` (comps) for one address.\n- **Car-shopping compare:** `/carmax/search`, `/autotrader/search`, and\n  `/carsdotcom/search` for the same make/model/zip, diff price and mileage\n  across all three.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/estimate pages; not a real-estate or\n  financial advisor.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Redfin's region ids are platform-specific** — resolve via `/redfin/search`\n  results (which include `region_id`) before calling `/redfin/region-trends` cold.\n- **Zillow search requires a `region_id` (from `/zillow/autocomplete`), not just\n  a `location` string** — a bare `location` will `400`.\n- Search endpoints are paginated (`page`) — walk pages for full coverage.\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1789640442607\n}\n\nFile v1.0.17:reference/endpoints.md\n\n# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public data sourced from CarMax's own server-rendered store page.\n- **Params:** `id` (string, **required**) — CarMax store id, the numeric path segment of a /stores/{id} URL\n\n### `carmax_stores`\n\n- **HTTP:** `GET /carmax/stores`\n- **What:** Search CarMax store (physical location) locations. Searches CarMax's physical store locations by ZIP code or free-text keyword, returning normalized stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles. Credential-free public data sourced from CarMax's own mobile-app store-locator API.\n- **Params:** `keyword` (string, optional) — Free-text match against store name or city; `take` (integer, optional) — Maximum number of stores to return, defaults to 10, capped at 300; `zip` (string, optional) — 5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given\n\n### `carmax_vehicle`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}`\n- **What:** Get CarMax vehicle listing detail. Returns a normalized CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms. Credential-free public data sourced primarily from CarMax's own mobile-app API, backfilled with the website's server-rendered page for accident/owner history and warranty terms the mobile API doesn't expose.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, optional) — Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted\n\n### `carmax_vehicle_recommendations`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}/recommendations`\n- **What:** Get CarMax \"similar vehicles\" recommendations for a listing. Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, **required**) — CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field\n\n## Redfin (5)\n\n### `redfin_estimate`\n\n- **HTTP:** `GET /redfin/estimate`\n- **What:** Get Redfin Estimate. Returns the Redfin Estimate for a property, including the current estimate, property facts, and the monthly estimate history with city/county/postal comparatives. Faithful pass-through of Redfin's public avm + avmHistoricalData resources.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n### `redfin_property`\n\n- **HTTP:** `GET /redfin/property`\n- **What:** Get Redfin property. Returns normalized Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id) to use Redfin's public stingray detail API.\n- **Params:** `listing_id` (string, optional) — Redfin listing id, improves completeness with property_id; `property_id` (string, optional) — Redfin property id, used when url is not provided; `url` (string, optional) — Redfin listing URL (primary key)\n\n### `redfin_region_trends`\n\n- **HTTP:** `GET /redfin/region-trends`\n- **What:** Get Redfin region market trends. Returns Redfin's aggregate market trends for a region (median list/sale price, sale-to-list, offers, days on market, inventory, year-over-year). Faithful pass-through of Redfin's public aggregate-trends resource.\n- **Params:** `region_id` (integer, **required**) — Redfin region id from autocomplete; `region_type` (integer, optional) — Redfin region type from autocomplete (defaults to 6, city)\n\n### `redfin_search`\n\n- **HTTP:** `GET /redfin/search`\n- **What:** Search Redfin listings. Returns normalized Redfin public listing search results from Redfin's credential-free region CSV endpoint. Pass region_id/region_type from autocomplete to skip location resolution.\n- **Params:** `location` (string, optional) — Display location; resolved via autocomplete when region_id is omitted; `max_price` (integer, optional) — Maximum price filter; `min_baths` (number, optional) — Minimum bathrooms filter; `min_beds` (integer, optional) — Minimum bedrooms filter; `min_price` (integer, optional) — Minimum price filter; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Redfin region id from autocomplete; `region_type` (integer, optional) — Redfin region type from autocomplete (defaults to 6, city); `status` (string, optional) — Listing status: for_sale or sold\n\n### `redfin_similar`\n\n- **HTTP:** `GET /redfin/similar`\n- **What:** Get Redfin comparable listings. Returns Redfin's comparable (\"similar\") listings for a property as normalized listing rows. Faithful pass-through of Redfin's public similars resource.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n## Autotrader (3)\n\n### `autotrader_dealer`\n\n- **HTTP:** `GET /autotrader/dealer/{id}`\n- **What:** Get Autotrader dealer profile. Returns a normalized Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as normalized vehicle summaries and the dealer's total listing count. Credential-free public data sourced from Autotrader's own server-rendered dealer profile page.\n- **Params:** `id` (string, **required**) — Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL\n\n### `autotrader_search`\n\n- **HTTP:** `GET /autotrader/search`\n- **What:** Search Autotrader vehicle listings. Searches Autotrader for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count. Credential-free public data sourced from Autotrader's own server-rendered search page.\n- **Params:** `body_style` (string, optional) — Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon; `condition` (string, optional) — Listing condition. Allowed values: new, used, certified, 3p_cert; `make` (string, optional) — Autotrader make code, e.g. TOYOTA, HONDA, BMW; `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — Autotrader model code, e.g. CAMRY. Requires make; `page` (integer, optional) — 1-indexed result page, defaults to 1. Autotrader returns 24 results per page; `query` (string, optional) — Free-text keyword search; `radius` (integer, optional) — Search radius in miles around zip; `seller_type` (string, optional) — Seller type. Allowed values: dealer, private; `trim` (string, optional) — Autotrader trim code. Requires make and model; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `autotrader_vehicle`\n\n- **HTTP:** `GET /autotrader/vehicle/{id}`\n- **What:** Get Autotrader vehicle listing detail. Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.\n- **Params:** `id` (string, **required**) — Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL\n\n## Zillow (3)\n\n### `zillow_autocomplete`\n\n- **HTTP:** `GET /zillow/autocomplete`\n- **What:** Autocomplete Zillow locations. Returns normalized Zillow public web autocomplete candidates. Semantic candidates may include region_id/region_type compatibility aliases plus region_ids/region_types arrays; prefer complete bounds metadata for Zillow search when present.\n- **Params:** `limit` (integer, optional) — Maximum results, clamped to 20; `query` (string, **required**) — Location query; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold\n\n### `zillow_property`\n\n- **HTTP:** `GET /zillow/property/{zpid}`\n- **What:** Get Zillow property. Returns normalized Zillow public property details using Zillow's public persisted GraphQL property payload, including optional typed sections for address parts, listing attribution, pricing, history, media, facts, schools, and nearby homes when present.\n- **Params:** `zpid` (string, **required**) — Zillow property id\n\n### `zillow_search`\n\n- **HTTP:** `GET /zillow/search`\n- **What:** Search Zillow listings. Returns normalized Zillow public listing search results. Callers must pass complete map bounds from autocomplete when available, or a region id fallback.\n- **Params:** `east` (number, optional) — Map east bound from autocomplete; `location` (string, **required**) — Display location; `north` (number, optional) — Map north bound from autocomplete; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Zillow region id from autocomplete, used when complete bounds are not provided; `region_type` (integer, optional) — Zillow region type from autocomplete, used with region_id fallback; `south` (number, optional) — Map south bound from autocomplete; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold; `west` (number, optional) — Map west bound from autocomplete\n\n## Cars.com (2)\n\n### `carsdotcom_search`\n\n- **HTTP:** `GET /carsdotcom/search`\n- **What:** Search Cars.com vehicle listings. Searches Cars.com for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count. Credential-free public data sourced directly from Cars.com's own public search API.\n- **Params:** `page` (integer, optional) — 1-indexed result page, defaults to 1. Cars.com returns 24 results per page; `radius` (integer, optional) — Search radius in miles around zip; `stock_type` (string, optional) — Listing condition. Allowed values: new, used, cpo, all; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `carsdotcom_vehicle`\n\n- **HTTP:** `GET /carsdotcom/vehicle/{listing_id}`\n- **What:** Get Cars.com vehicle listing detail. Returns a normalized Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable. Credential-free public data sourced directly from Cars.com's own public GraphQL API.\n- **Params:** `listing_id` (string, **required**) — Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL\n\n## Rightmove (8)\n\n### `rightmove_agent_branch`\n\n- **HTTP:** `GET /rightmove/agents/{id}`\n- **What:** Get Rightmove estate agent branch details. Returns one estate-agent branch profile from Rightmove, including address, telephones, service flags, industry affiliations, and the branch's own sales and lettings listing previews. The slug segments in Rightmove agent URLs are cosmetic; the branch resolves by numeric id alone.\n- **Params:** `id` (string, **required**) — Rightmove agent branch id\n\n### `rightmove_agents`\n\n- **HTTP:** `GET /rightmove/agents`\n- **What:** List Rightmove estate agents for a location. Lists estate-agent branches from Rightmove's estate-agents directory for a location, with branch display name, brand, address, telephones, sales/lettings flags, logo, and a link to the branch profile. 20 agents per page.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete (numeric location id required); `page` (integer, optional) — Result page (default 1)\n\n### `rightmove_autocomplete`\n\n- **HTTP:** `GET /rightmove/autocomplete`\n- **What:** Get Rightmove location autocomplete suggestions. Returns location suggestions from Rightmove's autocomplete API for a given query.\n- **Params:** `limit` (integer, optional) — Maximum suggestions to return (default 10, max 20); `query` (string, **required**) — Location query\n\n### `rightmove_commercial_search`\n\n- **HTTP:** `GET /rightmove/commercial/search`\n- **What:** Search Rightmove commercial property. Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `max_size` (integer, optional) — Maximum floor area in square feet; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `min_size` (integer, optional) — Minimum floor area in square feet; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Commercial property type filter (e.g. office, retail, industrial, warehouse, land, hotel, leisure); `status` (string, optional) — Listing status (default buy)\n\n### `rightmove_new_homes_search`\n\n- **HTTP:** `GET /rightmove/new-homes/search`\n- **What:** Search Rightmove new homes for sale. Search Rightmove's new-homes-for-sale listings for a location, with price, bedroom, bathroom, and property-type filters. Results are individual new-build homes and plots (with development flags), not development-level cards.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter (e.g. detached, flat, apartment, semi-detached, terrace, bungalow)\n\n### `rightmove_property`\n\n- **HTTP:** `GET /rightmove/properties/{id}`\n- **What:** Get Rightmove property details. Returns detailed information for a specific Rightmove property by ID.\n- **Params:** `id` (string, **required**) — Rightmove property ID\n\n### `rightmove_search`\n\n- **HTTP:** `GET /rightmove/search`\n- **What:** Search Rightmove properties. Search for properties on Rightmove with filters for location, price, bedrooms, etc.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter; `status` (string, optional) — Listing status (default for_sale)\n\n### `rightmove_student_search`\n\n- **HTTP:** `GET /rightmove/student/search`\n- **What:** Search Rightmove student accommodation. Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.\n- **Params:** `furnish_type` (string, optional) — Furnishing filter; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum monthly rent in whole GBP units, not pence; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum monthly rent in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1)\n\nFile v1.0.17:skill-card.md\n\n## Description:\n\nResearches homes and used cars via the Crawlora API -- Zillow and Redfin property search, estimates, and market trends, plus CarMax, Autotrader, Cars.com, and Rightmove listing research -- returning clean JSON.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and research agents use this skill to search public home and vehicle listings, compare properties or cars, retrieve listing and dealer details, and check market or valuation signals through the Crawlora API.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Searches and listing identifiers are sent to Crawlora with the user's Crawlora API key.\n\nMitigation: Use only intended search terms and listing identifiers, keep CRAWLORA_API_KEY in the environment, and do not hardcode, commit, or place the key in command arguments.\n\nRisk: The packaged endpoint reference includes Rightmove routes that are not named in the main description.\n\nMitigation: Review Rightmove endpoint behavior in reference/endpoints.md before using those routes.\n\nRisk: Real-estate estimates, market trends, and vehicle listing data may be incomplete, stale, or unsuitable as professional advice.\n\nMitigation: Treat returned public listing data as research input and verify important financial, real-estate, vehicle-history, or purchasing decisions through authoritative sources and qualified professionals.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [Publisher profile](https://clawhub.ai/user/crawlora-org)\n- [Skill release page](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON from Crawlora API calls]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses CRAWLORA_API_KEY from the environment; helper requests are limited to documented GET routes.]\n\n## Skill Version(s):\n\n1.0.17 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.16: 5 files, 11431 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (5383b), skill-card.md (2542b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'\n```\n\nUse `scripts/crawlora.sh` for all requests; it keeps the API key out of command-line arguments.\n\n\n## Endpoint reference\n\nSee [`reference/endpoints.md`](reference/endpoints.md) for every Zillow,\nRedfin, CarMax, Autotrader, and Cars.com endpoint this skill uses.\n\n## Examples\n\n- **Home-buying research:** `/zillow/search` + `/redfin/search` for the\n  same area, cross-check price/sqft, then `/redfin/region-trends` for\n  whether the market is heating up or cooling.\n- **Property valuation sanity-check:** `/redfin/estimate` alongside\n  `/redfin/similar` (comps) for one address.\n- **Car-shopping compare:** `/carmax/search`, `/autotrader/search`, and\n  `/carsdotcom/search` for the same make/model/zip, diff price and mileage\n  across all three.\n\n## Notes & limits\n\n- **Credits / pay-on-success:** billed only on `2xx`; free tier 2,000 credits/mo.\n  Key at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- **Public data only** — public listing/estimate pages; not a real-estate or\n  financial advisor.\n- **Security:** key lives in `CRAWLORA_API_KEY` only — never hardcode, query-param, or commit it.\n- **Redfin's region ids are platform-specific** — resolve via `/redfin/search`\n  results (which include `region_id`) before calling `/redfin/region-trends` cold.\n- **Zillow search requires a `region_id` (from `/zillow/autocomplete`), not just\n  a `location` string** — a bare `location` will `400`.\n- Search endpoints are paginated (`page`) — walk pages for full coverage.\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1789351418690\n}\n\nFile v1.0.16:reference/endpoints.md\n\n# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public data sourced from CarMax's own server-rendered store page.\n- **Params:** `id` (string, **required**) — CarMax store id, the numeric path segment of a /stores/{id} URL\n\n### `carmax_stores`\n\n- **HTTP:** `GET /carmax/stores`\n- **What:** Search CarMax store (physical location) locations. Searches CarMax's physical store locations by ZIP code or free-text keyword, returning normalized stores with full address, every published phone number, opening hours, and (for a ZIP-based search) live driving distance in miles. Credential-free public data sourced from CarMax's own mobile-app store-locator API.\n- **Params:** `keyword` (string, optional) — Free-text match against store name or city; `take` (integer, optional) — Maximum number of stores to return, defaults to 10, capped at 300; `zip` (string, optional) — 5-digit US ZIP code to search near. Triggers a live geo-distance sort. Provide this or keyword; zip takes precedence if both are given\n\n### `carmax_vehicle`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}`\n- **What:** Get CarMax vehicle listing detail. Returns a normalized CarMax vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, pricing), equipment features, labeled specifications, warranty coverage, accident/owner history, and CarMax's return guarantee terms. Credential-free public data sourced primarily from CarMax's own mobile-app API, backfilled with the website's server-rendered page for accident/owner history and warranty terms the mobile API doesn't expose.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, optional) — Optional CarMax store id for pricing/transfer-fee display context. Defaults to a fixed CarMax store when omitted\n\n### `carmax_vehicle_recommendations`\n\n- **HTTP:** `GET /carmax/vehicle/{stock_number}/recommendations`\n- **What:** Get CarMax \"similar vehicles\" recommendations for a listing. Returns CarMax's own similar-vehicle recommendations for a listing: stock number, description, display mileage/price, store location, and image, for vehicles CarMax considers comparable. An empty list is a normal result, not an error. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `stock_number` (string, **required**) — CarMax stock number to find similar vehicles for, the numeric path segment of a /car/{stock_number} URL; `store_id` (string, **required**) — CarMax store id used as the recommendation's location context. See any search/vehicle/store response's store id field\n\n## Redfin (5)\n\n### `redfin_estimate`\n\n- **HTTP:** `GET /redfin/estimate`\n- **What:** Get Redfin Estimate. Returns the Redfin Estimate for a property, including the current estimate, property facts, and the monthly estimate history with city/county/postal comparatives. Faithful pass-through of Redfin's public avm + avmHistoricalData resources.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n### `redfin_property`\n\n- **HTTP:** `GET /redfin/property`\n- **What:** Get Redfin property. Returns normalized Redfin public property details. Provide a listing url, or a property_id (optionally with listing_id) to use Redfin's public stingray detail API.\n- **Params:** `listing_id` (string, optional) — Redfin listing id, improves completeness with property_id; `property_id` (string, optional) — Redfin property id, used when url is not provided; `url` (string, optional) — Redfin listing URL (primary key)\n\n### `redfin_region_trends`\n\n- **HTTP:** `GET /redfin/region-trends`\n- **What:** Get Redfin region market trends. Returns Redfin's aggregate market trends for a region (median list/sale price, sale-to-list, offers, days on market, inventory, year-over-year). Faithful pass-through of Redfin's public aggregate-trends resource.\n- **Params:** `region_id` (integer, **required**) — Redfin region id from autocomplete; `region_type` (integer, optional) — Redfin region type from autocomplete (defaults to 6, city)\n\n### `redfin_search`\n\n- **HTTP:** `GET /redfin/search`\n- **What:** Search Redfin listings. Returns normalized Redfin public listing search results from Redfin's credential-free region CSV endpoint. Pass region_id/region_type from autocomplete to skip location resolution.\n- **Params:** `location` (string, optional) — Display location; resolved via autocomplete when region_id is omitted; `max_price` (integer, optional) — Maximum price filter; `min_baths` (number, optional) — Minimum bathrooms filter; `min_beds` (integer, optional) — Minimum bedrooms filter; `min_price` (integer, optional) — Minimum price filter; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Redfin region id from autocomplete; `region_type` (integer, optional) — Redfin region type from autocomplete (defaults to 6, city); `status` (string, optional) — Listing status: for_sale or sold\n\n### `redfin_similar`\n\n- **HTTP:** `GET /redfin/similar`\n- **What:** Get Redfin comparable listings. Returns Redfin's comparable (\"similar\") listings for a property as normalized listing rows. Faithful pass-through of Redfin's public similars resource.\n- **Params:** `property_id` (string, **required**) — Redfin property id\n\n## Autotrader (3)\n\n### `autotrader_dealer`\n\n- **HTTP:** `GET /autotrader/dealer/{id}`\n- **What:** Get Autotrader dealer profile. Returns a normalized Autotrader dealer profile (name, phone, address, rating, website) plus a first page of the dealer's own current inventory as normalized vehicle summaries and the dealer's total listing count. Credential-free public data sourced from Autotrader's own server-rendered dealer profile page.\n- **Params:** `id` (string, **required**) — Autotrader dealer/owner id, the numeric path segment of a /car-dealers/{id} URL\n\n### `autotrader_search`\n\n- **HTTP:** `GET /autotrader/search`\n- **What:** Search Autotrader vehicle listings. Searches Autotrader for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, pricing, images) plus the total matching count. Credential-free public data sourced from Autotrader's own server-rendered search page.\n- **Params:** `body_style` (string, optional) — Body style. Allowed values: convertible, coupe, hatchback, sedan, suv, truck, van, wagon; `condition` (string, optional) — Listing condition. Allowed values: new, used, certified, 3p_cert; `make` (string, optional) — Autotrader make code, e.g. TOYOTA, HONDA, BMW; `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — Autotrader model code, e.g. CAMRY. Requires make; `page` (integer, optional) — 1-indexed result page, defaults to 1. Autotrader returns 24 results per page; `query` (string, optional) — Free-text keyword search; `radius` (integer, optional) — Search radius in miles around zip; `seller_type` (string, optional) — Seller type. Allowed values: dealer, private; `trim` (string, optional) — Autotrader trim code. Requires make and model; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `autotrader_vehicle`\n\n- **HTTP:** `GET /autotrader/vehicle/{id}`\n- **What:** Get Autotrader vehicle listing detail. Returns a normalized Autotrader vehicle listing: full vehicle spec (make, model, trim, mileage, colors, transmission, fuel type, engine, images, pricing), the full listing description, and seller detail (dealership or private seller). Credential-free public data sourced from Autotrader's own server-rendered vehicle detail page.\n- **Params:** `id` (string, **required**) — Autotrader listing id, the numeric path segment of a /cars-for-sale/vehicle/{id} URL\n\n## Zillow (3)\n\n### `zillow_autocomplete`\n\n- **HTTP:** `GET /zillow/autocomplete`\n- **What:** Autocomplete Zillow locations. Returns normalized Zillow public web autocomplete candidates. Semantic candidates may include region_id/region_type compatibility aliases plus region_ids/region_types arrays; prefer complete bounds metadata for Zillow search when present.\n- **Params:** `limit` (integer, optional) — Maximum results, clamped to 20; `query` (string, **required**) — Location query; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold\n\n### `zillow_property`\n\n- **HTTP:** `GET /zillow/property/{zpid}`\n- **What:** Get Zillow property. Returns normalized Zillow public property details using Zillow's public persisted GraphQL property payload, including optional typed sections for address parts, listing attribution, pricing, history, media, facts, schools, and nearby homes when present.\n- **Params:** `zpid` (string, **required**) — Zillow property id\n\n### `zillow_search`\n\n- **HTTP:** `GET /zillow/search`\n- **What:** Search Zillow listings. Returns normalized Zillow public listing search results. Callers must pass complete map bounds from autocomplete when available, or a region id fallback.\n- **Params:** `east` (number, optional) — Map east bound from autocomplete; `location` (string, **required**) — Display location; `north` (number, optional) — Map north bound from autocomplete; `page` (integer, optional) — 1-based page; `region_id` (integer, optional) — Zillow region id from autocomplete, used when complete bounds are not provided; `region_type` (integer, optional) — Zillow region type from autocomplete, used with region_id fallback; `south` (number, optional) — Map south bound from autocomplete; `status` (string, optional) — Search context. Allowed values: for_sale (aliases sale, for-sale), for_rent (aliases rent, for-rent), sold; `west` (number, optional) — Map west bound from autocomplete\n\n## Cars.com (2)\n\n### `carsdotcom_search`\n\n- **HTTP:** `GET /carsdotcom/search`\n- **What:** Search Cars.com vehicle listings. Searches Cars.com for new and used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, exterior color, drivetrain, fuel type, pricing, seller, images) plus the total matching count. Credential-free public data sourced directly from Cars.com's own public search API.\n- **Params:** `page` (integer, optional) — 1-indexed result page, defaults to 1. Cars.com returns 24 results per page; `radius` (integer, optional) — Search radius in miles around zip; `stock_type` (string, optional) — Listing condition. Allowed values: new, used, cpo, all; `zip` (string, optional) — 5-digit US ZIP code to search around\n\n### `carsdotcom_vehicle`\n\n- **HTTP:** `GET /carsdotcom/vehicle/{listing_id}`\n- **What:** Get Cars.com vehicle listing detail. Returns a normalized Cars.com vehicle listing: full vehicle spec (make, model, trim, mileage, colors, engine, transmission, fuel economy, a key-specs table), Cars.com's own deal-fairness rating and predicted fair price, categorized equipment features, an AutoCheck-derived vehicle history report, Cars.com's own price-change history, the seller's notes, dealer detail (name, rating, address, website, phones, hours) or private-seller detail for a for-sale-by-owner listing, and certified-pre-owned/manufacturer-program detail when applicable. Credential-free public data sourced directly from Cars.com's own public GraphQL API.\n- **Params:** `listing_id` (string, **required**) — Cars.com listing id (a UUID), the path segment of a /vehicledetail/{listing_id}/ URL\n\n## Rightmove (8)\n\n### `rightmove_agent_branch`\n\n- **HTTP:** `GET /rightmove/agents/{id}`\n- **What:** Get Rightmove estate agent branch details. Returns one estate-agent branch profile from Rightmove, including address, telephones, service flags, industry affiliations, and the branch's own sales and lettings listing previews. The slug segments in Rightmove agent URLs are cosmetic; the branch resolves by numeric id alone.\n- **Params:** `id` (string, **required**) — Rightmove agent branch id\n\n### `rightmove_agents`\n\n- **HTTP:** `GET /rightmove/agents`\n- **What:** List Rightmove estate agents for a location. Lists estate-agent branches from Rightmove's estate-agents directory for a location, with branch display name, brand, address, telephones, sales/lettings flags, logo, and a link to the branch profile. 20 agents per page.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete (numeric location id required); `page` (integer, optional) — Result page (default 1)\n\n### `rightmove_autocomplete`\n\n- **HTTP:** `GET /rightmove/autocomplete`\n- **What:** Get Rightmove location autocomplete suggestions. Returns location suggestions from Rightmove's autocomplete API for a given query.\n- **Params:** `limit` (integer, optional) — Maximum suggestions to return (default 10, max 20); `query` (string, **required**) — Location query\n\n### `rightmove_commercial_search`\n\n- **HTTP:** `GET /rightmove/commercial/search`\n- **What:** Search Rightmove commercial property. Search Rightmove's commercial property listings for sale or to let, with price, floor-area (sq ft), and commercial-property-type filters. For to-let listings the price amount follows the listing's own frequency (monthly or yearly).\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `max_size` (integer, optional) — Maximum floor area in square feet; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `min_size` (integer, optional) — Minimum floor area in square feet; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Commercial property type filter (e.g. office, retail, industrial, warehouse, land, hotel, leisure); `status` (string, optional) — Listing status (default buy)\n\n### `rightmove_new_homes_search`\n\n- **HTTP:** `GET /rightmove/new-homes/search`\n- **What:** Search Rightmove new homes for sale. Search Rightmove's new-homes-for-sale listings for a location, with price, bedroom, bathroom, and property-type filters. Results are individual new-build homes and plots (with development flags), not development-level cards.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter (e.g. detached, flat, apartment, semi-detached, terrace, bungalow)\n\n### `rightmove_property`\n\n- **HTTP:** `GET /rightmove/properties/{id}`\n- **What:** Get Rightmove property details. Returns detailed information for a specific Rightmove property by ID.\n- **Params:** `id` (string, **required**) — Rightmove property ID\n\n### `rightmove_search`\n\n- **HTTP:** `GET /rightmove/search`\n- **What:** Search Rightmove properties. Search for properties on Rightmove with filters for location, price, bedrooms, etc.\n- **Params:** `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bathrooms` (number, optional) — Maximum bathrooms; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum price in whole GBP units, not pence; `min_bathrooms` (number, optional) — Minimum bathrooms; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum price in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1); `property_type` (string, optional) — Property type filter; `status` (string, optional) — Listing status (default for_sale)\n\n### `rightmove_student_search`\n\n- **HTTP:** `GET /rightmove/student/search`\n- **What:** Search Rightmove student accommodation. Search Rightmove's student-accommodation listings for a location, with monthly-rent, bedroom, and furnishing filters. Prices are monthly rents in whole GBP units.\n- **Params:** `furnish_type` (string, optional) — Furnishing filter; `location` (string, **required**) — Rightmove location identifier from autocomplete; `max_bedrooms` (integer, optional) — Maximum bedrooms; `max_price` (integer, optional) — Maximum monthly rent in whole GBP units, not pence; `min_bedrooms` (integer, optional) — Minimum bedrooms; `min_price` (integer, optional) — Minimum monthly rent in whole GBP units, not pence; `page` (integer, optional) — Result page (default 1)\n\nFile v1.0.16:skill-card.md\n\n## Description:\n\nResearches homes and used cars through the Crawlora API across Zillow, Redfin, Rightmove, CarMax, Autotrader, and Cars.com, returning normalized JSON for listing search, property estimates, market trends, and vehicle or dealer lookup.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and agent workflows use this skill to research public real-estate and vehicle listings, compare properties or cars, retrieve listing details, and inspect market or estimate data through Crawlora API calls.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Search terms, locations, listing IDs, and the Crawlora API key are sent to Crawlora.\n\nMitigation: Use only approved queries and secrets, keep CRAWLORA_API_KEY in the environment, and do not hardcode, pass, or commit the key.\n\nRisk: Property estimates, market trends, prices, and vehicle listings can be stale, incomplete, or unsuitable for financial decisions.\n\nMitigation: Treat results as research input, cross-check important facts with original listing sources or qualified professionals, and avoid presenting output as real-estate, financial, or legal advice.\n\nRisk: Rightmove endpoints are present even though the short description in evidence did not disclose Rightmove support.\n\nMitigation: Disclose Rightmove support in public descriptions and direct users to the endpoint reference for the exact supported platforms and routes.\n\n## Reference(s):\n\n- [Endpoint reference](reference/endpoints.md)\n- [Crawlora](https://crawlora.net)\n- [Crawlora API base](https://api.crawlora.net/api/v1)\n- [ClawHub skill page](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance, JSON]\n\n**Output Format:** [Markdown guidance with shell commands that return JSON from the Crawlora API]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires CRAWLORA_API_KEY in the environment and uses documented Crawlora routes for public listing research.]\n\n## Skill Version(s):\n\n1.0.16 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.15: 5 files, 11224 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (4495b), skill-card.md (2568b), SKILL.md (4885b), _meta.json (146b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `\n\nArchive v1.0.14: 5 files, 11047 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (4238b), skill-card.md (2500b), SKILL.md (4885b), _meta.json (146b)\n\nArchive v1.0.13: 5 files, 10844 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (3913b), skill-card.md (2383b), SKILL.md (4925b), _meta.json (146b)\n\nArchive v1.0.12: 5 files, 10833 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (3613b), skill-card.md (2572b), SKILL.md (4925b), _meta.json (146b)\n\nArchive v1.0.11: 5 files, 10746 bytes\n\nFiles: reference/endpoints.md (20077b), scripts/crawlora.sh (3565b), skill-card.md (2487b), SKILL.md (4925b), _meta.json (146b)","readmeExcerpt":"Skill: real-estate-autos-research Owner: crawlora-org Summary: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/de","codeSnippets":[],"executableExamples":[{"language":"sh","snippet":"# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'"},{"language":"sh","snippet":"# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'"},{"language":"sh","snippet":"# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'"},{"language":"sh","snippet":"# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'"},{"language":"sh","snippet":"# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/search location=\"Austin, TX\" region_id=10221 | jq '.'\nscripts/crawlora.sh /redfin/region-trends region_id=30818 region_type=city | jq '.'\n\n# Cars:\nscripts/crawlora.sh /carmax/search make=Toyota model=RAV4 zip=94103 | jq '.'\nscripts/crawlora.sh /autotrader/search make=Honda model=Civic zip=94103 radius=50 | jq '.'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: real-estate-autos-research\ndescription: Researches homes and used cars via the Crawlora API — Zillow and Redfin property search/estimates/market trends, plus CarMax, Autotrader, and Cars.com vehicle search and dealer/listing detail — returning clean JSON. Use when the user wants to search homes or cars, get a property estimate or a region's market trend, or look up a specific listing/vehicle/dealer.\n---\n\n# Real estate & auto research\n\nSearch homes and used cars, and pull property/vehicle detail, across five\nplatforms as normalized JSON from the Crawlora API — no scraping listing pages.\n\n## When to use this skill\n\n- \"Find homes for sale in <area>\" / \"what's this property worth?\" (Zillow, Redfin)\n- \"What are home prices doing in this region?\" (Redfin market trends)\n- \"Find similar properties\" for comparison.\n- \"Find <make/model> for sale near <zip>\" (CarMax, Autotrader, Cars.com)\n- \"Look up this vehicle listing / dealer.\"\n\n## Setup (one-time)\n\n- Get a free Crawlora API key (2,000 credits/mo, no card) at [https://crawlora.net](https://crawlora.net?utm_source=github&utm_medium=referral&utm_campaign=crawlora-skills).\n- Set `CRAWLORA_API_KEY` in the environment before running the helper.\n- The helper reads `CRAWLORA_API_KEY` from the environment and sends requests to `https://api.crawlora.net/api/v1`. Missing/invalid key → `401`.\n\n## How it works\n\n1. **Zillow** — `/zillow/search` needs more than a `location` string: **resolve\n   `/zillow/autocomplete` (`query`) first** to get a `region_id` (and map\n   bounds `north`/`south`/`east`/`west` when available), then pass\n   `location`+`region_id` (+ `region_type` if returned) to `/zillow/search`;\n   `/zillow/property/{zpid}` for detail.\n2. **Redfin** — `/redfin/search` (`location` or `region_id`+`region_type`,\n   plus filters like `min_beds`/`max_price`) for listings;\n   `/redfin/property` (by `property_id` or `url`) for detail;\n   `/redfin/estimate` (`property_id`) for a Redfin Estimate;\n   `/redfin/similar` for comparable properties; `/redfin/region-trends`\n   (`region_id`+`region_type`) for a market's historical trend.\n3. **CarMax** — `/carmax/search` (filters: `make`, `model`, `zip`,\n   `min_price`/`max_price`, `min_year`/`max_year`); `/carmax/vehicle/{stock_number}`\n   for detail (+ `/recommendations`); `/carmax/stores`/`/carmax/store/{id}`\n   for dealer locations.\n4. **Autotrader** — `/autotrader/search` (filters: `make`, `model`, `zip`,\n   `radius`, price/year/mileage bounds, `condition`); `/autotrader/vehicle/{id}`\n   for detail; `/autotrader/dealer/{id}` for the seller.\n5. **Cars.com** — `/carsdotcom/search` (`zip`, `radius`, `stock_type`);\n   `/carsdotcom/vehicle/{listing_id}` for detail.\n\nFull endpoint list, methods, and params: [`reference/endpoints.md`](reference/endpoints.md).\n\n## Calling the API\n\n```sh\n# Homes (resolve region_id first, Zillow search needs more than a location string):\nscripts/crawlora.sh /zillow/autocomplete query=\"Austin, TX\" | jq '.data'\nscripts/crawlora.sh /zillow/"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70shhkf6qpfwgfrbgtep2wkd8c6b4t\",\n  \"slug\": \"real-estate-autos-research\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1791163247359\n}"},{"path":"reference/endpoints.md","content":"# real-estate-autos-research — endpoint reference\n\n> Generated from `scripts/tools.json` by `scripts/generate.mjs` — do not edit by hand.\n\nEndpoints this skill uses, grouped by platform. Call them via `scripts/crawlora.sh` (see SKILL.md).\n\nAll paths are relative to the API base `https://api.crawlora.net/api/v1` and require the header `x-api-key: $CRAWLORA_API_KEY`. Path params like `{id}` are substituted into the URL; `GET` params go in the query string; `POST` params go in a JSON body.\n\n**28 endpoints across 6 platform group(s).**\n\n## CarMax (7)\n\n### `carmax_search`\n\n- **HTTP:** `GET /carmax/search`\n- **What:** Search CarMax vehicle listings. Searches CarMax for used car listings, returning normalized vehicle summaries (make, model, trim, year, mileage, colors, engine, fuel economy, pricing, store, images), available search facets with live counts, and the total matching count. Credential-free public data sourced from CarMax's own mobile-app search API.\n- **Params:** `make` (string, optional) — CarMax make, e.g. honda, Toyota, BMW (case-insensitive); `max_mileage` (integer, optional) — Maximum odometer mileage; `max_price` (integer, optional) — Maximum price in US dollars; `max_year` (integer, optional) — Maximum model year; `min_price` (integer, optional) — Minimum price in US dollars; `min_year` (integer, optional) — Minimum model year; `model` (string, optional) — CarMax model, e.g. civic (case-insensitive). Does not require make; `page` (integer, optional) — 1-indexed result page, defaults to 1. CarMax returns 48 results per page; `sort` (string, optional) — Sort order: bestmatch, distance-asc, price-asc, price-desc, mileage-asc, mileage-desc, year-desc, year-asc, newarrival. Defaults to bestmatch; `zip` (string, optional) — 5-digit US ZIP code to bias results toward CarMax's nearest store\n\n### `carmax_search_suggestions`\n\n- **HTTP:** `GET /carmax/search/suggestions`\n- **What:** Get CarMax search autocomplete suggestions. Returns autocomplete suggestions for a partial search term (make/model/trim), typo-tolerant by default. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** `exact_match` (boolean, optional) — Disable fuzzy/typo-tolerant matching -- require an exact prefix match. Defaults to false; `search` (string, **required**) — Free-text partial search term to get autocomplete suggestions for\n\n### `carmax_shop_by_brand`\n\n- **HTTP:** `GET /carmax/shop-by-brand`\n- **What:** Get CarMax's \"shop by brand\" make taxonomy. Returns CarMax's full make taxonomy for browsing by brand: every make, a display image, and CarMax's own display order. Credential-free public data sourced from CarMax's own mobile-app API.\n- **Params:** _none_\n\n### `carmax_store`\n\n- **HTTP:** `GET /carmax/store/{id}`\n- **What:** Get CarMax store (physical location) detail. Returns a normalized CarMax store: name, full address, phone numbers, coordinates, opening hours, and store-type flags (car buying center, microstore). Credential-free public"},{"path":"skill-card.md","content":"## Description:\n\nResearches public home and vehicle listings, property estimates, and market trends through Crawlora, including Zillow, Redfin, Rightmove, CarMax, Autotrader, and Cars.com.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[crawlora-org](https://clawhub.ai/user/crawlora-org)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHome shoppers, car shoppers, and researchers use this skill to compare public listings, check property estimates and market trends, and retrieve property, vehicle, or dealer details.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Searches and listing identifiers are sent to Crawlora with the user's API key, potentially disclosing sensitive location or business interests.\n\nMitigation: Use only with approved third-party access and avoid sensitive private locations or confidential business searches.\n\nRisk: The main skill description omits included Rightmove routes.\n\nMitigation: Disclose Rightmove support in the skill description or remove those routes if unintended.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/crawlora-org/skills/real-estate-autos-research)\n- [Crawlora](https://crawlora.net)\n- [Endpoint reference](artifact/reference/endpoints.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands]\n\n**Output Format:** [Markdown responses and JSON API results]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Public listing and market data returned through Crawlora; search results may be paginated.]\n\n## Skill Version(s):\n\n1.0.20 (source: ClawHub release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1573,"uniquenessScore":41,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T06:00:13.460Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T08:44:09.901Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}