I've been doing a lot of reading on OP_RETURN, and I want to understand something that still seems unclear. When we create a transaction with OP_RETURN (which I understand will not eternally pollute node's RAM as the transaction is not put into the UTXO database), is the OP_RETURN data replicated across the blockchain?
This answer from a related question here (Blockchain transaction message length limit) states that the OP_RETURN is not part of the Bitcoin protocol, and the OP_RETURN data can only be accessed using blockchain.info, which doesn't make sense from what I've read, as the code to standardize the number of bytes for OP_RETURN messages is directly within the Bitcoin source-code, and therefore is part of the protocol, right?
TL;DR: I'm trying to make an application which utilizes OP_RETURN, and I would like to know if the OP_RETURN data exists on the blockchain forever, and can be retrieved using APIs other than blockchain.info.