If you have sufficient resources to create a full node, you can do so and use RPC commands to obtain the same information you would be able to get from a block explorer API.
Unfortunately, Bitcoin Core RPC commands is poor compared with Block Explorer API.