Skip to main content
This quickstart gets you from zero to reading live expansion signals in a few calls. It assumes you already have a Pubrio API key — see Authentication to create one.

Prerequisites

All Expansion endpoints are POST and accept a JSON body. Include your credentials on every request as described in Authentication.

Step 1 — Look up a company’s expansion

Start with a single company and list every market it is expanding into.

Step 2 — Read the result

Each entry in markets_summary describes one market the company is active in:
  • stage_slug — how far the company has progressed there (exploringscaling).
  • signal_count / distinct_type_count — how much evidence backs the market, across how many signal types.
  • latest_signal_at — recency of the newest signal.
  • signal_velocity_30d / signal_velocity_90d — how fast activity is picking up.
  • rank_now — the market’s current rank for this company (1 = strongest).
  • is_home_market — whether this is the company’s HQ country.
To surface the freshest movers or filter by trajectory, use the discovery endpoints (freshness, momentum) shown next.

Step 3 — Explore a whole market

To work market-first instead of company-first, use Expansion Market Detail. It is paginated with the standard page / per_page parameters. Geography is a directed from → to relationship, expressed with two lists: froms (origin / HQ markets) and tos (target markets). Pick the pattern that matches your question:
Read metadata.pagination to page through results:
Request the next page by incrementing page. per_page is capped by your plan — explicitly requesting more than your cap returns an error rather than silently truncating. Two defaults worth knowing:
  • Ordering — results come back in relevance order (companies corroborated by multiple signal types first, then most recent). Pass sort_by: "recent" for pure recency, or expansion_score / signal_count / company_ranking.
  • Lean responses — API-key responses omit the market rollup (metadata.aggregate, top origins/destinations, timeline) and model detail by default. Pass is_include_metadata: true when you want them.

Step 4 — Drill into the evidence

When you want the individual signals behind a company’s move, call Company Signal Events.
This endpoint returns total_entries and total_pages — request pages 1 through total_pages (i.e. keep going while page < total_pages).

Filtering reference

Most expansion endpoints accept these filters. Their valid values are listed in How Expansion Signals Work: The companies filter accepts any mix of identifier types — no need to resolve to IDs first:
Don’t confuse flow with trajectory. Flow (the direction of the move between markets) is set by froms / tos — there is no direction request filter. Trajectory (how the move is progressing) is the momentum filter, and it surfaces in responses as the direction field.

Next steps

Worked Example

The full market-to-signal walkthrough.

Expansion endpoints

Browse every Expansion API endpoint.