Skip to content

GET

Base URL: https://api.openflags.net. All routes are GET-only — see REST API Docs for why.

Health check

cli
GET https://api.openflags.net/api/v1/health

List flags (paginated)

page defaults to 1, page_size defaults to 20 (max 100).

cli
GET https://api.openflags.net/api/v1/flags?page=1&page_size=20

Get a single flag by ISO 3166 code

cli
GET https://api.openflags.net/api/v1/flags/:iso_code

Returns 404 {"error": "Flag not found"} if the code doesn't exist.

Search flags

cli
GET https://api.openflags.net/api/v1/search?q=:term

List flags for a country

cli
GET https://api.openflags.net/api/v1/countries/:iso/flags

Random flag (JSON)

cli
GET https://api.openflags.net/api/v1/flags/random

Random flag image (direct SVG)

cli
GET https://api.openflags.net/api/v1/flags/random/image

Static flag / coat-of-arms SVG

cli
GET https://api.openflags.net/flags/:country_iso/flag.svg
GET https://api.openflags.net/flags/:country_iso/:region_iso/flag.svg

PNG conversion

size in pixels, defaults to 128, max 512.

cli
GET https://api.openflags.net/flags-png/:country/*path?size=128

For runnable curl examples of each of these, see Available Routes / cURL.