There are various methods to reverse geocode from coordinates(latitudes, longitudes) to 5 digit zips or census tracts/blocks. For example geopy.geocoders.Nominatim
and FCC census API. However it is possible to reverse geocode to zip+4 or even zip+2?
I see that some organization provides zip+4 centroids (Geolytics). If reverse geocode is not available, I can try to use that by finding closest zip+4, however a lookup will be better.
Then, there are APIs like one on zip-codes.com (API link) which takes address as input and provide zip+4 as output. Therefore some API or non-API lookup should exist which give zip+4 from coordinates. I work mainly in python with no access/experience to any GIS software.
Edit: Found that google map API does provide zip+4 for certain coordinates (and for rest only 5 digit zip comes up). Google API restricts usage to 3k calls per day and I need to make 100k calls.