---
title: "Compare one series across up to 10 countries in one call"
method: GET
path: "/v1/compare"
tags: ["Reference data"]
---

# Compare one series across up to 10 countries in one call

`GET /v1/compare`

## Request

- Base URL: `https://ausref.dev`
- URL: `https://ausref.dev/v1/compare`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `X-PAYMENT`
  - API key in header `X-API-Key`

One series (e.g. vat, policy-rate, minimum-wage, corporate-tax) for up to 10 countries on this brand. Each row is the value GET /v1/{country}/{series} serves, with its own source, dates and labels; requested countries without the series are listed under `missing` with the reason. A missing or malformed parameter, more than 10 countries, or no matching country at all is refused free (400/404) before any payment.

## Query parameters

- `series` string, required
- `countries` string, required

## Response `200`

One row per country

- object
  - `series` string
  - `rows` object[]
    - `country` string, required: ISO 3166-1 alpha-2 country code
    - `series` string, required
    - `value` unknown, required
    - `unit` string
    - `effective_from` string, date, nullable, required
    - `effective_from_basis` 'restatement': Optional. Absent: effective_from is the date the value became the law (a genuine change point). 'restatement': effective_from is the date the value's CURRENT LEGAL BASIS took effect (a new tax code, an annual finance law) while the value itself is older and its true origin is not primary-verifiable — a verified floor, not a change. Do not read a restatement row as the value having changed on that date.
    - `last_confirmed` string, date, required: When this value was last verified against the official source
    - `source` object, required
      - `name` string, required
      - `url` string, uri, required
    - `stale` boolean, required: True when past the expected update cycle — treat with caution
    - `notes` string
    - `effective_rate` number: Optional. Combined effective rate where statutory levies stack on top of the standard rate (e.g. Ghana VAT 15% + NHIL 2.5% + GETFund 2.5% = 20%). Present only where it differs from value.
    - `components` object[]: Optional. Breakdown of a composite rate into its named statutory components (present only where applicable, e.g. Ghana VAT).
      - `name` string, required
      - `rate` number, required
    - `confidence_label` 'high' | 'medium' | 'low': Derived from source type, verification age, stale. Rules: /label-rules
    - `coverage_label` 'ready' | 'partial' | 'gap': ready=complete, partial=limited, gap=no number. Rules: /label-rules
    - `label_basis` object: Inputs and rule ids behind both labels
  - `missing` object[]

## Other responses

- `400`: Malformed or missing parameter, or more than 10 countries (free)
- `402`: Payment required (x402)
- `404`: None of the requested countries holds the series (free)

---

[API](https://skmtc.dev/ausref/apis/ausref-australasian-government-reference-data.md) · [All operations](https://skmtc.dev/ausref/apis/ausref-australasian-government-reference-data/llms.txt) · [OpenAPI document](https://skmtc.dev/ausref/apis/ausref-australasian-government-reference-data/revisions/002874ef252c?raw)
