Is it possible (and feasible) to have a solidity contract connect to an external api and execute a contract based on what is found?

For example betting on sports games by agreeing to a credible API before hand. If the API goes down or changes format have the ethereum refunded and self destruct the contract.