mirror of
https://github.com/FranP-code/countries.git
synced 2025-10-13 00:02:15 +00:00
5d37a26c0896260b24ba3b6eca0630193b10c1e4
Countries GraphQL API
A public GraphQL API for information about countries, continents, and languages. This project uses Countries List and provinces as data sources, so the schema follows the shape of that data, with a few exceptions:
- The codes used to key the objects in the original data are available as a
codeproperty on each item returned from the API. - The
country.continentandcountry.languagesare now objects and arrays of objects, respectively. - Each
Countryhas an array ofstatespopulated by their states/provinces, if any.
Writing queries
{
country(code: BR) {
name
native
emoji
currency
languages {
code
name
}
}
}
The above GraphQL query will produce the following JSON response:
{
"data": {
"country": {
"name": "Brazil",
"native": "Brasil",
"emoji": "🇧🇷",
"currency": "BRL",
"languages": [
{
"code": "pt",
"name": "Portuguese"
}
]
}
}
}
Migration notes (pre-March 2020)
In the first version of this API, code arguments were treated as Strings. Now, they are enums of valid options only. To migrate, simply remove the double quotes from your existing code arguments:
{
- country(code: "CA") {
+ country(code: CA) {
name
emoji
}
}
Docs
Check out the playground to explore the schema and test out some queries.
Examples
- React
- React Native
- ReasonML
- Country quiz app (React, TypeScript)
- Python
License
Languages
JavaScript
99.6%
Procfile
0.4%
