Reef Proxy is a free CORS proxy that provides multiple methods for fetching and scraping web resources. This page documents all available endpoints and how to use them.
Reef Proxy is a free service. Running and maintaining the proxy requires ongoing server costs. If you find it useful, please consider supporting us with a donation.
Reef Proxy temporarily stores your IP address solely for rate limiting. IP
addresses are not permanently stored or shared.
Our proxy also implements usage caps to maintain our service per client:
Please follow best practices when using our proxy. Cache responses when possible, check response headers before downloading resources, and avoid requesting unnecessarily large files. This helps reduce bandwidth and keeps the proxy available for everyone. :)
/get - Performs a GET request to the target URL./post - Performs a POST request to the target URL./scrape - Loads and returns the rendered HTML of a webpage.
Every request must include the target URL using one of the following methods:
?url=https://example.comx-target-url: https://example.com
Sends a standard HTTP GET request to the specified URL and
returns the response. Additional query parameters are forwarded to the
target URL.
Sends an HTTP POST request to the specified URL. Request
headers and the request body are forwarded to the target whenever
possible.
Opens the requested webpage in a browser and returns the rendered HTML after waiting for the page to load.
Use the optional wait query parameter to specify how many
seconds to wait before the page is scraped.
/scrape?url=https://example.com&wait=5
The wait value must be between 0 and
10 seconds. If omitted, Reef Proxy uses the default wait
time.
You can use the HEAD method with our /get or
/post routes to retrieve response headers without downloading
the response body. This includes Content-Length.
You can help lower bandwidth usage (and keep our service up) by using our Transformation API! If you are fetching a text-like resource (such as text, HTML, JavaScript, CSS, etc.), you can use the Transformation API to return only the portion of the response you need. Read more here.