> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intentleads.si/llms.txt
> Use this file to discover all available pages before exploring further.

# Lanes

> One lane is one audience: who you sell to, and what they're researching.

A lane describes one audience you want leads from. It has:

* **Filters**: which companies and people count, such as US headquarters, company size, industries, seniority and job titles.
* **Keywords**: what those people would be researching when they're in the market. See [Keywords](/guides/keywords).
* **A minimum strength**: how strong someone's intent has to be before you'd export them.

Lanes have short codes (`L1`, `L2`, …) that you use in the API, CLI and MCP. Run one lane per offer or segment, so each export and each CSV is about one thing.

## Filters

| Filter | Field | Example |
| - | - | - |
| US headquarters only | `us_only` | `true` |
| Company size (employees) | `employees` | `{"min": 20, "max": 500}` |
| Industries to include | `industries` | `["software development", "it services and it consulting"]` |
| Industries to leave out | `industries_exclude` | `["staffing and recruiting"]` |
| Seniority | `seniority` | `["cxo", "vp", "director"]` |
| Job title contains any of | `titles_include` | `["sales", "revenue", "growth"]` |
| Job title contains none of | `titles_exclude` | `["intern", "assistant"]` |
| Companies to leave out | `exclude_companies` | `["example.com"]` |
| Topics to leave out | `topics_to_leave_out` | `["job seekers"]` |

Valid values for industries, seniority and strengths come from `GET /api/v1/catalog`, or `intentleads catalog` in the CLI. When you read a lane back, `us_only` shows as `countries` and `headquarters_only`, and `topics_to_leave_out` as `negative_topics`.

<Tip>
  Leave out industries only where no industry whitelist applies: they're used when your company list replaces the industries, or when no industries are picked.
</Tip>

## Minimum strength

Every person found has an intent strength: `high`, `medium` or `low`. A lane's `min_strength` sets what it counts and exports by default:

| `min_strength` | Includes |
| - | - |
| `high` | High only |
| `medium` | Medium and high (the default) |
| `low` | Everyone, at any strength |

You can override it for one export with `min_strength` on the export request. Exports always take the strongest people first.

## Company lists

Upload the companies you want to sell to on **Company list** in the dashboard, or with `PUT /api/v1/company-list`: a CSV with a domain column, a plain list of domains, or JSON. Websites are cleaned to the bare domain, and duplicates are merged. Lanes match on **domains**; company LinkedIn pages are kept with the list but aren't used to match people yet, so include domains. Each lane then decides how to use the list:

| `company_list_mode` | What it does |
| - | - |
| `narrow` | Only people at listed companies **that also match** the lane's industries. |
| `replace` | Any industry, as long as the company is on your list. Best when every industry is in scope. |
| `off` | The list is ignored for this lane. |

Counts that use a company list are marked `approximate`: someone tied to two listed companies can be counted twice. An export never buys anyone twice.

## Creating and changing lanes

In the dashboard, open **Lanes** and add one. Over the API:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST https://intentleads.si/api/v1/lanes \
  -H "Authorization: Bearer $INTENT_LEADS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "RevOps leaders at mid-size SaaS",
    "audience": "Heads of revenue operations at US software companies, 50 to 500 staff",
    "keywords": ["revenue operations software", "sales forecasting tool"],
    "us_only": true,
    "employees": {"min": 50, "max": 500},
    "industries": ["software development"],
    "seniority": ["cxo", "vp", "director"]
  }'
```

Change a lane with `PATCH /api/v1/lanes/{code}`. Send only what you want to change; everything else keeps its value:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X PATCH https://intentleads.si/api/v1/lanes/L1 \
  -H "Authorization: Bearer $INTENT_LEADS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"min_strength": "high"}'
```

Creating a lane is free. Nothing is billed until you export from it.

## Limits

* Up to **30 lanes** per organization.
* Up to **50 keywords** per lane, each 3 to 120 characters.
* When you create a lane, keywords are split on commas and semicolons, and ones that are too short, too long or past 50 are skipped. Add keywords one at a time with `POST /api/v1/lanes/{code}/keywords` to get an error for each one instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.