Skip to content

Methodology

Identifiers and URLs

How records are named, why their addresses never change, and how to cite them.

Updated Sep 1, 2026

Slugs

Every published record has a slug: a lower-case, hyphen-separated, ASCII string that appears in its URL and in every citation. Slugs are assigned when a record is first published and are never changed or reused afterwards. If a record is merged into another, its old address redirects permanently to the surviving record.

Slugs are ASCII because they must be stable across locales, file systems and tools. Where an organisation or jurisdiction has a name in a script that does not transliterate deterministically, the slug is assigned during ingestion and documented in the dataset's notes rather than generated automatically.

External identifiers

Slugs are QinMetrics identifiers. Identifiers issued by other schemes are stored alongside them, never in place of them, as { scheme, id } pairs. Examples of schemes: CN-USCC (Unified Social Credit Code), LEI (Legal Entity Identifier), ISO 3166-2 (subdivision code) and OCID (Open Contracting ID). A record can carry several identifiers; a search for any of them finds the record.

URL structure

AddressContent
/global, /chinaHub of each data line
/global/contracts, /china/fiscal, …Browse one section within one data line
/contracts, /fiscal, …Documentation of a section and links into both lines
/governments/<slug>Government profile of an organisation
/suppliers/<slug>Supplier profile of an organisation
/contracts/<slug>One contract
/procurement/<slug>One tender (contracting process)
/fiscal/<slug>One indicator with its observations
/jurisdictions/<slug>One jurisdiction
/data/<slug>One dataset: description, releases, files
/api/v1/…Machine-readable access to the same records

Entity addresses do not contain a data line, because an entity may appear in both lines. The line is a property of datasets, and each entity page lists the datasets it appears in.

Chinese-language pages, when published, will live under /zh/ with the same paths, so /zh/contracts/<slug> and /contracts/<slug> describe the same record.

API versioning

The API is versioned in the path. /api/v1 will keep its response shapes for as long as it exists; incompatible changes are published as /api/v2 with an overlap period, and the retirement of a version is announced on the API page in advance.

Citing a record

A citation needs the record's address, the dataset it belongs to, the release version if one is stated on the dataset page, and the date you retrieved it:

QinMetrics, Public Contracts Data, contract <slug>, release <version>, retrieved <YYYY-MM-DD>, https://qinmetrics.com/contracts/<slug>.

Because addresses are permanent and releases are versioned, a citation written today will resolve to the same record, and the same values, in the future.