# Expansion Rankings

> Expansion Rankings is a paid API for AI agents from agents.pubrio.com, paid per call via MPP, price unknown, status unknown (last checked 2026-10-11).

Returns a ranked list of company/market pairs sorted by expansion score, optimized for map or heatmap visualization.

## Facts

- Endpoint: POST https://agents.pubrio.com/expansions/companies/rankings?utm_source=zero.xyz
- Price: price unknown
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Provider: agents.pubrio.com
- Website: https://agents.pubrio.com
- Canonical page: https://www.zero.xyz/c/agents-pubrio-com-expansion-rankings-bad0ca91
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EPTNHGBVuFYRwQbz7eEX3

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability agents-pubrio-com-expansion-rankings-bad0ca91 -d '<json body>'
```

Example prompt: Show me a ranked list of companies expanding into Japan and South Korea — filter to those in the committing or expanding stage — so I can build a heatmap of who's moving into those markets.

## When to prefer this

Choose this endpoint when you need a lightweight, pre-ranked list of company/market pairs suitable for visualization (maps, heatmaps, league tables) rather than detailed signal evidence or full company profiles. Use it over Expansion Search when you want scores and rankings rather than paginated search results, and over Expansion Signal Search when you don't need the raw dated evidence behind each signal. It's the right choice for rendering geographic expansion activity at a glance.

## Known failure modes

- Invalid or unrecognized stage/freshness/scope/momentum values are silently discarded, returning unfiltered results instead of an error — compare total_entries against an unfiltered call to detect this
- Unrecognized signal_types or signal_strengths values cause the filter to match nothing, returning an empty result set without an error message
- Missing or invalid ISO 3166-1 alpha-2 country codes may return unexpected results
- Empty result sets when filters are too restrictive or no companies match the specified corridor
- Truncated input schema may mean some filter combinations behave unexpectedly

## How this service works

Lightweight ranked list of company/market pairs by expansion score — suited to map or heatmap rendering.

## Output

An array of company/market pair objects each containing an expansion score (integer), expansion stage slug, target country code, trajectory direction, freshness indicator, and Pubrio company identifier — all ranked descending by expansion score. Suitable for direct rendering into map markers or heatmap cells.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tos": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "example": [
    "US",
    "GB"
   ],
   "description": "Target markets (ISO 3166-1 alpha-2). Where a company is expanding TO. Use alone to find every company entering these markets; combine with `froms` for a specific from→to corridor."
  },
  "froms": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "example": [
    "US",
    "GB"
   ],
   "description": "Origin markets (ISO 3166-1 alpha-2). Where a company is expanding FROM — its home / HQ countries. Use alone to find companies growing out of these markets; combine with `tos` for a specific from→to corridor."
  },
  "stages": {
   "type": "array",
   "allOf": [
    {
     "type": "array",
     "items": {
      "enum": [
       "exploring",
       "committing",
       "expanding",
       "scaling"
      ],
      "type": "string"
     },
     "example": [
      "committing",
      "expanding"
     ],
     "description": "Filter to one or more expansion stages. See the Expansion Signals knowledge base for stage definitions."
    }
   ],
   "items": {
    "type": "string",
    "description": "Allowed values: exploring, committing, expanding, scaling."
   },
   "example": [
    "committing",
    "expanding"
   ],
   "description": "Values are case-sensitive and are **not validated**. An unrecognised value is silently discarded rather than rejected: on `stages`, `freshness`, `scopes` and `momentum` the whole filter is dropped and you get *unfiltered* results, while on `signal_types` and `signal_strengths` the filter is applied and matches *nothing*. Either way the response looks normal. Resolve valid slugs from [Expansion Reference](/en/api-reference/endpoint/expansions/types) and compare `data.pagination.total_entries` against an unfiltered call if a result set looks wrong."
  },
  "filters": {
   "type": "object"
  },
  "keywords": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "example": [
    "ecommerce",
    "ai",
    "fintech"
   ],
   "description": "A list of keywords to filter companies by relevance, specialties, or descriptions."
  },
  "revenues": {
   "type": "array",
   "items": {
    "type": "integer"
   },
   "example": [
    0,
    100000
   ],
   "description": "Minimum and maximum range of company revenue."
  },
  "companies": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "example": [
    "stripe.com",
    "https://www.linked
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "object",
   "properties": {
    "markers": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "direction": {
        "type": "string",
        "description": "Trajectory of the stage."
       },
       "freshness": {
        "type": "string",
        "description": "How recent the underlying signals are."
       },
       "stage_slug": {
        "type": "string",
        "description": "Current expansion stage."
       },
       "country_code": {
        "type": "string",
        "description": "Target market, ISO 3166-1 alpha-2."
       },
       "expansion_score": {
        "type": "integer",
        "description": "Expansion score for this company/market pair."
       },
       "domain_search_id": {
        "type": "string",
        "description": "Pubrio company identifier."
       }
      }
     },
     "description": "One row per company/market pair, ranked by expansion score."
    }
   },
   "description": "Result container."
  },
  "metadata": {
   "type": "object"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agents-pubrio-com-expansion-rankings-bad0ca91/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.pubrio.com](https://www.zero.xyz/host/agents.pubrio.com/llms.txt)
