Best geocoding providers for Portugal

François Andrieux

Portugal 🇵🇹 relies mostly on global geocoding providers combined with a fragmented but increasingly rich open-data ecosystem driven by national and municipal authorities. Unlike France, Portugal does not have a single nationwide open address database. Instead, geocoding quality depends on OpenStreetMap coverage, municipal address datasets, and commercial providers. In this article, we compare the top geocoding providers for Portugal, focusing on address accuracy, urban and rural coverage, POI coverage, pricing, and licensing.

Table of contents


    Provider comparison summary

    Here is a summary table of the top geocoding providers for Portugal:

    Provider Accuracy Coverage POI Coverage Free Tier Pricing for 1,000 requests Storage Allowed Key Advantage
    CAOP / SNIG Very Good
    (administrative boundaries)
    Very Good
    (all Portugal)
    None
    (boundaries only)
    FREE FREE ✅ Yes
    (fully open)
    Official Portuguese administrative boundaries, free, open license
    GeoAPI PT Good
    (administrative resolution)
    Very Good
    (all Portugal)
    None
    (reverse geocoding)
    FREE FREE ✅ Yes
    (open source)
    Open-source Portuguese geocoding API, reverse geocoding focus
    Google Maps ⭐ Excellent
    (rooftop)
    ⭐ Excellent
    (urban & rural)
    🏆 Best
    (massive Places DB)
    40k/month
    $5.00 ❌ No
    (30 days cache max)
    Most comprehensive POI data, handles messy queries
    HERE ⭐ Excellent
    (rooftop)
    ⭐ Excellent
    (urban & rural)
    Very Good 30k/month $1.00 ⚠️ Possible
    (enterprise only)
    High free tier, flexible map display
    TomTom ⭐ Excellent
    (rooftop)
    ⭐ Excellent
    (urban & rural)
    Very Good ~75k/month $0.75 ❌ No Strong European data, competitive pricing
    Mapbox Very Good Very Good Good
    (OSM-based)
    100k/month $0.75-$5.00 ⚠️ Possible
    (permanent plan only)
    Generous free tier, flexible usage
    OpenCage Very Good
    (BAN + OSM-based)
    ⭐ Excellent Good
    (OSM-based)
    75k/month ~$0.17 ✅ Yes Best of open data, managed service, cheap
    Nominatim (OSM) Good Very Good Good FREE
    (1 req/sec)
    FREE
    (self-host)
    ✅ Yes
    (fully open)
    Open data, community-driven, self-hostable

    Portuguese providers

    CAOP / SNIG – Portuguese Government Administrative Boundaries

    🇵🇹 GOVERNMENT DATA ⭐ Authoritative Boundaries 🚀 Unlimited Free ✅ Open License 🚫 No POI
    snig.dgterritorio.gov.pt

    CAOP (Carta Administrativa Oficial de Portugal), distributed via SNIG and maintained by the Direção-Geral do Território (DGT), is the official reference for Portuguese administrative boundaries (districts, municipalities, and parishes/freguesias). It does not provide street-level or house-number geocoding, but it is the legal ground truth for territorial attribution. It is widely used for reverse geocoding, address normalization, and validation of municipality or parish information.

    Pricing: Completely free. Data available via download and OGC APIs (WFS / OGC API Features). (Source - January 2026)

    Rate limits: No explicit rate limits. Depends on the SNIG / DGT infrastructure.

    Licensing: Open data (ODbL / national open data terms). You can store, reuse, and redistribute the data with attribution. Suitable for commercial use.

    Why relevant for Portugal: CAOP (Carta Administrativa Oficial de Portugal), distributed via SNIG and DGT, is the official administrative boundary dataset maintained by the Portuguese government. It provides authoritative boundaries for districts, municipalities, and parishes (freguesias). While it does not offer street-level or address-level geocoding, it is extremely reliable for reverse geocoding coordinates to official administrative units and for validating address hierarchies. Many public institutions rely on CAOP as the legal reference for territorial data.

    GeoAPI PT – Open Portuguese Geocoding API

    🇵🇹 OPEN SOURCE ⭐ Good Administrative Accuracy 🚀 Free & Open ✅ Open Source 🚫 No POI
    geoapi.pt

    GeoAPI PT is an open-source geocoding and reverse-geocoding API focused on Portuguese territory. It aggregates official open data (CAOP, census localities, postal codes) and OpenStreetMap to provide administrative resolution and reverse geocoding. It is particularly strong for mapping coordinates to municipality, parish, and locality names, but it is not designed for high-precision rooftop forward geocoding or fuzzy address parsing.

    Pricing: Free to use. No pricing tiers. Open-source project maintained by the community. (Source - January 2026)

    Rate limits: Not formally documented. Public instance intended for reasonable use, not heavy batch geocoding.

    Licensing: Open-source (GPL). Data sources are open (CAOP, OpenStreetMap). Results can be stored and reused, subject to underlying dataset licenses.

    Why relevant for Portugal: GeoAPI PT is an open-source geocoding and reverse-geocoding API built on top of official Portuguese open data (CAOP, census localities, postal codes) and OpenStreetMap. It focuses mainly on reverse geocoding and administrative resolution rather than precise rooftop address matching. It is useful for enriching coordinates with municipality, parish, and locality names, but it is not a full replacement for commercial forward geocoders.


    Common providers

    Google Geocoding API (Places API)

    ⭐ Excellent Accuracy 🏆 Best POI Coverage 💰 Expensive ❌ Restrictive license
    developers.google.com/maps

    Google's geocoding is widely considered the industry standard with exceptional global coverage and accuracy. It excels at parsing addresses even when they contain typos or are incomplete, thanks to advanced natural language processing. Coverage is excellent across both urban and rural areas, and it offers unmatched POI coverage for restaurants, landmarks, shops, and more. However this has a cost: pricing is relatively expensive for high volumes and license is restrictive.

    Pricing: $5 per 1,000 requests after free tier. Free tier: 40,000 requests/month. Prices decrease as volume increases. (Source - October 2025)

    Rate limits: 3,000 requests per minute in documentation, i.e. 50 requests per second. (October 2025)

    Licensing: Google's terms are restrictive. Results cannot be stored permanently outside of Google's platform; you may cache them for up to 30 days for performance, but long-term storage or use in a database is disallowed. Results must also be displayed on a Google map.

    Why relevant for Portugal: Google Maps offers very strong geocoding performance in Portugal. It handles incomplete or slightly incorrect addresses well and provides accurate results in major cities, towns, and most rural areas. POI coverage is excellent, covering restaurants, shops, landmarks, and businesses across the country. However, costs can rise quickly at scale and licensing is restrictive regarding storage and reuse of results.

    Coverage, pricing, and more details about Google Maps Geocoding API

    HERE Geocoding API (HERE WeGo)

    ⭐ Excellent Accuracy 🎁 30k Free/Month $1 per 1k ❌ No Storage
    developer.here.com

    HERE's geocoding delivers excellent accuracy with rooftop-level precision across both urban and rural areas. It has a comprehensive POI database covering landmarks and businesses, though slightly less extensive than Google's. Many automotive navigation systems worldwide rely on HERE data, which speaks to its quality and reliability for location-based services.

    Pricing: $1 per 1,000 requests after free tier. Free tier: 30,000 requests/month. Prices decrease as volume increases. (Source - October 2025)

    Rate limits: Not publicly disclosed.

    Licensing: Standard plans don't allow permanent storage of results. An enterprise license is required to store geocoding results permanently. However, unlike Google, you can display results on any map platform.

    Why relevant for Portugal: HERE provides reliable geocoding accuracy in Portugal, with good coverage in both urban and rural areas. Address resolution is generally accurate down to street or rooftop level where data exists. POI coverage is solid, especially for navigation-related features, though slightly less extensive than Google’s. HERE is often chosen for cost efficiency and clearer licensing terms.

    TomTom Geocoding

    ⭐ Excellent Accuracy 🎁 75k Free/Month $0.75 per 1k ❌ No Storage
    developer.tomtom.com

    TomTom delivers excellent geocoding accuracy with rooftop-level precision across global markets. Coverage extends to urban centers and rural areas, including small roads and villages. TomTom's POI database is particularly robust for navigation use-cases (fuel stations, restaurants, attractions), though less comprehensive than Google's user-generated content.

    Pricing: $0.75 per 1,000 requests after free tier. Free tier: 2,500 requests/day (~75k/month). (Source - October 2025)

    Rate limits: 5 queries per second per API key.

    Licensing: Long-term storage is prohibited without special arrangements. However, you can display results on any map platform, not just TomTom or Bing maps.

    Why relevant for Portugal: TomTom delivers consistent geocoding quality in Portugal, with strong road network coverage including smaller towns and rural areas. Address accuracy is generally good, though some rural addresses may resolve to street-level rather than rooftop. TomTom’s POI database is adequate for navigation and mobility use cases but less exhaustive for local businesses.

    Mapbox Geocoding API

    Very Good Accuracy 🎁 100k Free/Month $0.75-$5 per 1k ⚠️ Limited Storage
    www.mapbox.com

    Mapbox leverages OpenStreetMap data combined with its own proprietary datasets to deliver very good geocoding accuracy globally. In cities and large towns, it often resolves addresses to exact locations. POI coverage includes major landmarks and many businesses mapped in OSM, though not every establishment is covered. Mapbox differentiates itself from other commercial providers by offering both temporary and permanent storage plans.

    Pricing: Temporary geocoding: $0.75 per 1,000 requests after a free tier of 100,000 requests/month. Permanent geocoding: $5 per 1,000 requests, no free tier. Pricing is decreasing as volume increases for both plans. (Source - October 2025)

    Rate limits: 1,000 requests/minute in documentation, i.e. 16 requests/second.

    Licensing: the permanent geocoding API allows indefinite storage for your own use, but not the temporary geocoding API. You can display results on any map platform.

    Why relevant for Portugal: Mapbox relies heavily on OpenStreetMap data and supplements it with proprietary datasets. In Portugal, address accuracy is good in well-mapped urban areas (Lisbon, Porto, coastal cities) and acceptable in rural regions depending on OSM completeness. POI coverage reflects OSM contributions. Mapbox stands out for offering both temporary and permanent storage plans, allowing long-term caching of geocoding results.

    OpenCage Geocoder

    Very Good Accuracy 🎁 75k Free/Month 💚 $0.17 per 1k ✅ Full Storage
    opencagedata.com

    OpenCage combines multiple open data sources (OpenStreetMap, OpenAddresses, Geonames) into one unified API. It aggregates the best available open data for each region, typically achieving rooftop-level address accuracy where quality local datasets exist. POI coverage matches OSM's breadth (landmarks, major venues), supplemented by Geonames for natural features, though not as comprehensive as Google's.

    Pricing: Starting at $0.15 per 1,000 requests on paid plans (which are subscription-based). Free tier is 2,500 requests/day (~75k/month). Pricing is decreasing as volume increases for the paid plans. (Source - October 2025)

    Rate limits: No hard per-second limits on paid plans. ~15 requests/second on higher tiers.

    Licensing: Permissive terms allow indefinite storage and caching of results with proper attribution. No requirement to display on a particular map. You get all benefits of open data without setting up your own servers. Explicitly allows building databases of geocoded addresses for commercial use.

    Why relevant for Portugal: OpenCage aggregates multiple open data sources such as OpenStreetMap, OpenAddresses, and GeoNames into a single API. In Portugal, it benefits from reasonably good OSM address coverage in cities and towns, while rural accuracy varies. POI coverage mirrors OSM and GeoNames and is suitable for landmarks and major venues but not exhaustive for small businesses.

    Nominatim (OpenStreetMap)

    Good Accuracy 🚀 Free (Self-Hosted) ✅ Permissive License ⚠️ Rate Limited
    nominatim.openstreetmap.org

    Nominatim (the OpenStreetMap geocoding service) delivers good geocoding accuracy, though performance varies by region. In well-mapped urban areas, it often returns rooftop-level precision. Rural coverage depends on local mapping completeness. POI coverage includes landmarks and businesses contributed by volunteers, though less comprehensive than commercial providers.

    Pricing: free to use, although costs can apply if you need to host the service yourself.

    Rate limits: ~1 request/second, max ~1,000/day for the public API.

    Licensing: Highly permissive under ODbL license. You can store and use results freely with attribution ("© OpenStreetMap contributors"). Using coordinates internally is fine. Display on any map platform is allowed.

    Why relevant for Portugal: Nominatim, the OpenStreetMap geocoding engine, provides acceptable geocoding results for Portugal, especially in urban areas where OSM data is mature. Address precision can reach rooftop level in cities but may degrade to street or locality level in rural regions. POI coverage depends entirely on volunteer contributions and is therefore uneven. Self-hosting Nominatim allows full control and unlimited usage but requires maintenance and data tuning.

    Coordable advice: Although really appealing, self-hosting Nominatim is not an easy option. The infrastructure and the expertise to do it are highly underestimated. We recommend using other providers like Mapbox or OpenCage that provide similar or better results for a fair price.

    How to choose your geocoding provider for Portugal

    Pricing is indeed a major factor to consider when choosing a geocoding provider, but it's not the only factor. Your geocoding success rates will also depend on the provider you choose.

    Things to consider

    Here are few things to consider:
    • Cleanliness: are your addresses error-prone? If yes, you should consider using a provider that can handle messy addresses. Commercial providers are usually better at this than open-source providers.
    • Coverage: are your addresses mostly in cities? If not, providers that are used in navigation systems (Google, HERE, TomTom) are good candidates.
    • POI Coverage: do you need to geocode restaurants, shops, landmarks, etc.? If yes, a provider like Google Maps is the best candidates.
    • Volume: do you have a lot of addresses to geocode? If yes, you should consider using a provider that can handle large volumes (rate limits) with a low price, or open-source providers.
    • Licensing: do you need to store the results permanently? If yes, you need to choose a provider that allows you to do so.

    Coordable advice for Portugal: For Portuguese addresses, there is no single equivalent to France’s BAN. A good strategy is to first normalize and clean addresses (street names, abbreviations, locality spelling) using a tool like Coordable, then geocode using a commercial provider such as HERE or Google Maps for maximum accuracy. For reverse geocoding and administrative enrichment (municipality, parish), CAOP/SNIG or GeoAPI PT are excellent free complements.

    If you have a lot of addresses to geocode (> 1000) you should do a real comparison between the providers to find the one that performs the best on your data. You can use the Coordable platform to do this easily! ✅

    Pricing comparison

    Now that you have a clear understanding of each provider's strengths and weaknesses, let's compare their pricing side by side. You can modify the number of addresses to see the pricing estimation:

    Conclusion

    Each provider has its own strengths and weaknesses. We've highlighted their accuracy, coverage (rural vs urban, addresses vs POI), pricing, and whether you can keep the results.

    Ultimately, "best" depends on your needs: for a free and legal-to-store solution, go with BAN or an OSM-derived service; for comprehensive one-stop search including every POI, Google Maps API might be worth it despite the price.

    Portugal lacks a centralized open national address database, which makes high-quality geocoding more dependent on commercial providers and OpenStreetMap. However, the growing availability of municipal open address data and strong national administrative datasets makes it possible to build robust geocoding pipelines, especially when combining open data with commercial APIs.

    You can now choose the geocoding service that best fits your project's requirements and constraints. 🙂

    If you need help to increase your geocoding success rates, the Coordable platform can help you with that! Contact us.