# 🌐 API de GeoSource
## Descripción general
**API de GeoSource** es una API RESTful poderosa y confiable que proporciona datos geográficos extensos sobre más de 249 países y territorios. Ofrece a los desarrolladores la capacidad de recuperar información geográfica, política y cultural detallada y actualizada para su uso en aplicaciones que van desde logística hasta viajes, comercio y educación.
---
## 🚀 Características
- 🌍 Nombres de países, capitales, códigos telefónicos, banderas
- 💱 Códigos de divisas y símbolos
- 🏙️ Estados y ciudades
- 📍 Búsquedas de códigos postales y localización
- 🌐 Soporte de banderas emoji para países
---
### Países soportados para datos postales
Argelia, Andorra, Argentina, Armenia, Australia, Austria, Azerbaiyán, Bangladés, Bielorrusia, Bélgica, Brasil, Bulgaria, Canadá, Chile, Colombia, República Checa, Francia, Alemania, Guatemala, Haití, Hungría, Islandia, India, Italia, México, Moldavia, Marruecos, Filipinas, Polonia, Rumania, Rusia, San Marino, Serbia, Singapur, Eslovaquia, Eslovenia, España, Sri Lanka, Suecia, Suiza, Tailandia, Reino Unido, Estados Unidos, Uruguay.
## 📌 Puntos finales de la API
Todos los puntos finales utilizan el método **GET**.
### 1. `CountriesList`
- **Punto final**: `/CountriesList`
- **Descripción**: Recupera una lista completa de todos los países con datos disponibles.
---
### 2. `Capital By Country`
- **Punto final**: `/CapitalByCountry`
- **Parámetro de consulta**:
- `country`: Nombre del país (por ejemplo, `Francia`)
- **Descripción**: Devuelve la capital de el país especificado.
---
### 3. `Phone Code By Country`
- **Punto final**: `/PhoneCodeByCountry`
- **Parámetro de consulta**:
- `country`: Nombre del país (por ejemplo, `India`)
- **Descripción**: Devuelve el código telefónico internacional del país especificado.
---
### 4. `Currency By Country`
- **Punto final**: `/CurrencyByCountry`
- **Parámetro de consulta**:
- `country`: Nombre del país
- **Descripción**: Devuelve el código de moneda y símbolo del país especificado.
---
### 5. `emoji Flag By Country`
- **Punto final**: `/emojiFlagByCountry`
- **Parámetro de consulta**:
- `country`: Nombre del país
- **Descripción**: Devuelve la representación emoji de la bandera del país.
---
### 6. `states By Country`
- **Punto final**: `/statesByCountry`
- **Parámetro de consulta**:
- `country`: Nombre del país
- **Descripción**: Devuelve una lista de estados o provincias en el país dado.
---
### 7. `cities By State`
- **Punto final**: `/citiesByState`
- **Parámetros de consulta**:
- `state`: Nombre del estado
- **Descripción**: Devuelve ciudades dentro del estado y país dados.
---
### 8. `Location By City`
- **Punto final**: `/LocationByCity`
- **Parámetros de consulta**:
- `city`: Nombre de la ciudad
- **Descripción**: Devuelve detalles de ubicación (como lat/lon) para una ciudad dada.
---
### 9. `ZipCode By City`
- **Punto final**: `/ZipCodeByCity`
- **Parámetros de consulta**:
- `city`: Nombre de la ciudad
- **Descripción**: Devuelve códigos postales asociados con una ciudad dada.
---
Lista de Países
[
{
"countryID": "1",
"countryName": "Afghanistan",
"CountryCode": "AF",
"numericCode": "004",
"nativeName": "افغانستان",
"Region": "Asia",
"SubRegion": "Southern Asia"
},
{
"countryID": "2",
"countryName": "Aland Islands",
"CountryCode": "AX",
"numericCode": "248",
"nativeName": "Åland",
"Region": "Europe",
"SubRegion": "Northern Europe"
},
{
"countryID": "3",
"countryName": "Albania",
"CountryCode": "AL",
"numericCode": "008",
"nativeName": "Shqipëria",
"Region": "Europe",
"SubRegion": "Southern Europe"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10207/countries+list' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener capital del país.
Capital por país - Características del Endpoint
| Objeto | Descripción |
|---|---|
country |
[Requerido] |
[
{
"countryName": "United States",
"CountryCode": "US",
"Capital": "Washington"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10208/capital+by+country?country=us' --header 'Authorization: Bearer YOUR_API_KEY'
Obtén el código telefónico por país
Código de teléfono por país - Características del Endpoint
| Objeto | Descripción |
|---|---|
country |
[Requerido] |
[
{
"CountryName": "United States",
"CountryCode": "US",
"PhoneCode": "+1"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10209/phone+code+by+country?country=us' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener moneda por país
Moneda por país - Características del Endpoint
| Objeto | Descripción |
|---|---|
country |
[Requerido] |
[
{
"CountryName": "United States",
"CountryCode": "US",
"Currency": "USD",
"CurrencySymbol": "$"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10214/currency+by+country?country=us' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener emoji de bandera por país
Emoji de Bandera por País - Características del Endpoint
| Objeto | Descripción |
|---|---|
country |
[Requerido] |
[
{
"CountryName": "United States",
"CountryCode": "US",
"emojiU": "U+1F1FA U+1F1F8"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10215/emoji+flag+by+country?country=eg' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener estados por país
Estados por país - Características del Endpoint
| Objeto | Descripción |
|---|---|
country |
[Requerido] |
[
{
"StateName": "Alabama",
"StateCode": "AL",
"CountryCode": "US",
"latitude": "32.3182314",
"longitude": "-86.902298"
},
{
"StateName": "Alaska",
"StateCode": "AK",
"CountryCode": "US",
"latitude": "64.2008413",
"longitude": "-149.4936733"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10216/states+by+country?country=us' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener ciudades por estado.
Ciudades por estado - Características del Endpoint
| Objeto | Descripción |
|---|---|
state |
[Requerido] |
[
{
"CityName": "Abbeville",
"StateCode": "AL",
"CountryCode": "US",
"latitude": "31.57184000",
"longitude": "-85.25049000"
},
{
"CityName": "Adamsville",
"StateCode": "AL",
"CountryCode": "US",
"latitude": "33.60094000",
"longitude": "-86.95611000"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10217/cities+by+state?state=alabama' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener ubicación (lat y lng) por ciudad
Ubicación por ciudad - Características del Endpoint
| Objeto | Descripción |
|---|---|
city |
[Requerido] |
[
{
"CityName": "El Cairo",
"StateCode": "VAC",
"CountryCode": "CO",
"latitude": "4.74889000",
"longitude": "-76.24443000"
},
{
"CityName": "Cairo",
"StateCode": "C",
"CountryCode": "EG",
"latitude": "30.06263000",
"longitude": "31.24967000"
},
{
"CityName": "New Cairo",
"StateCode": "C",
"CountryCode": "EG",
"latitude": "30.03000000",
"longitude": "31.47000000"
},
{
"CityName": "Cairon",
"StateCode": "NOR",
"CountryCode": "FR",
"latitude": "49.24017000",
"longitude": "-0.45046000"
},
{
"CityName": "Cairo Montenotte",
"StateCode": "42",
"CountryCode": "IT",
"latitude": "44.39790000",
"longitude": "8.27775000"
},
{
"CityName": "Gropello Cairoli",
"StateCode": "25",
"CountryCode": "IT",
"latitude": "45.17707000",
"longitude": "8.99353000"
},
{
"CityName": "Pieve del Cairo",
"StateCode": "25",
"CountryCode": "IT",
"latitude": "45.04920000",
"longitude": "8.80322000"
},
{
"CityName": "Cairo",
"StateCode": "GA",
"CountryCode": "US",
"latitude": "30.87751000",
"longitude": "-84.20214000"
},
{
"CityName": "Cairo",
"StateCode": "IL",
"CountryCode": "US",
"latitude": "37.00533000",
"longitude": "-89.17646000"
},
{
"CityName": "Cairo",
"StateCode": "NY",
"CountryCode": "US",
"latitude": "42.29897000",
"longitude": "-73.99847000"
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10218/location+by+city?city=Abbeville' --header 'Authorization: Bearer YOUR_API_KEY'
Obtener código postal por ciudad
Código Postal Por Ciudad - Características del Endpoint
| Objeto | Descripción |
|---|---|
city |
[Requerido] |
[
{
"CityName": "Brussels",
"StateCode": "BRU",
"CountryCode": "BE",
"latitude": "50.85045000",
"longitude": "4.34878000",
"zip": [
"1000"
]
},
{
"CityName": "Brussels",
"StateCode": "ON",
"CountryCode": "CA",
"latitude": "43.73339000",
"longitude": "-81.24975000",
"zip": [
"N0G 0B2",
"N0G 1H0"
]
},
{
"CityName": "Brussels",
"StateCode": "WI",
"CountryCode": "US",
"latitude": "44.73611000",
"longitude": "-87.62093000",
"zip": [
"54204",
"62013",
"09714",
"09724"
]
}
]
curl --location --request GET 'https://zylalabs.com/api/6794/geosource+api/10223/zip+code+by+city?city=Abbeville' --header 'Authorization: Bearer YOUR_API_KEY'
| Encabezado | Descripción |
|---|---|
Autorización
|
[Requerido] Debería ser Bearer access_key. Consulta "Tu Clave de Acceso a la API" arriba cuando estés suscrito. |
Sin compromiso a largo plazo. Mejora, reduce o cancela en cualquier momento. La Prueba Gratuita incluye hasta 50 solicitudes.
Cada punto final devuelve información geográfica específica. Por ejemplo, `/CountriesList` proporciona nombres de países, códigos y regiones, mientras que `/CapitalByCountry` devuelve la capital de un país especificado. Otros puntos finales ofrecen datos sobre códigos telefónicos, monedas, estados, ciudades, ubicaciones y códigos postales.
Los campos clave varían según el punto final. Para `/CountriesList`, los campos incluyen `countryID`, `countryName` y `Region`. Para `/CurrencyByCountry`, los campos incluyen `CountryName`, `Currency` y `CurrencySymbol`. La estructura de respuesta de cada punto final está adaptada a los datos que proporciona.
Cada punto final tiene parámetros de consulta específicos. Por ejemplo, `/CapitalByCountry` requiere el parámetro `country`, mientras que `/citiesByState` necesita el parámetro `state`. Los usuarios deben proporcionar nombres de país o estado válidos para recuperar datos precisos.
Los datos de respuesta están estructurados como arreglos JSON de objetos. Cada objeto contiene campos relevantes para los datos solicitados. Por ejemplo, la respuesta de `/LocationByCity` incluye `CityName`, `latitude` y `longitude`, lo que facilita el análisis y uso en aplicaciones.
La API GeoSource agrega datos de fuentes geográficas y gubernamentales confiables para garantizar la precisión. Los datos se actualizan regularmente para reflejar cambios en las fronteras geopolíticas, la moneda y otra información relevante, manteniendo una alta calidad y fiabilidad.
Los casos de uso típicos incluyen aplicaciones de viaje que necesitan información sobre países y ciudades, plataformas de comercio electrónico que requieren datos de divisas, y servicios de logística que utilizan códigos postales y detalles de ubicación para el envío. Los desarrolladores pueden mejorar las experiencias de los usuarios con información geográfica precisa.
Los usuarios pueden integrar los datos devueltos en aplicaciones analizando las respuestas en JSON. Por ejemplo, utilizando la `latitud` y `longitud` de `/LocationByCity`, los desarrolladores pueden mostrar mapas o calcular distancias. Los datos estructurados de cada endpoint permiten una implementación sencilla.
Si un punto final devuelve resultados parciales o vacíos, los usuarios deben implementar el manejo de errores en sus aplicaciones. Por ejemplo, si no se encuentran ciudades para un estado en `/citiesByState`, la aplicación puede pedir al usuario que verifique el nombre del estado o proporcionar sugerencias alternativas.
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.541ms
Nivel de Servicio:
50%
Tiempo de Respuesta:
160ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
225ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.466ms
Nivel de Servicio:
83%
Tiempo de Respuesta:
564ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
208ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
2.429ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
1.017ms
Nivel de Servicio:
90%
Tiempo de Respuesta:
603ms
Nivel de Servicio:
100%
Tiempo de Respuesta:
570ms