There are a lot of online tools to generate bitcoin addresses and some of them have APIs. For example Blockcypher
's one.
But usually such services have their own full node which manages their wallet. In such case they'll generate new addresses using bitcoin-cli tool.
$ bitcoin-cli help getnewaddress
getnewaddress ( "account" )
Returns a new Bitcoin address for receiving payments.
If 'account' is specified (DEPRECATED), it is added to the address
book
so payments received with the address will be credited to 'account'.
Arguments:
1. "account" (string, optional) DEPRECATED. The account name for the address to be linked to. If not provided, the default account "" is used. It can also be set to the empty string "" to represent the default account. The account does not need to exist, it will be created if there is no account by the given name.
Result:
"address" (string) The new bitcoin address
Examples:
> bitcoin-cli getnewaddress
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
As to the other coins, I bet they have alike tools, but looks like there is no "silver bullet" API for every coin out there.
And if you are going to handle big amount of coins, you, maybe, don't want to generate addresses via the third-party services.