CarGurus Signal Monitor Setup Guide
Time: 10 minutes | Difficulty: Moderate | Market: Vehicles Mode: Signal-only | API: No consumer API (dealer-only) | Docs: N/A
This guide configures a CarGurus vehicle market signal monitor using the botwir3 runtime. Connect to third-party vehicle pricing data, generate market signals locally, and review them before acting manually.
Signal-only mode
CarGurus does not provide a consumer-facing API. API access is limited to registered dealers. Vehicle transactions are inherently manual (test drives, financing, title transfer). This guide configures the botwir3 runtime in signal-only mode using third-party data: the bot monitors vehicle pricing data and generates signals. The user reviews the signals and acts manually.
botwir3 does not place offers, bids, or transactions on CarGurus. The user is responsible for all execution decisions.
Before you start
Verify that data access from third-party providers is permitted under the applicable terms of service before deploying. botwir3 provides tools for building structured automation. The user is responsible for compliance with all applicable terms and regulations.
CarGurus Terms of Use | Last verified: May 2026
What you need
- A CarGurus account (for manual vehicle research)
- A third-party data source for vehicle pricing (Marketcheck, CarAPI, or public listings data)
- The botwir3 runtime downloaded and unzipped
- A strategy config file from the builder (signal-only mode)
Step 1: Configure the data source
CarGurus has no consumer API. Vehicle pricing data is available through third-party providers:
| Provider | Data | Access |
|---|---|---|
| Marketcheck | Vehicle listings, pricing, VIN decode | Paid API |
| CarAPI | Vehicle specs, valuations | Paid API |
| NHTSA | Recalls, complaints, VIN decode | Free public API |
Create adapter.json in the bot directory:
{
"adapter": "cargurus",
"mode": "signal_only",
"data_source": {
"type": "api",
"provider": "marketcheck",
"api_key": "paste-data-provider-api-key-here",
"search": {
"make": "Toyota",
"model": "Camry",
"year_min": 2020,
"radius_miles": 50,
"zip": "70301"
}
},
"rate_limit_ms": 300000
}
API keys (for the data provider) are stored in a local config file on the machine running the bot. They are not transmitted to botwir3 or any third party. botwir3 never sees, stores, or has access to platform credentials.
Step 2: Configure signal output
{
"signal_output": {
"type": "file",
"path": "./signals/cargurus.json"
}
}
Step 3: Start the monitor
botwir3 start --config my-strategy.json --signal-only
Expected output:
[botwir3] Adapter: cargurus
[botwir3] Mode: signal-only
[botwir3] Data source: marketcheck (Toyota Camry 2020+ within 50mi of 70301)
[botwir3] Polling interval: 300s
[botwir3] Monitoring...
The runtime evaluates signals against the strategy and logs opportunities. It does not connect to CarGurus for any purpose. The gate function compares proposed signals against the configured spec. All signals are recorded in the local ledger.
Reading the signals
[botwir3] Signal: BELOW_MARKET | 2022 Toyota Camry SE | Listed: $19,800 | Market avg: $23,400
[botwir3] Signal logged to ./signals/cargurus.json
The user reviews each signal and decides whether to pursue the vehicle manually — contacting the dealer, scheduling a test drive, or negotiating a price.
Why signal-only?
CarGurus limits API access to registered dealers. No consumer-facing API exists. Vehicle transactions require manual processes: test drives, financing, inspections, and title transfer. Third-party data providers (Marketcheck, CarAPI) offer vehicle listing and pricing data for signal generation.
Related guides
- Zillow Signal Monitor Setup Guide — real estate, signal-only
- Redfin Signal Monitor Setup Guide — real estate, signal-only
- Shopify Setup Guide — e-commerce, full automation (seller-side)
One bot. $129. No subscription. No $749/mo platform. → Build for CarGurus