1. A system for brokering a plurality of online storage services, the system comprising: a memory that stores a mapping of stored data sets to online storage providers, each stored data set associated with a customer account; and one or more processors configured to: monitor one or more metrics associated with a plurality of separate online storage providers, each online storage provider associated with a different storage system; identify one or more provider criteria associated with a first customer account; obtain one or more metrics of a first online storage provider storing a first data set associated with the first customer account; determine whether to migrate the first data set based in part on the monitored one or more metrics, the one or more metrics of the first online storage provider, and the provider criteria; store the mapping in a temporary manifest; in response to determining to migrate the first data set, auto-initiate migration of the first data set from the first online storage provider to one or more selected online storage providers of the plurality of online storage providers in one or more data transactions, based on a first access token associated with the first online storage provider and a second access token associated with the one or more selected online storage providers, wherein the mapping comprises the first access token; update the mapping stored in the temporary manifest to replace the first access token with the second access token and to indicate the one or more data transactions; determine whether the migration completed successfully or failed; in response to determining that the migration completed successfully: store the mapping in a permanent manifest; delete the temporary manifest; and respond to a request from a client device by providing the permanent manifest to the client device, wherein the permanent manifest enables the client device to access the first data set from the one or more selected online storage providers; and in response to determining that the migration failed: identify orphaned data transactions based on the temporary manifest; and execute a cleaning service on the orphaned data transactions.