UNPKG

28.4 kBMarkdownView Raw
1<div align="center">
2 <br>
3 <br>
4 <img width="360" src="media/logo.svg" alt="Got">
5 <br>
6 <br>
7 <br>
8 <p>
9 <p>
10 <sup>
11 Sindre's open source work is supported by the community.<br>Special thanks to:
12 </sup>
13 </p>
14 <br>
15 <a href="https://retool.com/?utm_campaign=sindresorhus">
16 <img src="https://sindresorhus.com/assets/thanks/retool-logo.svg" width="210">
17 </a>
18 <br>
19 <br>
20 <a href="https://strapi.io/?ref=sindresorhus">
21 <div>
22 <img src="https://sindresorhus.com/assets/thanks/strapi-logo-white-bg.png" width="200" alt="Strapi">
23 </div>
24 <b>Strapi is the leading open-source headless CMS.</b>
25 <div>
26 <sup>It’s 100% JavaScript, fully customizable, and developer-first.</sup>
27 </div>
28 </a>
29 <br>
30 <br>
31 <a href="https://www.monito.com">
32 <div>
33 <img src="https://sindresorhus.com/assets/thanks/monito-logo.svg" width="210">
34 </div>
35 <b>Find the cheapest way to send money abroad</b>
36 </a>
37 <br>
38 <br>
39 <br>
40 <a href="https://keygen.sh">
41 <div>
42 <img src="https://sindresorhus.com/assets/thanks/keygen-logo.svg" width="180" alt="Keygen">
43 </div>
44 <b>A dead-simple software licensing and distribution API built for developers</b>
45 </a>
46 <br>
47 <br>
48 <br>
49 <br>
50 </p>
51 <br>
52 <br>
53</div>
54
55> Human-friendly and powerful HTTP request library for Node.js
56
57<!-- [![Coverage Status](https://codecov.io/gh/sindresorhus/got/branch/main/graph/badge.svg)](https://codecov.io/gh/sindresorhus/got/branch/main) -->
58[![Downloads](https://img.shields.io/npm/dm/got.svg)](https://npmjs.com/got)
59[![Install size](https://packagephobia.com/badge?p=got)](https://packagephobia.com/result?p=got)
60
61[See how Got compares to other HTTP libraries](#comparison)
62
63---
64
65For browser usage, we recommend [Ky](https://github.com/sindresorhus/ky) by the same people.
66
67---
68
69**Support questions should be asked [here](https://github.com/sindresorhus/got/discussions).**
70
71## Install
72
73```sh
74npm install got
75```
76
77**Warning:** This package is native [ESM](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) and no longer provides a CommonJS export. If your project uses CommonJS, you'll have to [convert to ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) or use the [dynamic `import()`](https://v8.dev/features/dynamic-import) function. Please don't open issues for questions regarding CommonJS / ESM. You can also use [Got v11](https://github.com/sindresorhus/got/tree/v11.8.3) instead which is pretty stable.
78
79## Take a peek
80
81### JSON mode
82
83Got has a dedicated option for handling JSON payload.\
84Furthermore, the promise exposes a `.json<T>()` function that returns `Promise<T>`.
85
86```js
87import got from 'got';
88
89const {data} = await got.post('https://httpbin.org/anything', {
90 json: {
91 hello: 'world'
92 }
93}).json();
94
95console.log(data);
96//=> {"hello": "world"}
97```
98
99For advanced JSON usage, check out the [`parseJson`](documentation/2-options.md#parsejson) and [`stringifyJson`](documentation/2-options.md#stringifyjson) options.
100
101**For more useful tips like this, visit the [Tips](documentation/tips.md) page.**
102
103## Highlights
104
105- [Used by 6K+ packages and 3M+ repos](https://github.com/sindresorhus/got/network/dependents)
106- [Actively maintained](https://github.com/sindresorhus/got/graphs/contributors)
107- [Trusted by many companies](#widely-used)
108
109## Documentation
110
111#### Main API
112
113- [x] [Promise API](documentation/1-promise.md)
114- [x] [Options](documentation/2-options.md)
115- [x] [Stream API](documentation/3-streams.md)
116- [x] [Pagination API](documentation/4-pagination.md)
117- [x] [Advanced HTTPS API](documentation/5-https.md)
118- [x] [HTTP/2 support](documentation/2-options.md#http2)
119- [x] [`Response` class](documentation/3-streams.md#response-1)
120
121#### Timeouts and retries
122
123- [x] [Advanced timeout handling](documentation/6-timeout.md)
124- [x] [Retries on failure](documentation/7-retry.md)
125- [x] [Errors with metadata](documentation/8-errors.md)
126
127#### Advanced creation
128
129- [x] [Hooks](documentation/9-hooks.md)
130- [x] [Instances](documentation/10-instances.md)
131- [x] [Progress events & other events](documentation/3-streams.md#events)
132- [x] [Plugins](documentation/lets-make-a-plugin.md)
133- [x] [Compose](documentation/examples/advanced-creation.js)
134
135#### Cache, Proxy and UNIX sockets
136
137- [x] [RFC compliant caching](documentation/cache.md)
138- [x] [Proxy support](documentation/tips.md#proxying)
139- [x] [Unix Domain Sockets](documentation/tips.md#unix)
140
141#### Integration
142
143- [x] [TypeScript support](documentation/typescript.md)
144- [x] [AWS](documentation/tips.md#aws)
145- [x] [Testing](documentation/tips.md#testing)
146
147---
148
149### Migration guides
150
151- [Request migration guide](documentation/migration-guides/request.md)
152 - [*(Note that Request is unmaintained)*](https://github.com/request/request/issues/3142)
153- [Axios](documentation/migration-guides/axios.md)
154- [Node.js](documentation/migration-guides/nodejs.md)
155
156## Got plugins
157
158- [`got4aws`](https://github.com/SamVerschueren/got4aws) - Got convenience wrapper to interact with AWS v4 signed APIs
159- [`gh-got`](https://github.com/sindresorhus/gh-got) - Got convenience wrapper to interact with the GitHub API
160- [`gl-got`](https://github.com/singapore/gl-got) - Got convenience wrapper to interact with the GitLab API
161- [`gotql`](https://github.com/khaosdoctor/gotql) - Got convenience wrapper to interact with GraphQL using JSON-parsed queries instead of strings
162- [`got-fetch`](https://github.com/alexghr/got-fetch) - Got with a [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) interface
163- [`got-scraping`](https://github.com/apify/got-scraping) - Got wrapper specifically designed for web scraping purposes
164- [`got-ssrf`](https://github.com/JaneJeon/got-ssrf) - Got wrapper to protect server-side requests against SSRF attacks
165
166### Legacy
167
168- [travis-got](https://github.com/samverschueren/travis-got) - Got convenience wrapper to interact with the Travis API
169- [graphql-got](https://github.com/kevva/graphql-got) - Got convenience wrapper to interact with GraphQL
170
171## Comparison
172
173| | `got` | [`request`][r0] | [`node-fetch`][n0] | [`ky`][k0] | [`axios`][a0] | [`superagent`][s0] |
174|-----------------------|:-------------------:|:------------------:|:--------------------:|:------------------------:|:------------------:|:----------------------:|
175| HTTP/2 support | :heavy_check_mark:¹ | :x: | :x: | :x: | :x: | :heavy_check_mark:\*\* |
176| Browser support | :x: | :x: | :heavy_check_mark:\* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
177| Promise API | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
178| Stream API | :heavy_check_mark: | :heavy_check_mark: | Node.js only | :x: | :x: | :heavy_check_mark: |
179| Pagination API | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
180| Request cancelation | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
181| RFC compliant caching | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
182| Cookies (out-of-box) | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
183| Follows redirects | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
184| Retries on failure | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: |
185| Progress events | :heavy_check_mark: | :x: | :x: | :heavy_check_mark:\*\*\* | Browser only | :heavy_check_mark: |
186| Handles gzip/deflate | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
187| Advanced timeouts | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
188| Timings | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
189| Errors with metadata | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
190| JSON mode | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
191| Custom defaults | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
192| Composable | :heavy_check_mark: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
193| Hooks | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
194| Issues open | [![][gio]][g1] | [![][rio]][r1] | [![][nio]][n1] | [![][kio]][k1] | [![][aio]][a1] | [![][sio]][s1] |
195| Issues closed | [![][gic]][g2] | [![][ric]][r2] | [![][nic]][n2] | [![][kic]][k2] | [![][aic]][a2] | [![][sic]][s2] |
196| Downloads | [![][gd]][g3] | [![][rd]][r3] | [![][nd]][n3] | [![][kd]][k3] | [![][ad]][a3] | [![][sd]][s3] |
197| Coverage | TBD | [![][rc]][r4] | [![][nc]][n4] | [![][kc]][k4] | [![][ac]][a4] | [![][sc]][s4] |
198| Build | [![][gb]][g5] | [![][rb]][r5] | [![][nb]][n5] | [![][kb]][k5] | [![][ab]][a5] | [![][sb]][s5] |
199| Bugs | [![][gbg]][g6] | [![][rbg]][r6] | [![][nbg]][n6] | [![][kbg]][k6] | [![][abg]][a6] | [![][sbg]][s6] |
200| Dependents | [![][gdp]][g7] | [![][rdp]][r7] | [![][ndp]][n7] | [![][kdp]][k7] | [![][adp]][a7] | [![][sdp]][s7] |
201| Install size | [![][gis]][g8] | [![][ris]][r8] | [![][nis]][n8] | [![][kis]][k8] | [![][ais]][a8] | [![][sis]][s8] |
202| GitHub stars | [![][gs]][g9] | [![][rs]][r9] | [![][ns]][n9] | [![][ks]][k9] | [![][as]][a9] | [![][ss]][s9] |
203| TypeScript support | [![][gts]][g10] | [![][rts]][r10] | [![][nts]][n10] | [![][kts]][k10] | [![][ats]][a10] | [![][sts]][s11] |
204| Last commit | [![][glc]][g11] | [![][rlc]][r11] | [![][nlc]][n11] | [![][klc]][k11] | [![][alc]][a11] | [![][slc]][s11] |
205
206\* It's almost API compatible with the browser `fetch` API.\
207\*\* Need to switch the protocol manually. Doesn't accept PUSH streams and doesn't reuse HTTP/2 sessions.\
208\*\*\* Currently, only `DownloadProgress` event is supported, `UploadProgress` event is not supported.\
209¹ Requires Node.js 15.10.0 or above.\
210:sparkle: Almost-stable feature, but the API may change. Don't hesitate to try it out!\
211:grey_question: Feature in early stage of development. Very experimental.
212
213<!-- GITHUB -->
214[k0]: https://github.com/sindresorhus/ky
215[r0]: https://github.com/request/request
216[n0]: https://github.com/node-fetch/node-fetch
217[a0]: https://github.com/axios/axios
218[s0]: https://github.com/visionmedia/superagent
219
220<!-- ISSUES OPEN -->
221[gio]: https://img.shields.io/github/issues-raw/sindresorhus/got?color=gray&label
222[kio]: https://img.shields.io/github/issues-raw/sindresorhus/ky?color=gray&label
223[rio]: https://img.shields.io/github/issues-raw/request/request?color=gray&label
224[nio]: https://img.shields.io/github/issues-raw/bitinn/node-fetch?color=gray&label
225[aio]: https://img.shields.io/github/issues-raw/axios/axios?color=gray&label
226[sio]: https://img.shields.io/github/issues-raw/visionmedia/superagent?color=gray&label
227
228[g1]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
229[k1]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
230[r1]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
231[n1]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
232[a1]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
233[s1]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
234
235<!-- ISSUES CLOSED -->
236[gic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/got?color=blue&label
237[kic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/ky?color=blue&label
238[ric]: https://img.shields.io/github/issues-closed-raw/request/request?color=blue&label
239[nic]: https://img.shields.io/github/issues-closed-raw/bitinn/node-fetch?color=blue&label
240[aic]: https://img.shields.io/github/issues-closed-raw/axios/axios?color=blue&label
241[sic]: https://img.shields.io/github/issues-closed-raw/visionmedia/superagent?color=blue&label
242
243[g2]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
244[k2]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
245[r2]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
246[n2]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
247[a2]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
248[s2]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
249
250<!-- DOWNLOADS -->
251[gd]: https://img.shields.io/npm/dm/got?color=darkgreen&label
252[kd]: https://img.shields.io/npm/dm/ky?color=darkgreen&label
253[rd]: https://img.shields.io/npm/dm/request?color=darkgreen&label
254[nd]: https://img.shields.io/npm/dm/node-fetch?color=darkgreen&label
255[ad]: https://img.shields.io/npm/dm/axios?color=darkgreen&label
256[sd]: https://img.shields.io/npm/dm/superagent?color=darkgreen&label
257
258[g3]: https://www.npmjs.com/package/got
259[k3]: https://www.npmjs.com/package/ky
260[r3]: https://www.npmjs.com/package/request
261[n3]: https://www.npmjs.com/package/node-fetch
262[a3]: https://www.npmjs.com/package/axios
263[s3]: https://www.npmjs.com/package/superagent
264
265<!-- COVERAGE -->
266[gc]: https://img.shields.io/coveralls/github/sindresorhus/got?color=0b9062&label
267[kc]: https://img.shields.io/codecov/c/github/sindresorhus/ky?color=0b9062&label
268[rc]: https://img.shields.io/coveralls/github/request/request?color=0b9062&label
269[nc]: https://img.shields.io/coveralls/github/bitinn/node-fetch?color=0b9062&label
270[ac]: https://img.shields.io/coveralls/github/mzabriskie/axios?color=0b9062&label
271[sc]: https://img.shields.io/codecov/c/github/visionmedia/superagent?color=0b9062&label
272
273[g4]: https://coveralls.io/github/sindresorhus/got
274[k4]: https://codecov.io/gh/sindresorhus/ky
275[r4]: https://coveralls.io/github/request/request
276[n4]: https://coveralls.io/github/bitinn/node-fetch
277[a4]: https://coveralls.io/github/mzabriskie/axios
278[s4]: https://codecov.io/gh/visionmedia/superagent
279
280<!-- BUILD -->
281[gb]: https://github.com/sindresorhus/got/actions/workflows/main.yml/badge.svg
282[kb]: https://github.com/sindresorhus/ky/actions/workflows/main.yml/badge.svg
283[rb]: https://img.shields.io/travis/request/request?label
284[nb]: https://img.shields.io/travis/bitinn/node-fetch?label
285[ab]: https://img.shields.io/travis/axios/axios?label
286[sb]: https://img.shields.io/travis/visionmedia/superagent?label
287
288[g5]: https://github.com/sindresorhus/got/actions/workflows/main.yml
289[k5]: https://github.com/sindresorhus/ky/actions/workflows/main.yml
290[r5]: https://travis-ci.org/github/request/request
291[n5]: https://travis-ci.org/github/bitinn/node-fetch
292[a5]: https://travis-ci.org/github/axios/axios
293[s5]: https://travis-ci.org/github/visionmedia/superagent
294
295<!-- BUGS -->
296[gbg]: https://img.shields.io/github/issues-raw/sindresorhus/got/bug?color=darkred&label
297[kbg]: https://img.shields.io/github/issues-raw/sindresorhus/ky/bug?color=darkred&label
298[rbg]: https://img.shields.io/github/issues-raw/request/request/Needs%20investigation?color=darkred&label
299[nbg]: https://img.shields.io/github/issues-raw/bitinn/node-fetch/bug?color=darkred&label
300[abg]: https://img.shields.io/github/issues-raw/axios/axios/type:confirmed%20bug?color=darkred&label
301[sbg]: https://img.shields.io/github/issues-raw/visionmedia/superagent/Bug?color=darkred&label
302
303[g6]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
304[k6]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
305[r6]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A"Needs+investigation"
306[n6]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
307[a6]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22type%3Aconfirmed+bug%22
308[s6]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3ABug
309
310<!-- DEPENDENTS -->
311[gdp]: https://badgen.net/npm/dependents/got?color=orange&label
312[kdp]: https://badgen.net/npm/dependents/ky?color=orange&label
313[rdp]: https://badgen.net/npm/dependents/request?color=orange&label
314[ndp]: https://badgen.net/npm/dependents/node-fetch?color=orange&label
315[adp]: https://badgen.net/npm/dependents/axios?color=orange&label
316[sdp]: https://badgen.net/npm/dependents/superagent?color=orange&label
317
318[g7]: https://www.npmjs.com/package/got?activeTab=dependents
319[k7]: https://www.npmjs.com/package/ky?activeTab=dependents
320[r7]: https://www.npmjs.com/package/request?activeTab=dependents
321[n7]: https://www.npmjs.com/package/node-fetch?activeTab=dependents
322[a7]: https://www.npmjs.com/package/axios?activeTab=dependents
323[s7]: https://www.npmjs.com/package/visionmedia?activeTab=dependents
324
325<!-- INSTALL SIZE -->
326[gis]: https://badgen.net/packagephobia/install/got?color=blue&label
327[kis]: https://badgen.net/packagephobia/install/ky?color=blue&label
328[ris]: https://badgen.net/packagephobia/install/request?color=blue&label
329[nis]: https://badgen.net/packagephobia/install/node-fetch?color=blue&label
330[ais]: https://badgen.net/packagephobia/install/axios?color=blue&label
331[sis]: https://badgen.net/packagephobia/install/superagent?color=blue&label
332
333[g8]: https://packagephobia.com/result?p=got
334[k8]: https://packagephobia.com/result?p=ky
335[r8]: https://packagephobia.com/result?p=request
336[n8]: https://packagephobia.com/result?p=node-fetch
337[a8]: https://packagephobia.com/result?p=axios
338[s8]: https://packagephobia.com/result?p=superagent
339
340<!-- GITHUB STARS -->
341[gs]: https://img.shields.io/github/stars/sindresorhus/got?color=white&label
342[ks]: https://img.shields.io/github/stars/sindresorhus/ky?color=white&label
343[rs]: https://img.shields.io/github/stars/request/request?color=white&label
344[ns]: https://img.shields.io/github/stars/bitinn/node-fetch?color=white&label
345[as]: https://img.shields.io/github/stars/axios/axios?color=white&label
346[ss]: https://img.shields.io/github/stars/visionmedia/superagent?color=white&label
347
348[g9]: https://github.com/sindresorhus/got
349[k9]: https://github.com/sindresorhus/ky
350[r9]: https://github.com/request/request
351[n9]: https://github.com/node-fetch/node-fetch
352[a9]: https://github.com/axios/axios
353[s9]: https://github.com/visionmedia/superagent
354
355<!-- TYPESCRIPT SUPPORT -->
356[gts]: https://badgen.net/npm/types/got?label
357[kts]: https://badgen.net/npm/types/ky?label
358[rts]: https://badgen.net/npm/types/request?label
359[nts]: https://badgen.net/npm/types/node-fetch?label
360[ats]: https://badgen.net/npm/types/axios?label
361[sts]: https://badgen.net/npm/types/superagent?label
362
363[g10]: https://github.com/sindresorhus/got
364[k10]: https://github.com/sindresorhus/ky
365[r10]: https://github.com/request/request
366[n10]: https://github.com/node-fetch/node-fetch
367[a10]: https://github.com/axios/axios
368[s10]: https://github.com/visionmedia/superagent
369
370<!-- LAST COMMIT -->
371[glc]: https://img.shields.io/github/last-commit/sindresorhus/got?color=gray&label
372[klc]: https://img.shields.io/github/last-commit/sindresorhus/ky?color=gray&label
373[rlc]: https://img.shields.io/github/last-commit/request/request?color=gray&label
374[nlc]: https://img.shields.io/github/last-commit/bitinn/node-fetch?color=gray&label
375[alc]: https://img.shields.io/github/last-commit/axios/axios?color=gray&label
376[slc]: https://img.shields.io/github/last-commit/visionmedia/superagent?color=gray&label
377
378[g11]: https://github.com/sindresorhus/got/commits
379[k11]: https://github.com/sindresorhus/ky/commits
380[r11]: https://github.com/request/request/commits
381[n11]: https://github.com/node-fetch/node-fetch/commits
382[a11]: https://github.com/axios/axios/commits
383[s11]: https://github.com/visionmedia/superagent/commits
384
385[Click here][InstallSizeOfTheDependencies] to see the install size of the Got dependencies.
386
387[InstallSizeOfTheDependencies]: https://packagephobia.com/result?p=@sindresorhus/is@4.0.1,@szmarczak/http-timer@4.0.5,@types/cacheable-request@6.0.1,@types/responselike@1.0.0,cacheable-lookup@6.0.0,cacheable-request@7.0.2,decompress-response@6.0.0,get-stream@6.0.1,http2-wrapper@2.0.5,lowercase-keys@2.0.0,p-cancelable@2.1.1,responselike@2.0.0
388
389## Maintainers
390
391[![Sindre Sorhus](https://github.com/sindresorhus.png?size=100)](https://sindresorhus.com) | [![Szymon Marczak](https://github.com/szmarczak.png?size=100)](https://github.com/szmarczak)
392---|---
393[Sindre Sorhus](https://sindresorhus.com) | [Szymon Marczak](https://github.com/szmarczak)
394
395###### Former
396
397- [Vsevolod Strukchinsky](https://github.com/floatdrop)
398- [Alexander Tesfamichael](https://github.com/alextes)
399- [Brandon Smith](https://github.com/brandon93s)
400- [Luke Childs](https://github.com/lukechilds)
401- [Giovanni Minotti](https://github.com/Giotino)
402
403<a name="widely-used"></a>
404## These amazing companies are using Got
405
406<table>
407<tbody>
408 <tr>
409 <td align="center">
410 <a href="https://segment.com">
411 <img width="90" valign="middle" src="https://user-images.githubusercontent.com/697676/47693700-ddb62500-dbb7-11e8-8332-716a91010c2d.png">
412 </a>
413 </td>
414 <td align="center">
415 <a href="https://antora.org">
416 <img width="100" valign="middle" src="https://user-images.githubusercontent.com/79351/47706840-d874cc80-dbef-11e8-87c6-5f0c60cbf5dc.png">
417 </a>
418 </td>
419 <td align="center">
420 <a href="https://getvoip.com">
421 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/10832620/47869404-429e9480-dddd-11e8-8a7a-ca43d7f06020.png">
422 </a>
423 </td>
424 <td align="center">
425 <a href="https://github.com/exoframejs/exoframe">
426 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/365944/47791460-11a95b80-dd1a-11e8-9070-e8f2a215e03a.png">
427 </a>
428 </td>
429 </tr>
430 <tr>
431 <td align="center">
432 <a href="http://karaokes.moe">
433 <img width="140" valign="middle" src="https://camo.githubusercontent.com/6860e5fa4684c14d8e1aa65df0aba4e6808ea1a9/687474703a2f2f6b6172616f6b65732e6d6f652f6173736574732f696d616765732f696e6465782e706e67">
434 </a>
435 </td>
436 <td align="center">
437 <a href="https://github.com/renovatebot/renovate">
438 <img width="150" valign="middle" src="https://camo.githubusercontent.com/206d470ac709b9a702a97b0c08d6f389a086793d/68747470733a2f2f72656e6f76617465626f742e636f6d2f696d616765732f6c6f676f2e737667">
439 </a>
440 </td>
441 <td align="center">
442 <a href="https://resist.bot">
443 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/3322287/51992724-28736180-2473-11e9-9764-599cfda4b012.png">
444 </a>
445 </td>
446 <td align="center">
447 <a href="https://www.naturalcycles.com">
448 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/170270/92244143-d0a8a200-eec2-11ea-9fc0-1c07f90b2113.png">
449 </a>
450 </td>
451 </tr>
452 <tr>
453 <td align="center">
454 <a href="https://microlink.io">
455 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/36894700/91992974-1cc5dc00-ed35-11ea-9d04-f58b42ce6a5e.png">
456 </a>
457 </td>
458 <td align="center">
459 <a href="https://radity.com">
460 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/29518613/91814036-97fb9500-ec44-11ea-8c6c-d198cc23ca29.png">
461 </a>
462 </td>
463 <td align="center">
464 <a href="https://apify.com">
465 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/23726914/128673143-958b5930-b677-40ef-8087-5698a0c29c45.png">
466 </a>
467 </td>
468 </tr>
469</tbody>
470</table>
471
472<!-- <br> -->
473
474<!-- *Creating an awesome product? Open an issue to get listed here.* -->
475
476<br>
477
478> Segment is a happy user of Got! Got powers the main backend API that our app talks to. It's used by our in-house RPC client that we use to communicate with all microservices.
479>
480> — <a href="https://github.com/vadimdemedes">Vadim Demedes</a>
481
482> Antora, a static site generator for creating documentation sites, uses Got to download the UI bundle. In Antora, the UI bundle (aka theme) is maintained as a separate project. That project exports the UI as a zip file we call the UI bundle. The main site generator downloads that UI from a URL using Got and streams it to vinyl-zip to extract the files. Those files go on to be used to create the HTML pages and supporting assets.
483>
484> — <a href="https://github.com/mojavelinux">Dan Allen</a>
485
486> GetVoIP is happily using Got in production. One of the unique capabilities of Got is the ability to handle Unix sockets which enables us to build a full control interfaces for our docker stack.
487>
488> — <a href="https://github.com/danielkalen">Daniel Kalen</a>
489
490> We're using Got inside of Exoframe to handle all the communication between CLI and server. Exoframe is a self-hosted tool that allows simple one-command deployments using Docker.
491>
492> — <a href="https://github.com/yamalight">Tim Ermilov</a>
493
494> Karaoke Mugen uses Got to fetch content updates from its online server.
495>
496> — <a href="https://github.com/AxelTerizaki">Axel Terizaki</a>
497
498> Renovate uses Got, gh-got and gl-got to send millions of queries per day to GitHub, GitLab, npmjs, PyPi, Packagist, Docker Hub, Terraform, CircleCI, and more.
499>
500> — <a href="https://github.com/rarkins">Rhys Arkins</a>
501
502> Resistbot uses Got to communicate from the API frontend where all correspondence ingresses to the officials lookup database in back.
503>
504> — <a href="https://github.com/chris-erickson">Chris Erickson</a>
505
506> Natural Cycles is using Got to communicate with all kinds of 3rd-party REST APIs (over 9000!).
507>
508> — <a href="https://github.com/kirillgroshkov">Kirill Groshkov</a>
509
510> Microlink is a cloud browser as an API service that uses Got widely as the main HTTP client, serving ~22M requests a month, every time a network call needs to be performed.
511>
512> — <a href="https://github.com/Kikobeats">Kiko Beats</a>
513
514> We’re using Got at Radity. Thanks for such an amazing work!
515>
516> — <a href="https://github.com/MirzayevFarid">Mirzayev Farid</a>
517
518> Got has been a crucial component of Apify's scraping for years. We use it to extract data from billions of web pages every month, and we really appreciate the powerful API and extensibility, which allowed us to build our own specialized HTTP client on top of Got. The support has always been stellar too.
519>
520> — <a href="https://github.com/mnmkng">Ondra Urban</a>
521
522## For enterprise
523
524Available as part of the Tidelift Subscription.
525
526The maintainers of `got` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-got?utm_source=npm-got&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)