There’s a cheapish middle ground - generate unique URLs for each downloaded, which basically embeds a UUID “API” key.
You can paste it into a curl script, but now the endpoint can track it.
So not example.com/file.tgz but example.com/FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8/file.tgz