Is there any API for
ERC20 token balance of an address for a particular contract?
Get ERC20-Token Account Balance for TokenContractAddress
I found this one API which is ideal to fetch any kind of balance queries (be it ERC20 Token or ETH) on any address (be it Account or Contract). There's only one limitation however, there's an API limit of 1 hit in every 2 seconds. Check this: https://github.com/EverexIO/Ethplorer/wiki/Ethplorer-API#methods
Let me know if it helps.
You can generate an API key at https://etherscan.io/myapikey.
See https://etherscan.io/apis for more details.
If you are looking for an API to check balances of any ERC20 token, get info on any ERC20 token, send tokens automated etc., you can use Tokengateway. It is scalable and does not have limits like etherscan in the paid versions.
You might check out Chaingateway.io. It is a REST API which allows to interact with the Ethereum API, including getting balances of any ERC20 token by simply providing ethereum address and contract address. You can go even further by setting up a Paypal like IPN, which will notify you on new deposits and withdrawals. There is also a function to get a list of earlier ERC20 transactions of a specific token.