{
  "object": "doc",
  "title": "How do I use Cartroute from n8n, Zapier or Make?",
  "description": "Configure a generic HTTP request step against the API.",
  "section": "Agents and integrations",
  "url": "https://cart-route.com/docs/guides/no-code",
  "updated": "2026-09-23",
  "prev": "https://cart-route.com/docs/guides/typescript",
  "next": "https://cart-route.com/docs/guides/recommendations",
  "text": "In n8n, Zapier or Make, add a generic HTTP request step: method `GET`, URL `https://cart-route.com/api/v1/search`, a query parameter `q`, and a header `Authorization` with the value `Bearer cr_live_...`. The JSON response can be mapped into later steps directly; the fields most workflows need are listed below.\n\n## Which settings does the HTTP step need?\n\n| Setting | Value |\n\n| Method | `GET` |\n\n| URL | `https://cart-route.com/api/v1/search` |\n\n| Query parameters | `q` = the product, optionally `max_price`, `in_stock` = `true`, `limit` = `3` |\n\n| Header | `Authorization` = `Bearer cr_live_...` (store it as a credential, not in the step text) |\n\n| Response format | JSON |\n\n## Which response fields should I map?\n\n| Path | Meaning |\n\n| `results[0].title` | Best-matching product. |\n\n| `results[0].price_summary.best_retailer` | Where it is cheapest. |\n\n| `results[0].price_summary.best_effective_price_usd` | What it costs there, shipping and coupon included. |\n\n| `results[0].price_insight.verdict` | `good_time_to_buy`, `typical_price` or `above_recent_average`. |\n\n| `results[0].offers[0].buy_url` | Link to buy. |\n\n| `credits.remaining` | Balance, for a low-credit alert. |\n\n## What is a useful first workflow?\n\nA daily price-drop alert: a schedule trigger, the HTTP step with a fixed query, a filter that continues only when `price_insight.verdict` equals `good_time_to_buy`, and an email or Slack step with the retailer, price and `buy_url`. It costs one credit a day.\n\n## How do I handle errors in a workflow?\n\nTurn on the step's \"continue on error\" option and branch on the HTTP status: `402` means out of credits, `429` means retry later. The body's `detail` is readable enough to send as-is in a notification."
}