{"id":34131,"date":"2025-06-01T22:27:09","date_gmt":"2025-06-01T20:27:09","guid":{"rendered":"https:\/\/www.graviton.at\/letterswaplibrary\/built-a-comprehensive-geo-api-with-countries-airports-140k-cities-feedback-welcome\/"},"modified":"2025-06-01T22:27:09","modified_gmt":"2025-06-01T20:27:09","slug":"built-a-comprehensive-geo-api-with-countries-airports-140k-cities-feedback-welcome","status":"publish","type":"post","link":"https:\/\/www.graviton.at\/letterswaplibrary\/built-a-comprehensive-geo-api-with-countries-airports-140k-cities-feedback-welcome\/","title":{"rendered":"Built A Comprehensive Geo API With Countries, Airports &amp; 140K+ Cities &#8211; Feedback Welcome!"},"content":{"rendered":"<p><!-- SC_OFF --><\/p>\n<div class=\"md\">\n<p><strong><em><\/em>*TL;DR**:<\/strong>* <a href=\"https:\/\/rapidapi.com\/omertabib3005\/api\/geodatamaster\">Built a comprehensive geographic API<\/a> that combines countries, airports, and cities in one fast endpoint. Looking for feedback from fellow developers! <\/p>\n<p><strong>What I Built<\/strong><br \/> After getting frustrated with having to integrate 3+ different APIs for basic geographic data in my e-commerce projects, I decided to build something better: <\/p>\n<p><strong>**\ud83c\udf0d Geo Data Master API** &#8211; One API for all your geographic needs:<\/strong><br \/> &#8211; \u2705 249 countries with ISO alpha-2\/alpha-3 codes<br \/> &#8211; \u2705 Major airports worldwide with IATA codes &amp; coordinates<br \/> &#8211; \u2705 140K+ cities from GeoNames with population data<br \/> &#8211; \u2705 Multi-language support with official status<br \/> &#8211; \u2705 Real-time autocomplete for cities and airports <\/p>\n<p><strong>Tech Stack<\/strong><br \/> &#8211; Backend: FastAPI (Python) for performance<br \/> &#8211; Caching: Redis for sub-millisecond responses<br \/> &#8211; Database: SQLite with optimized queries<br \/> &#8211; Infrastructure: Docker + NGINX + SSL<br \/> &#8211; Data Sources: ISO standards + GeoNames <\/p>\n<p><strong>Why I Built This<\/strong><br \/> Working on traveling projects, I constantly needed:<br \/> &#8211; Country dropdowns with proper ISO codes<br \/> &#8211; Airport data for shipping calculations<br \/> &#8211; City autocomplete for address forms<br \/> &#8211; Language detection for localization <\/p>\n<p>Instead of juggling REST Countries API + some airport service + city data, now it&#8217;s one clean API. <\/p>\n<p><strong>Performance<\/strong><\/p>\n<ul>\n<li>Sub-millisecond response times (Redis caching)<\/li>\n<li>99.9% uptime with monitoring<\/li>\n<li>Handles 10k+ requests\/minute easily<\/li>\n<\/ul>\n<h1>What I&#8217;m Looking For<\/h1>\n<ol>\n<li><strong>Feedback<\/strong> on the API design and endpoints<\/li>\n<li><strong>Use cases<\/strong> I might have missed<\/li>\n<li><strong>Feature requests<\/strong> from the community<\/li>\n<li><strong>Beta testers<\/strong> (generous free tier available)<\/li>\n<\/ol>\n<p>I&#8217;ve made it available on RapidAPI &#8211; you can test all endpoints instantly without any setup. The free tier includes 500 requests\/day which should be plenty for testing and small projects.<\/p>\n<p><strong>Try it out<\/strong>: <a href=\"https:\/\/rapidapi.com\/omertabib3005\/api\/geodatamaster\">https:\/\/rapidapi.com\/omertabib3005\/api\/geodatamaster<\/a><\/p>\n<p>Happy to answer any technical questions about the implementation!<\/p>\n<\/div>\n<p><!-- SC_ON -->   submitted by   <a href=\"https:\/\/www.reddit.com\/user\/COVID-20S\"> \/u\/COVID-20S <\/a> <br \/> <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1l0ymt7\/built_a_comprehensive_geo_api_with_countries\/\">[link]<\/a><\/span>   <span><a href=\"https:\/\/www.reddit.com\/r\/datasets\/comments\/1l0ymt7\/built_a_comprehensive_geo_api_with_countries\/\">[comments]<\/a><\/span><\/p><div class='watch-action'><div class='watch-position align-right'><div class='action-like'><a class='lbg-style1 like-34131 jlk' href='javascript:void(0)' data-task='like' data-post_id='34131' data-nonce='65e0e39b87' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.graviton.at\/letterswaplibrary\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-34131 lc'>0<\/span><\/a><\/div><\/div> <div class='status-34131 status align-right'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>*TL;DR**:* Built a comprehensive geographic API that combines countries, airports, and cities in one fast endpoint. Looking&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[85],"tags":[],"class_list":["post-34131","post","type-post","status-publish","format-standard","hentry","category-datatards","wpcat-85-id"],"_links":{"self":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/34131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/comments?post=34131"}],"version-history":[{"count":0,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/posts\/34131\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/media?parent=34131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/categories?post=34131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graviton.at\/letterswaplibrary\/wp-json\/wp\/v2\/tags?post=34131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}