I'm definitely not, but the lazy method is just to cache the data your customers provide, or curate some data for the countries you are most interested in.
That gets around countries that consider their postal code database a licensed dataset.
From UI side, I’d probably not autofill, but add autocomplete (e.g. using <datalist>¹). This way you can still have browser autofill the user’s address if saved (do also set the autocomplete² props correctly!), and suggest one or multiple variants you have in your database, and let the user fill it out manually still, without having to find and click “My address isn’t here”.