{
  "info": {
    "name": "ApogeoAPI — Official Collection",
    "description": "Geographic data, IP geolocation, and live exchange rates — bundled.\n\n• 250+ countries · 5K states · 150K+ cities · 161 currencies\n• Auth: X-API-Key header (get one free at https://apogeoapi.com)\n• Base URL: https://api.apogeoapi.com\n\nThis collection ships with an environment file that sets `apogeoapi_key` from your free signup. Drop it in Postman and start firing requests.\n\nSource: https://github.com/APOGEOAPI · Docs: https://api.apogeoapi.com/api/docs",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_postman_id": "apogeoapi-official-2026-04-28",
    "version": "1.0.0"
  },
  "auth": {
    "type": "apikey",
    "apikey": [
      { "key": "key", "value": "X-API-Key", "type": "string" },
      { "key": "value", "value": "{{apogeoapi_key}}", "type": "string" },
      { "key": "in", "value": "header", "type": "string" }
    ]
  },
  "variable": [
    { "key": "base_url", "value": "https://api.apogeoapi.com", "type": "string" }
  ],
  "item": [
    {
      "name": "Countries",
      "item": [
        {
          "name": "List countries (paginated)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries?page=1&limit=20",
              "host": ["{{base_url}}"],
              "path": ["v1","countries"],
              "query": [
                { "key": "page", "value": "1" },
                { "key": "limit", "value": "20", "description": "Max 100" }
              ]
            },
            "description": "Returns paginated list of all 250+ countries with name, ISO codes, capital, region, currency."
          }
        },
        {
          "name": "Get country by ISO code",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR"]
            },
            "description": "Full country data for ISO-2 code (e.g. AR, US, ES). Includes flag URL, capital, languages, currency, and live USD currency rate inline."
          }
        },
        {
          "name": "Search countries by name",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/search?q=spain",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","search"],
              "query": [{ "key": "q", "value": "spain" }]
            }
          }
        },
        {
          "name": "Get currency rate for country",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR/currency-rate",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR","currency-rate"]
            },
            "description": "Returns the live USD/local rate for the country's currency. Refreshed every 4 hours. Response includes `usdRate`, `lastUpdated`, and `stale` flag."
          }
        },
        {
          "name": "Countries by region",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/region/Americas",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","region","Americas"]
            },
            "description": "Region values: Africa, Americas, Asia, Europe, Oceania, Antarctic."
          }
        },
        {
          "name": "Countries by subregion",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/subregion/South%20America",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","subregion","South America"]
            }
          }
        },
        {
          "name": "Countries by phone code",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/phone/54",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","phone","54"]
            },
            "description": "Use the phone country code without leading +. Example: 54 → Argentina. 1 → US/Canada (multiple results)."
          }
        },
        {
          "name": "Countries by currency",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/currency/EUR",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","currency","EUR"]
            },
            "description": "ISO 4217 currency code. EUR returns all 19 Eurozone members."
          }
        },
        {
          "name": "Country timezones",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR/timezones",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR","timezones"]
            }
          }
        },
        {
          "name": "Country name translations",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR/translations",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR","translations"]
            },
            "description": "Returns the country name translated to multiple languages (es, fr, de, pt, etc.)."
          }
        }
      ]
    },
    {
      "name": "States / Provinces",
      "item": [
        {
          "name": "List states for a country",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR/states",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR","states"]
            }
          }
        },
        {
          "name": "Search states in a country",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/countries/AR/states/search?q=buenos",
              "host": ["{{base_url}}"],
              "path": ["v1","countries","AR","states","search"],
              "query": [{ "key": "q", "value": "buenos" }]
            }
          }
        },
        {
          "name": "Get state by ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/states/3691",
              "host": ["{{base_url}}"],
              "path": ["v1","states","3691"]
            },
            "description": "Replace 3691 with a real state ID from /countries/{code}/states response."
          }
        },
        {
          "name": "List administrative division types",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/states/types",
              "host": ["{{base_url}}"],
              "path": ["v1","states","types"]
            },
            "description": "Returns possible values: state, province, region, district, etc."
          }
        }
      ]
    },
    {
      "name": "Cities",
      "item": [
        {
          "name": "List cities in a state",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/states/3691/cities?limit=50",
              "host": ["{{base_url}}"],
              "path": ["v1","states","3691","cities"],
              "query": [{ "key": "limit", "value": "50" }]
            }
          }
        },
        {
          "name": "Search cities in a state",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/states/3691/cities/search?q=cordoba",
              "host": ["{{base_url}}"],
              "path": ["v1","states","3691","cities","search"],
              "query": [{ "key": "q", "value": "cordoba" }]
            }
          }
        },
        {
          "name": "Get city by ID",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/cities/12345",
              "host": ["{{base_url}}"],
              "path": ["v1","cities","12345"]
            }
          }
        }
      ]
    },
    {
      "name": "IP Geolocation",
      "item": [
        {
          "name": "Geolocate caller's IP",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/ip",
              "host": ["{{base_url}}"],
              "path": ["v1","ip"]
            },
            "description": "Geolocates the IP making the request (your own, when testing in Postman)."
          }
        },
        {
          "name": "Geolocate specific IP",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/ip/8.8.8.8",
              "host": ["{{base_url}}"],
              "path": ["v1","ip","8.8.8.8"]
            },
            "description": "Returns country, region, city, timezone, and ISP for the given IPv4 / IPv6 address."
          }
        }
      ]
    },
    {
      "name": "Search",
      "item": [
        {
          "name": "Global search (countries + states + cities)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/search?q=san+francisco",
              "host": ["{{base_url}}"],
              "path": ["v1","search"],
              "query": [{ "key": "q", "value": "san francisco" }]
            },
            "description": "Single endpoint that fuzzy-searches across countries, states, and cities."
          }
        }
      ]
    },
    {
      "name": "Exchange Rates",
      "item": [
        {
          "name": "Get rate for any currency (USD base)",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/exchange-rates/EUR",
              "host": ["{{base_url}}"],
              "path": ["v1","exchange-rates","EUR"]
            },
            "description": "Returns 1 USD in the requested currency. Refreshed every 4 hours. Response includes `rate`, `base`, `lastUpdated`, and `stale` flag."
          }
        },
        {
          "name": "Get rate with custom base currency",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/exchange-rates/ARS?base=EUR",
              "host": ["{{base_url}}"],
              "path": ["v1","exchange-rates","ARS"],
              "query": [{ "key": "base", "value": "EUR", "description": "One of 25 supported base currencies" }]
            },
            "description": "Same as above but rate is in EUR base. Supported bases: USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, HKD, SGD, KRW, INR, BRL, MXN, ARS, SEK, NOK, DKK, PLN, CZK, HUF, TRY, ZAR, ILS."
          }
        }
      ]
    },
    {
      "name": "API Keys (account)",
      "description": "These endpoints manage your own API keys. They require a JWT (Bearer token) from app.apogeoapi.com login — NOT an X-API-Key. Override the auth at the request level if testing.",
      "item": [
        {
          "name": "List my API keys",
          "request": {
            "method": "GET",
            "url": {
              "raw": "{{base_url}}/v1/api-keys",
              "host": ["{{base_url}}"],
              "path": ["v1","api-keys"]
            }
          }
        },
        {
          "name": "Create new API key",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"My new key\"\n}"
            },
            "url": {
              "raw": "{{base_url}}/v1/api-keys",
              "host": ["{{base_url}}"],
              "path": ["v1","api-keys"]
            }
          }
        }
      ]
    },
    {
      "name": "Billing",
      "item": [
        {
          "name": "List plans (public)",
          "request": {
            "method": "GET",
            "auth": { "type": "noauth" },
            "url": {
              "raw": "{{base_url}}/v1/billing/plans",
              "host": ["{{base_url}}"],
              "path": ["v1","billing","plans"]
            },
            "description": "Public endpoint — no auth required. Returns the pricing tiers, monthly quotas, and feature flags."
          }
        }
      ]
    }
  ]
}
