Suede
On this page

Context (@) and snaps

@ sets a search's context: begin the query with one or more @ tokens — each names territory to search, a time range, or a vertical — and everything after them is the query. A snap is your own saved @ code: a named group of sites, or a shortcut to one of your views, so you never type site: lists by hand.

Using a context

Put the @ tokens first; the rest is the query:

TEXT
@docs middleware pipeline      → your saved "docs" sites
@week ai funding               → results from the past week
@arxiv.org diffusion models    → arxiv.org only — no setup

An @ token can be:

  • A snap — your saved code. A site-group snap scopes the search to all of its domains at once (an OR of site: filters); a view snap switches the view it names on for the search.
  • A view — every view, built-in or yours, activates by its slug (@academic, @programming) or by the shorter alias you give it on its edit page.
  • A time range@hour, @day, @week, @month, @year, with short forms @h, @d, @w, @y, and @24 for the last 24 hours.
  • A vertical@images, @news, @videos, @shopping (short forms @img/@image, @vid/@video, @shop) — these switch the whole page, exactly like clicking the vertical's tab.
  • An ad-hoc domain — any token with a dot, like @microsoft.com, restricts this one search to that site. Nothing to set up, nothing saved.

An unknown @ token ends the prefix and stays in the query as literal text — an email address or a typo never breaks the search.

A snap @docs covering learn.microsoft.com and developer.mozilla.org turns:

TEXT
@docs fetch api

into a search for fetch api across those two sites alone — equivalent to:

TEXT
fetch api (site:learn.microsoft.com OR site:developer.mozilla.org)

Stacking contexts

Contexts stack. Each further token adds territory, so tokens side by side read as or:

TEXT
@docs @stackoverflow.com fetch api    → the docs sites, plus stackoverflow.com
@news @day election                   → the news vertical, last 24 hours

A standalone time code applies to the whole search — and overrides the time range of any active view. A vertical always switches the whole page. When several site-scoped contexts run at once, each applies its own scope and the merged results interleave — see views for how that works.

AND-groups with +

Join parts with + and all of them must hold at once — one conjunctive group:

TEXT
@docs+week rust async          → the docs sites AND the past week
@academic+microsoft.com llm    → the Academic entries that fall under microsoft.com
@docs+month @so http client    → (docs AND past month), plus your "so" snap

A few firm rules:

  • Separate tokens are still a union: @a+b @c reads (a and b) or c.
  • Domain parts intersect, suffix-aware — @academic+microsoft.com keeps the Academic entries under microsoft.com, subdomains included.
  • A time code inside a group scopes only that group; two time codes in one group resolve to the shorter.
  • A group whose parts can't be satisfied together — no shared sites, conflicting scopes — is skipped, and the results page tells you so plainly. You never get a silent empty search.

Codes that contain +

A snap code may itself contain + — say, c++. The token you type is matched against your saved codes first, before + is read as the group joiner, so @c++ move semantics simply uses your c++ snap. There is no escape syntax, and none is needed.

Managing snaps

Create, edit, mute, and delete snaps under Settings → Search Control → Snaps. A snap needs a code (lowercase letters, digits, hyphens, and +) and either one of your views or a list of domains — up to 24. The code is normalized automatically, so @My-Docs and @my-docs are the same snap. Muting a snap takes its code out of service without deleting anything; deleting one asks you to confirm and can be undone for a short while afterwards.

The built-in context codes are reserved — @day, @news, and the rest can't be claimed as snap codes.

A view's Activation code, on its edit page, is this same machinery seen from the other side: an @ alias backed by a snap.

Snaps vs. bangs vs. views

The two sigils split the work. @ sets context — where, when, and what kind of results — and stays on Suede; ! goes, handing the query to another site outright. A view is the richer bundle behind many @ codes — ranking rules, filters, a layout — while a snap is the short code in front; a plain site-group snap needs no view at all. If a query carries both a route bang and @ context, the route wins and the context is dropped — an external engine can't honor it.

Coming from DuckDuckGo or Kagi? Turn on Bang compatibility — described under Bangs — and your @ codes fire as ! codes too.

Was this page helpful?