---
title: "Saved searches (buy boxes)"
description: "Describe the lots you want in one city, see how many Bucky has on file, and keep the search. How My Searches, AI search, criteria, matches, and exports work."
last_updated: "2026-10-04"
---

A **saved search**, also called a **buy box**, is a set of criteria for one city:
lot size, zoning, overlays, value, age, ownership form, and more. Bucky checks every
parcel it stores for that city and tells you how many match, which ones, and which
of your criteria the city's data can't answer.

In the web app saved searches live under **My Searches** in
[Explore](/docs/platform/site-exploration). The same searches are available to
agents through [MCP](/docs/mcp/tools) (`screenLots`) and to scripts through the
[CLI](/docs/cli/workflows#buy-boxes-and-screening) (`bucky screen`).

## Create a search

<Steps>
  <Step>
    In Explore, click **My Searches** in the map's top bar, then **New search**. You need a free
    account to save a search.
  </Step>
  <Step>
    Give it a **Name** and pick an **Area**. An area is exactly one city. Pick it from the list, or
    click **Use map view** to use the city at the centre of the map.
  </Step>
  <Step>
    Optional: type what you want into **Search with AI** — for example *pre-1950 houses on 6,000 sf
    R1-1 lots, land title only* — and click **Search**. Bucky fills in the filters below. Nothing is
    saved yet.
  </Step>
  <Step>Adjust the filters. The **parcels match** count updates as you change them.</Step>
  <Step>Click **Save search**.</Step>
</Steps>

## How AI search reads your brief

**Search with AI** turns a sentence of up to 500 characters into the same filters
you could set by hand. It only sets filters; you review them before you save.

- **Numbers are read exactly.** Square feet, square metres, acres, hectares, "half
  an acre", ranges, "over" and "under". A bare "10,000 sf lot" is read as a
  minimum.
- **Zone codes and neighbourhood names** match when you write them the way the city
  does (for example `R1-1` or `RM-4`).
- **Ambiguous zoning** gets a question: **Which zoning did you mean?**, with a
  parcel count for each option.
- **A different city** in your brief switches the **Area** to that city.
- **Duplicates** are caught: if you already saved the same search, Bucky says so and
  offers to open it.
- **Some words have defaults you can change:** _teardown_ means the building is
  worth at most 25% of the land; _subdivide_ means room for at least two
  minimum-size lots; _built before 1950_ means year built 1949 or earlier; _land
  title only_ excludes strata, condo, co-op, leasehold, and mixed parcels.

If AI search can't help, it says so and you can set the filters yourself.

## Criteria

Every city offers the first six criteria. The rest appear only where the city has
the data behind them.

| Criterion                      | What it filters                                                                              | Notes                                                                                                |
| ------------------------------ | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **Lot area**                   | Lot size range, in square feet                                                               |                                                                                                      |
| **Zoning**                     | One or more of the city's own zone codes                                                     | A code the city doesn't use matches nothing.                                                         |
| **Neighbourhoods**             | Lots whose centre falls inside the areas you pick                                            | Only in cities with named-area boundaries.                                                           |
| **Overlays**                   | **Inside** or **Exclude** each overlay (floodplain, heritage, and so on)                     | The list comes from the city's own overlays.                                                         |
| **Assessed value**             | The assessor's total value range                                                             | Assessed value, not asking price.                                                                    |
| **Homes allowed**              | At least N homes                                                                             | Estimated from each zone's rules. A zone with no homes rule on file never matches.                   |
| **Ownership form**             | Land title (fee simple), strata / condo, co-op, leasehold, mixed                             | Excluding forms keeps lots whose form is unknown.                                                    |
| **Titled units on parcel**     | How many titled units sit on the parcel                                                      | Tells a small strata from a tower.                                                                   |
| **Building value vs land**     | Assessed building value as a share of land value                                             | The teardown screen.                                                                                 |
| **Year built**                 | Range of years                                                                               |                                                                                                      |
| **Existing building coverage** | Share of the lot covered by buildings                                                        | From building footprints, which can be several years old.                                            |
| **Existing use**               | Vacant land, surface parking, built, gas station, auto service, car dealer, place of worship | From footprints, mapped businesses, and public registers.                                            |
| **Contamination risk**         | A gas station or auto service is mapped on the lot                                           | A flag for follow-up, not a site investigation.                                                      |
| **Place of worship**           | Yes or no                                                                                    |                                                                                                      |
| **Subdivision potential**      | Lot area as a multiple of the zone's minimum lot area                                        | Area only. Frontage, access, and lot shape are not checked: a candidate, not a subdivision approval. |
| **Zone family**                | Residential, mixed, commercial, industrial, and others                                       | Québec cities only.                                                                                  |

Bucky can't filter on asking price or sales comps, title or permit history, or the
exact number of units a bylaw would yield. Every city lists these under what it
**cannot** filter.

## What the results mean

- **Counts cover stored parcels.** The match count is out of the parcels Bucky has
  on file for that city, and the results say so — for example "3,119 of 86,431
  stored in Vancouver". It is not a count of the city's whole land fabric.
- **Missing data is reported, not hidden.** If you set a filter the city's data
  can't answer, the search runs without it and tells you, for example that the
  count includes lots at any value. In the form, that filter shows **This city
  can't filter on this yet** so you can clear it.
- **Each city shows what it can and cannot filter**, built from its own data.
- **Broad searches are flagged.** If a search matches most of a city, Bucky suggests
  adding a size or zone filter.
- **Per-lot verdicts.** Through BuckyAssist and MCP, each returned lot carries a
  verdict per filter: pass, fail, or not available. A lot with no stored value is
  "not available", never a pass.
- **Ranking.** Assist and MCP rank the first 50 matches, largest lot first, and say
  so. Narrow the search to rank all of them. In the app, **Rank the best 10** on a
  saved-search card asks BuckyAssist to rank matches for development potential.

Which cities you can search depends on [coverage](/docs/resources/coverage): any
city that is live, including live with gaps.

## After you save

- **Open a search** from **My Searches** to see its matches as dots on the map and
  a card in BuckyAssist. **Show all on map** frames every saved search.
- **Searches re-run each time you open them**, against current data. Bucky does not
  alert you when new lots match yet.
- **Edit** a search with **Edit search** on its card. Saving replaces its criteria.
- **Turn a match into a project.** Open a lot and use **Create project**, or **Add
  to a search** to pin a parcel you found on the map to a saved search. See
  [Projects](/docs/platform/projects).
- **Export to CSV.** A saved search has a CSV export of up to 1,000 matching lots.
  BuckyAssist and MCP return the link after you save. The export does not count
  toward your plan's export allowance.
- **Sharing.** Saved searches are private to you. They aren't shared with your team
  or organization.

## Plans

Saved searches work on every plan, including Free. Matching lots don't use site
lookups. See [Plans](/docs/resources/plans).

## For agents and scripts

- **MCP:** `screenLots` takes a city plus a plain-words thesis, structured criteria
  (square feet and dollars), or a saved search id. `save=true` saves the box and
  needs the `mcp:write` scope. See the [MCP tool reference](/docs/mcp/reference)
  and [MCP workflows](/docs/mcp/workflows).
- **CLI:** `bucky screen options`, `propose`, `create`, `count`, and `lots`. See
  [CLI workflows](/docs/cli/workflows#buy-boxes-and-screening).

<Callout>
  Saved searches are a planning tool. Confirm zoning, lot dimensions, ownership, and site conditions
  with official records and professionals before you act on a match.
</Callout>


## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
