Added pymongo to requirements.
Cache results in MongoDB, and use a geospatial search to return closest available if not an exact match.
Use $nearSphere, not $near.
Set a $maxDistance of 500 meters when searching for the closest cached result.