So I was trying to make my own Monero miner and I found out that it uses the Cryptonight hash algorithm and I found documentation for it and I can implement it. But then how do I connect my miner to a pool, there doesn't seem to be any API on any of the Monero mining pool websites. Can someone explain how I can connect my miner to a pool?
Pool miners talk to pools using JSON over HTTP. This is a fairly simple protocol, which is different from the one used by Bitcoin miners, but similar. I don't know of a documentation for it, but you can easily see what it's doing by looking at cpu-miner.c in Wolf's miner (copy found on github, not the original):
For the other side of the communication, you can look at the pool server: