Is there a way to iterate through all bundles in a block explorer, or is there a way to get access to a list of all bundles?
When you are only interested in confirmed bundles, you can start with the latest confirmed milestone and follow trunk/branch transaction pointers (you will need some tree traversal strategy and remember transactions you have already seen), which will eventually end at the genesis hash of the latest snapshot. That way you can see all transactions and build bundles from them (based on same bundle hash). On permanodes (e.g. thetangle.org) you can go on from there, but on other nodes not (history will end at the latest snapshot). There are databases with all transactions available for download as well, which include transactions before the last snapshot.
TheTangle business might gives you a feature like this. If you want to do it by yourself, you can subscribe to the tangle via the ZMQ API. Since the ZMQ API only provides an API for transactions, you have to combine all transactions by yourself. We have a more complex example with Flink available.