You cannot brute force search against a large random number that is hashed with unsalted SHA or the like. This would require you to guess the number, hash it and check to see if the hashes match. A large random number encoded as a 64 character string is simply too big to guess, even at millions of guesses per second.
Thus using bcrypt to protect your api keys does nothing but impose a serious bottleneck in how many api requests per second you may authenticate.
The reason you need bcrypt is that user supplied passwords are crap, and can be cracked very quickly.
EDIT: To make it clearer: "Long" is not explicit. 256 bits is. The difference between real randomness and for example output of RND in your favourite language is also nowhere to be seen. Moreover the use of the "key" is dubious as it's not an encryption key at all.
"Only use the users password to obtain a long random key" (emphasis mine).
So it was part of the initial recipe.
It doesn't matter how many machines you have or how fast you can compute the SHA. An attacker will not find the API key (work out the math).