You could probably parse the Bitcoin Core logs (assuming reorgs are logged) or run a modified Bitcoin node software which explicitly tracks such reorgs.
You wouldn't catch all of them but I believe you could get a pretty good sample by running a single node. And you won't be able to get historical data unless someone else has been tracking this and shares their data with you.
There's some discussion about reorg frequency/depth on BitcoinTalk[0][1]. Also there is this academic paper[2].