CORSmirror is a RESTful API that provides a proxy to websites with CORS enabled.
The web service is built with:
For more information, check out the site, Replit, or the repository.
The RESTful API is as follows:
So if you want to fetch https://example.com, you can:
fetch('https://corsmirror.onrender.com/v1/cors?url=https://example.com') .then((response) => response.text()) .then((data) => console.log(data));
You can pass additional query strings that sets or overrides the response header fields:
fetch( 'https://corsmirror.onrender.com/v1/cors?url=https://example.com&content-type=text/plain' ) .then((response) => response.headers.get('content-type')) .then((data) => console.log(data));
There are certain fields like
Content-Lengththat cannot be overridden.
This is an open-source project so feel free to fork the repository and play with the server.
Contributions are welcome!
git clone https://github.com/CORSmirror/CORSmirror.git cd CORSmirror npm install
npm run dev # development npm start # production
npm test npm run lint