got-fetch A fetch -compatible wrapper around got for those times when you need to fetch stuff over HTTP ?? Why would you use this instead of got? Sometimes you might need a fetch wrapper and this is it (e.g. Apollo uses fetch to query remote schemas ). Install Support table: got-fetch version works with got version Notes ^5.0.0 ^12.0.0 ESM package. You have to use import ^4.0.0 ^11.0.0 CJS package. You can use require got is a peer dependency so you will need to install it alongside got-fetch : npm install --save got got-fetch For CommonJS support, we maintain v4 of this package . Usage Use the default export: import fetch from 'got-fetch' ; // in ESM we can use top-level await const resp = await fetch ( 'https://example.com' ) ; console . log ( resp . status ) ; // 200 console . log ( await resp . text ( ) ) ; // a HTML document The module also exports a function which allows you to use your own custom got instance: import got from 'got' ; import { createFetch } from 'got-fetch' ; const myGot = got . extend ( { headers : { 'x-api-key' : 'foo bar' } } ) ; const fetch = createFetch ( myGot ) ; // this request will send the header `x-api-key: foo bar` fetch ( 'https://example.com' ) ; Limitations fetch is designed for browser environments and this package is just a wrapper around a Node-based HTTP client. Not all fetch features are supported: ? RequestMode no-cors , same-origin , navigate ? RequestCache only-if-cached ? RequestRedirect error , manual ? response body streaming. See #25 ? ESM vs CJS packages. See #70 ? RequestHeaders must be a plain object ? RequestCache if unset (or default ) will use got's caching algorithm (any other value will disable caching) License See LICENSE for information.