Skip to main content
This is the field dictionary for the Expansion API: what each request filter does and what each response field means. For the why behind the model, see How Expansion Signals Work and the value catalog in How Expansion Signals Work. For an always-current list of allowed values, call the Expansion Taxonomy endpoint.

Core dimensions

Every expansion is described along a few independent axes. Don’t confuse them:
FieldWhat it capturesExample values
stageHow far a company has progressed in a marketexploring, committing, expanding, scaling, established
momentumThe trajectory of the move right nowaccelerating, advancing, steady, pulling_back
flowThe direction of the move between markets, expressed with froms / tosoutbound (froms), inbound (tos), corridor (fromstos)
freshnessHow recent the evidence isfresh, cooling, stale, cold
scopeWhether it’s a new market or growth within an existing presenceentering_new_market, expanding_within_presence, established_only
expansion_scoreA sortable 0–1 rank of how significant the expansion is0.72
The stage slugs are exploring, committing, expanding, scaling, and established — each matching its display name: Exploring, Committing, Expanding, Scaling, and Established.
Flow (the direction of the move) and momentum (the trajectory) are different things. Filtering by “companies advancing” is momentum: ["advancing"]; filtering by “companies expanding into the US” is tos: ["US"]. There is no separate direction request field — flow is set entirely by froms / tos.

Request filters

Markets (froms / tos)

Geography is a directed relationship: companies expand from an origin to a target. Two lists express every case — no separate direction flag.
ParamTypeMeaning
fromsstring[] (ISO alpha-2)Origin markets — where the company is expanding FROM (its home / HQ).
tosstring[] (ISO alpha-2)Target markets — where the company is expanding TO.
exclude_fromsstring[] (ISO alpha-2)Origin markets to exclude.
exclude_tosstring[] (ISO alpha-2)Target markets to exclude.
You sendYou get
tos: ["US"]Everyone expanding into the US (inbound).
froms: ["CN"]Chinese companies expanding anywhere (outbound).
froms: ["CN"], tos: ["US"]The CN → US corridor only.
neitherAll expansions, worldwide.

Expansion signal filters

ParamTypeMeaning
stagesstring[]Filter to one or more expansion stages.
momentumstring[]Filter by trajectory (accelerating/advancing/steady/pulling_back).
freshnessstring[]Filter by evidence recency (fresh/cooling/stale/cold).
scopesstring[]Filter by entering_new_market / expanding_within_presence.
signal_typesstring[]Restrict to specific signal types (HIRE, OFFICE, AD, NEWS, …).
signal_strengthsstring[]Filter by evidence intensity bucket (e.g. high, very_high).
min_signal_countintegerMinimum number of expansion signals — surfaces heavy-footprint movers.
ahead_of_pacebooleanOnly companies moving faster than that market’s typical pace.
only_contractionbooleanOnly at-risk / shrinking markets.
min_marketsintegerMinimum distinct new markets a company has entered in the window.

Firmographics

ParamTypeMeaning
verticals, technologiesstring[]Company industry / tech-stack filters.
employeesnumber[][]Head-count ranges, e.g. [[50, 200]].
founded_datesnumber[]Founded-year range [from, to].
revenuesnumber[]Revenue range in USD [from, to].
keywordsstring[]Free-text theme scoping.
companiesstring[]Scope to specific companies by any mix of domain_search_id, domain, or LinkedIn URL (domains / URLs resolve to their best-ranked company).
ParamTypeMeaning
transitioned_datesstring[]Signal/transition window as an ISO [from, to] range.
window_daysintegerRolling window in days, used when transitioned_dates is not supplied.
querystringNatural-language search — Pubrio interprets it into filters (echoed back in filters).
is_explain_matchbooleanAdd an AI match_summary per company, grounded in its real signals. Cited signal count and batch size scale with per_page; high-volume sources (job postings, ad campaigns) are summarized as a count rather than listed individually.
sort_bystringResult ordering: expansion_score, signal_count, or company_ranking. Omit for the default (most recently transitioned first).

Response fields

Per-company / per-market stage

FieldMeaning
stage.slugThe current stage (exploringscaling).
stage.expansion_scoreSortable 0–1 significance rank.
stage.scopeNew-market vs within-presence.
stage.directionTrajectory of the stage: advancing, steady, retreating, or new. This is the response-side view of the same trajectory axis you filter on with the momentum request param — the two use different value sets, so map accordingly.
stage.freshnessRecency bucket of the latest evidence.
stage.signal_countNumber of active expansion signals in this market.
stage.first_signal_at / latest_signal_at / last_transition_atKey timestamps.

Signals, presence & explanation

FieldMeaning
signals[]The underlying evidence: signal_type, signal_subtype, signal_strength, polarity, event_date, source_type, display_label, evidence_url.
presence[]Known in-market footprint (offices/entities): presence_type, presence_strength, address, known_since.
timeline[]Stage-transition history: stage_slug, transitioned_at, transition_kind.
other_markets[]The company’s other active markets, each with its stage + counts.
match_summary(when is_explain_match: true) { text, citations } — an AI “why it matches”, cited to that company’s real signals. Each citation carries a count field: null for a real individual signal, or an integer when the citation is a window-scoped volume count (job postings, ad campaigns) rather than a single event.
expansion_score is a sortable rank (comparable across companies). It is distinct from any internal model confidence, which the public API does not return.