FlowRunner
PricingContact
Theme
Start Free

REST Countries

Analytics & Data

Pull reference data for more than 250 countries and territories from REST Countries, with more than 90 normalized fields per record. Agents normalize country, currency, and language data between systems that disagree.

16 actions API key available
A partner data feed lands with free-text country and nationality columns
Get Countries By Name with exact matching resolves the values that name a country outright
Get Countries By Demonym resolves the nationality values such as Canadian or Canadien
Agent isolates the values that matched nothing and the values that matched more than one country
Resolved rows are written back with alpha-2 code, currency, calling code and region
The ambiguous values are posted with their candidate countries listed against each
The data owner picks the right country for each ambiguous value before the rows are committed

What This Integration Enables

REST Countries is reference data, and reference data is the least glamorous and most load-bearing thing in an integration catalog. It holds more than 250 countries and territories with more than 90 normalized fields each:

  • Names in common, official, alternate, native and translated forms, plus demonyms in masculine and feminine forms per language
  • ISO alpha-2, alpha-3 and numeric codes, plus the FIFA, Olympic, FIPS and GEC systems
  • Capitals with coordinates and role flags, borders, calling codes and political classification
  • Currencies with code, name and symbol, and languages with ISO 639-1, 639-2, 639-3 and BCP 47 identifiers
  • Membership of fourteen international organisations and economic blocs

That breadth is what lets an agent do the job that actually shows up in practice: reconciling two systems that disagree about what a country is. The CRM says "Holland", the ERP says "NL", the shipping platform says "Netherlands (Kingdom of the)", and the tax engine wants a numeric code. A flow that resolves all four to one record makes every downstream step possible. Sixteen retrieval actions exist because the incoming value is never in one shape: sometimes it is a name, sometimes a demonym, sometimes a capital city, sometimes a translated name in French, sometimes a dialling code, sometimes a bloc.

One behaviour to design around. Most lookups here are substring matches by default, so Get Countries By Name for "ger" returns Germany, Algeria and Niger. That is useful for search and dangerous for normalization, which is why the exact-match options exist on the name, capital and currency actions. An agent doing bulk normalization should use exact matching and treat every multi-match as an automation exception rather than taking the first result.

Without FlowRunner

Country stored as free text "USA", "U.S.", "United States" and "us" all sit in the same column as different values
Currency and calling codes hardcoded A lookup table in a spreadsheet drifts from reality and nobody notices which rows are stale
Market segments maintained by hand Someone keeps a list of which countries are in the EU, the Eurozone and the Schengen Area

With FlowRunner

Country resolved to a code Free-text values are matched against names, demonyms, capitals and translations and reduced to ISO codes
Locale data read from the record Currency, calling code, language and region come from the country record itself
Blocs queried, not maintained Membership of the UN, EU, Eurozone, Schengen, NATO, OECD and the rest is a query against live data

Use Case Scenarios

Reconciling country values between two systems

A migration moves account records between platforms whose country fields disagree in both format and vocabulary. The agent runs each source value through the matching action for its shape: Get Country By Code for values that look like codes, Get Countries By Name with exact matching for full names, Get Countries By Translation for anything non-English, and Get Countries By Demonym for the nationality column. Each resolved record contributes an alpha-2 code, the official name and the currency, and those are what get written into Snowflake. The output is one canonical country per record instead of four spellings across four systems.

Locale-aware notifications built from the country record

A notification flow needs to format a phone number, pick a currency symbol and choose a language for every customer it contacts. Rather than maintaining a static table, the agent resolves the customer's country once with Get Country By Code and reads the calling code, the currency code, name and symbol, and the language list with its BCP 47 tags directly from the record. When the business enters a new market, nothing needs updating, because the data was never duplicated into a lookup table in the first place.

Segmenting markets by bloc rather than by hand

A compliance flow needs to treat EU member states differently from the rest of Europe, and a pricing flow needs to know which markets share the euro. The agent calls Get Countries By Membership for the European Union and the Eurozone and Get Countries By Currency with exact matching on EUR, and builds both segments from live data. Get Countries By Classification separates the roughly 195 sovereign states from the dependent territories that make the dataset 250 records, which is the difference between a customer count that reconciles and one that does not.

Human-in-Loop Highlight

The gate is on the ambiguous rows in a bulk normalization run, and the reason is that a wrong country code is quiet in a way a failed lookup is not. Get Countries By Name substring-matches by default, so a free-text value of "Guinea" matches Guinea, Guinea-Bissau, Equatorial Guinea and Papua New Guinea. A flow that takes the first result assigns that customer to the wrong country. The wrong country then reroutes their shipment, changes their tax treatment, and changes which privacy regime governs their data. None of those failures announce themselves at the moment of the write. So the agent commits only the values that resolve to exactly one country under exact matching, and posts the rest to the data owner: "37 of 4,200 country values did not resolve to a single country. 'Guinea' matched 4 candidates, 'Congo' matched 2, 'Macedonia' matched 0. Candidates listed per value. Pick one, mark unresolvable, or add an alias." The operator answers once, the mapping is saved, and the same value never asks again. The agent handles the 4,163 rows nobody needs to look at.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

16 actions

Countries

4
  • List Countries Returns a paginated list of every country and territory in the dataset, over 250 records, sorted alphabetically by common name. Each record carries more than 90 normalized fields covering names, ISO codes, capitals, currencies, languages, borders, geography, memberships and locale conventions. Responses default to 25 records, so use Limit and Offset to page and Response Fields to trim, since a full record runs to roughly 20 KB.
  • Search Countries Performs a case-insensitive substring search across country data and returns every match. Scope the search to all searchable fields, to the name bundle covering common, official, alternate and native names, or to the code bundle covering alpha-2, alpha-3, numeric, FIPS, GEC, FIFA and IOC codes. The name bundle deliberately excludes translations to avoid false positives. An empty search term is rejected.
  • Get Country By Code Looks up a single country by an exact code and returns the full record. Supports ISO 3166-1 alpha-2, alpha-3 and numeric codes as well as the FIFA, Olympic, FIPS and GEC systems. Matching is case-insensitive but must be complete, so pass CA or CAN rather than a fragment. Throws when no country carries the code.
  • Get Countries By Codes Resolves a batch of country codes to full records in one action, looking each up against the selected code system and reporting which codes matched nothing. Lookups are throttled four at a time to respect the API limit of 20 requests per 10 seconds, which works out at roughly 2.5 seconds per group of four, so keep the list to a few dozen codes per call.

Names

3
  • Get Countries By Name Finds countries by name. By default this is a case-insensitive substring search across common, official, alternate and native names, so "ger" returns Germany, Algeria and Niger. Enable Exact Name Match to require the full common name, which is the reliable way to resolve a single country during normalization. Translated names are not searched here.
  • Get Countries By Translation Finds countries by a translated name, matching the localized common and official forms stored for dozens of languages, so "allemagne" and "Alemania" both resolve to Germany. Used when incoming data carries country names in a language other than English.
  • Get Countries By Demonym Finds countries by the name given to their people, searching masculine and feminine demonym forms per language, so "Canadian" and "Canadien" both return Canada. Used to normalize free-text nationality values into country records.

Geography

4
  • Get Countries By Capital Finds countries by capital city, by default an accent-tolerant substring search so partial names still match. Enable Exact Capital Match to require the complete name. Countries with several capitals match on any of them, and each returned capital carries coordinates and role flags such as primary, legislative or judicial.
  • Get Countries By Region Returns every country in one of the five top-level geographic regions. Region is the coarsest grouping available, so use Get Countries By Subregion for a finer breakdown. Results are alphabetical and paginated, so raise Limit to pull a whole region in one call.
  • Get Countries By Subregion Returns every country in a geographic subregion, the finer grouping nested under region. Subregion names must match in full but are case-insensitive, for example Northern Europe, Southern Asia, Western Africa or Caribbean. Read the subregion field on any country record to find the exact value to pass.
  • Get Bordering Countries Returns every country sharing a land border with the supplied country, resolved as a reverse lookup on the borders field. Pass the ISO alpha-3 code of the country whose neighbours you want. Island nations and states landlocked by a single neighbour return an empty list.

Currencies and Languages

3
  • Get Countries By Currency Returns every country that officially uses a given currency, which makes it straightforward to group markets by shared money. By default the term is substring-matched against currency code, name and symbol; enable Exact Currency Match to require a complete ISO 4217 code such as EUR. Each returned currency carries its code, name and symbol.
  • Get Countries By Language Returns every country where a given language is used, matching entries that carry ISO 639-1, 639-2 and 639-3 identifiers, a BCP 47 tag, an English name and a native name. "French" and "fra" both resolve, so this works from a human-entered language name or a locale code.
  • Get Countries By Calling Code Returns every country using a given international dialing code, for example 1 for the United States and Canada or 44 for the United Kingdom. Pass the code without a leading plus or spacing. Because several countries can share a code, the result is a list rather than a single record.

Classification

2
  • Get Countries By Classification Filters the dataset by political status, which is the reliable way to separate the roughly 195 independent states from dependent territories in a 250-record dataset. Choose a classification such as Sovereign State or UN Member State and set Status to include matching countries or, when disabled, the ones that do not match. Dependent territories also carry a parent country code.
  • Get Countries By Membership Returns the member states of an international organisation or economic bloc, covering the United Nations, European Union, Eurozone, Schengen Area, NATO, Commonwealth, OECD, G7, G20, BRICS, OPEC, African Union, ASEAN and the Arab League. Set Status to disabled to invert the filter and return every non-member.

Frequently Asked Questions

What can FlowRunner do with REST Countries?

FlowRunner agents can run List Countries, Search Countries, and Get Country By Code in REST Countries, plus 13 more actions.

Does connecting REST Countries to FlowRunner require OAuth?

No. REST Countries connects to FlowRunner with an API key, no OAuth flow required.

Can REST Countries trigger a FlowRunner workflow automatically?

REST Countries doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

Start building with REST Countries

$100 in credits. No card required. Connect in minutes.