When faced with a business need for geocoding, software developers need to make a decision of whether to use a third-party geocoding service like OpenCage or to build and operate their own geocoding service.
As is often the case in software development, the correct answer is "it depends". Each path has pros and cons.
Building / operating / maintaining your own geocoding service
Running your own service is easier than ever as freely available open data sources like OpenStreetMap make large volumes of data available. Likewise there are now numerous open source geocoding software projects.
It can make sense to build and run your own geocoder when:
Your requirements are very uniqueNo commercial service provides exactly what you need.
Your requirements are very basicYou only have limited or basic needs that will not be complicated to build and maintain. This is especially the case if the underlying data does not change frequently.
You have the needed skills inhouseand are likely to always have capacity in your team to maintain your solution.
In Chapter 3 of our Guide to Reverse Geocoding we provide a detailed list of things you should consider in building your own geocoder. In Chapter 4 of the guide we provide a detailed tutorial on building your own geocoding service.
The option of using existing open source geocoders (for example OpenStreetMap's Nominatim), is appealing to many companies, and it can certainly be a workable solution. Nevertheless, many organizations underestimate the on-going maintenance challenge. The world is continually changing, and your underlying dataset will need to be refreshed regularly. Over the years we have had many customers transition from hosting and running their own Nominatim to OpenCage. We've prepared a guide that outlines the main differences between Nominatim and OpenCage.
If your requirements are very unique a public service like OpenCage may not be the right match for your needs. We have several clients for whom we run custom geocoding solutions at very high volume. Please see our enterprise solutions page if you are in a similar situation.
Using a third-party geocoding solution like OpenCage
Using a third-party especially makes sense when:
You lack the skills or desire to run and maintain your own geocoding service
Your requirements are not particularly uniqueThis is especially the case if your needs will not be long-term.
You need to move quicklyAt OpenCage we provide SDKs for 30+ programming languages, so you can get started with high volumes of geocoding ASAP
Nevertheless using a third-party service at any sort of volume typically has a financial cost. You can see our pricing page where we offer both subscription and one-off plans. We do our best to keep things reasonable, here's a comparison between our pricing and the cost of Google's geocoding pricing
So what should software developers do?
As said above, the only real answer is "it depends" on the specifics of your business need.
Please contact us if we can help you in your decision process. We are here to help.