Countries
A country represents a nation where banks are located. Each country has unique identifying information including name, code, and emoji. Banks may operate in multiple countries.
The country model
The country model contains information about countries where banks operate.
Properties
- Name
id- Type
- string
- Description
The country's auto-generated unique identifier.
- Name
name- Type
- string
- Constraints
- min1•max100
- Description
The country's official name. Must be unique across all countries.
- Name
code- Type
- string
- Constraints
- min2•max2
- Description
The country's ISO 3166-1 code (2 characters).
- Name
rank- Type
- integer
- Description
The country's worldwide rank. Based on the country's overall score, which is determined by user votes across all categories for all banks in the country. Only countries with at least 25 votes are ranked.
- Name
emoji- Type
- string
- Description
The country's flag emoji representation.
- Name
banksCount- Type
- integer
- Constraints
- min0
- Description
The number of banks in the country.
- Name
storiesCount- Type
- integer
- Constraints
- min0
- Description
The number of stories for the country.
- Name
scores- Type
- object
- Description
Vote totals and scores for this bank across all categories. All votes are cast by users.
- Name
createdAt- Type
- string
- Description
The date and time the country was created in Moon Banking.
- Name
updatedAt- Type
- string
- Description
The date and time the country was last updated in Moon Banking.
GET /countries
This endpoint allows you to retrieve a paginated list of all countries. By default, a maximum of ten countries are shown per page. You can search countries by name or 2-letter code, sort them by various fields, and include related data like scores.
Optional parameters
- Name
limit- Type
- integer
- Constraints
- min1•max100
- Default
- default10
- Description
Number of items to return.
- Name
starting_after- Type
- string
- Description
Cursor for forward pagination. Use the id of the last item from the previous page to get the next page.
- Name
ending_before- Type
- string
- Description
Cursor for backward pagination. Use the id of the first item from the current page to get the previous page.
- Name
search- Type
- string
- Description
Search countries by name or 2-letter code.
- Name
sortBy- Type
- enum
- Default
- default"name"
- Description
Field to sort by.
Possible values:
name,code,rank,banksCount,storiesCount,overall_score,overall_total,overall_up,overall_down,cryptoFriendly_score,cryptoFriendly_total,cryptoFriendly_up,cryptoFriendly_down,customerService_score,customerService_total,customerService_up,customerService_down,feesPricing_score,feesPricing_total,feesPricing_up,feesPricing_down,digitalExperience_score,digitalExperience_total,digitalExperience_up,digitalExperience_down,securityTrust_score,securityTrust_total,securityTrust_up,securityTrust_down,accountFeatures_score,accountFeatures_total,accountFeatures_up,accountFeatures_down,branchAtmAccess_score,branchAtmAccess_total,branchAtmAccess_up,branchAtmAccess_down,internationalBanking_score,internationalBanking_total,internationalBanking_up,internationalBanking_down,businessBanking_score,businessBanking_total,businessBanking_up,businessBanking_down,processingSpeed_score,processingSpeed_total,processingSpeed_up,processingSpeed_down,transparency_score,transparency_total,transparency_up,transparency_down,innovation_score,innovation_total,innovation_up,innovation_down,investmentServices_score,investmentServices_total,investmentServices_up,investmentServices_down,lending_score,lending_total,lending_up,lending_down- Name
sortOrder- Type
- enum
- Default
- default"asc"
- Description
Sort order. Either ascending or descending.
Possible values:
asc,desc- Name
include- Type
- string
- Description
An optional comma-separated list of fields to include in the response. Possible values:
scores
Request
curl -G https://api.moonbanking.com/v1/countries \
-H "Authorization: Bearer {your_api_key}" \
-H "Moon-Banking-Version: 2025-07-11" \
--data-urlencode "limit=20" \
--data-urlencode "starting_after=8HsY5nBc7jAqM4u" \
--data-urlencode "ending_before=6jkxE4N8gHXgDPK" \
--data-urlencode "search=United%20States" \
--data-urlencode "sortBy=name" \
--data-urlencode "sortOrder=asc" \
--data-urlencode "include=scores"
Response
{
"success": true,
"data": [
{
"id": "454hfjsjuusbf",
"name": "United States",
"code": "US",
"rank": 1,
"emoji": "🇺🇸",
"banksCount": 10,
"storiesCount": 10,
"scores": {
"overall": {
"total": 412,
"up": 268,
"down": 144,
"score": 30
},
"cryptoFriendly": {
"total": 45,
"up": 30,
"down": 15,
"score": 33
},
"customerService": {
"total": 42,
"up": 28,
"down": 14,
"score": 33
},
"feesPricing": {
"total": 38,
"up": 25,
"down": 13,
"score": 32
},
"digitalExperience": {
"total": 35,
"up": 22,
"down": 13,
"score": 26
},
"securityTrust": {
"total": 40,
"up": 26,
"down": 14,
"score": 30
},
"accountFeatures": {
"total": 32,
"up": 20,
"down": 12,
"score": 25
},
"branchAtmAccess": {
"total": 28,
"up": 18,
"down": 10,
"score": 29
},
"internationalBanking": {
"total": 25,
"up": 16,
"down": 9,
"score": 28
},
"businessBanking": {
"total": 30,
"up": 19,
"down": 11,
"score": 27
},
"processingSpeed": {
"total": 22,
"up": 14,
"down": 8,
"score": 27
},
"transparency": {
"total": 20,
"up": 13,
"down": 7,
"score": 30
},
"innovation": {
"total": 18,
"up": 12,
"down": 6,
"score": 33
},
"investmentServices": {
"total": 15,
"up": 10,
"down": 5,
"score": 33
},
"lending": {
"total": 12,
"up": 8,
"down": 4,
"score": 33
}
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
},
...
],
"pagination": {
"hasMore": true,
"limit": 20,
"nextCursor": "8HsY5nBc7jAqM4u",
"previousCursor": "6jkxE4N8gHXgDPK",
"meta": {
"total": 42
}
},
"message": "Sample message",
"timestamp": "2026-02-12T21:20:01.642Z",
"version": "2025-07-11"
}
GET /countries/:code
This endpoint allows you to retrieve a specific country by providing the 2-letter ISO country code. You can include related data like scores in the response.
Required parameters
- Name
code- Type
- string
- Constraints
- min2•max2
- Description
The country's ISO 3166-1 code (2 characters).
Optional parameters
- Name
include- Type
- string
- Description
An optional comma-separated list of fields to include in the response. Possible values:
scores
Request
curl -G https://api.moonbanking.com/v1/countries/US \
-H "Authorization: Bearer {your_api_key}" \
-H "Moon-Banking-Version: 2025-07-11" \
--data-urlencode "include=scores"
Response
{
"success": true,
"data": {
"id": "454hfjsjuusbf",
"name": "United States",
"code": "US",
"rank": 1,
"emoji": "🇺🇸",
"banksCount": 10,
"storiesCount": 10,
"scores": {
"overall": {
"total": 412,
"up": 268,
"down": 144,
"score": 30
},
"cryptoFriendly": {
"total": 45,
"up": 30,
"down": 15,
"score": 33
},
"customerService": {
"total": 42,
"up": 28,
"down": 14,
"score": 33
},
"feesPricing": {
"total": 38,
"up": 25,
"down": 13,
"score": 32
},
"digitalExperience": {
"total": 35,
"up": 22,
"down": 13,
"score": 26
},
"securityTrust": {
"total": 40,
"up": 26,
"down": 14,
"score": 30
},
"accountFeatures": {
"total": 32,
"up": 20,
"down": 12,
"score": 25
},
"branchAtmAccess": {
"total": 28,
"up": 18,
"down": 10,
"score": 29
},
"internationalBanking": {
"total": 25,
"up": 16,
"down": 9,
"score": 28
},
"businessBanking": {
"total": 30,
"up": 19,
"down": 11,
"score": 27
},
"processingSpeed": {
"total": 22,
"up": 14,
"down": 8,
"score": 27
},
"transparency": {
"total": 20,
"up": 13,
"down": 7,
"score": 30
},
"innovation": {
"total": 18,
"up": 12,
"down": 6,
"score": 33
},
"investmentServices": {
"total": 15,
"up": 10,
"down": 5,
"score": 33
},
"lending": {
"total": 12,
"up": 8,
"down": 4,
"score": 33
}
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z"
},
"message": "Sample message",
"timestamp": "2026-02-12T21:20:01.642Z",
"version": "2025-07-11"
}