UNPKG

30 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://www.useanvil.com/?utm_source=sindresorhus#gh-light-mode-only">
41 <div>
42 <img src="https://sindresorhus.com/assets/thanks/anvil-logo-light.svg" width="200" alt="Anvil">
43 </div>
44 <br>
45 <b>Paperwork that makes the data work.</b>
46 <div>
47 <sub>
48 Easy APIs for paperwork. PDF generation, e-signature and embeddable no-code webforms.
49 <br>
50 The easiest way to build paperwork automation into your product.
51 </sub>
52 </div>
53 </a>
54 <a href="https://www.useanvil.com/?utm_source=sindresorhus#gh-dark-mode-only">
55 <div>
56 <img src="https://sindresorhus.com/assets/thanks/anvil-logo-dark.svg" width="200" alt="Anvil">
57 </div>
58 <br>
59 <b>Paperwork that makes the data work.</b>
60 <div>
61 <sub>
62 Easy APIs for paperwork. PDF generation, e-signature and embeddable no-code webforms.
63 <br>
64 The easiest way to build paperwork automation into your product.
65 </sub>
66 </div>
67 </a>
68 <br>
69 <br>
70 <a href="https://sizzy.co/?utm_campaign=github_repo&utm_source=github&utm_medium=referral&utm_content=got&utm_term=sindre">
71 <div>
72 <img src="https://sindresorhus.com/assets/thanks/sizzy-logo.png" width="240" alt="Sizzy">
73 </div>
74 <div>
75 <sub>
76 <b>Before Sizzy:</b> web development is stressing you out, responsive design is hard, you have an overwhelming amount of opened tabs & apps.
77 <br>
78 <b>After Sizzy:</b> all the tools you need in one place, responsive design is a breeze, no more context switching.
79 </sub>
80 </div>
81 </a>
82 <br>
83 <br>
84 <br>
85 <br>
86 </p>
87 <br>
88 <br>
89</div>
90
91> Human-friendly and powerful HTTP request library for Node.js
92
93<!-- [![Coverage Status](https://codecov.io/gh/sindresorhus/got/branch/main/graph/badge.svg)](https://codecov.io/gh/sindresorhus/got/branch/main) -->
94[![Downloads](https://img.shields.io/npm/dm/got.svg)](https://npmjs.com/got)
95[![Install size](https://packagephobia.com/badge?p=got)](https://packagephobia.com/result?p=got)
96
97[See how Got compares to other HTTP libraries](#comparison)
98
99---
100
101For browser usage, we recommend [Ky](https://github.com/sindresorhus/ky) by the same people.
102
103---
104
105**Support questions should be asked [here](https://github.com/sindresorhus/got/discussions).**
106
107## Install
108
109```sh
110npm install got
111```
112
113**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. We will backport security fixes to v11 for the foreseeable future.
114
115## Take a peek
116
117**A [quick start](documentation/quick-start.md) guide is available.**
118
119### JSON mode
120
121Got has a dedicated option for handling JSON payload.\
122Furthermore, the promise exposes a `.json<T>()` function that returns `Promise<T>`.
123
124```js
125import got from 'got';
126
127const {data} = await got.post('https://httpbin.org/anything', {
128 json: {
129 hello: 'world'
130 }
131}).json();
132
133console.log(data);
134//=> {"hello": "world"}
135```
136
137For advanced JSON usage, check out the [`parseJson`](documentation/2-options.md#parsejson) and [`stringifyJson`](documentation/2-options.md#stringifyjson) options.
138
139**For more useful tips like this, visit the [Tips](documentation/tips.md) page.**
140
141## Highlights
142
143- [Used by 8K+ packages and 4M+ repos](https://github.com/sindresorhus/got/network/dependents)
144- [Actively maintained](https://github.com/sindresorhus/got/graphs/contributors)
145- [Trusted by many companies](#widely-used)
146
147## Documentation
148
149By default, Got will retry on failure. To disable this option, set [`options.retry.limit`](documentation/7-retry.md#retry) to 0.
150
151#### Main API
152
153- [x] [Promise API](documentation/1-promise.md)
154- [x] [Options](documentation/2-options.md)
155- [x] [Stream API](documentation/3-streams.md)
156- [x] [Pagination API](documentation/4-pagination.md)
157- [x] [Advanced HTTPS API](documentation/5-https.md)
158- [x] [HTTP/2 support](documentation/2-options.md#http2)
159- [x] [`Response` class](documentation/3-streams.md#response-2)
160
161#### Timeouts and retries
162
163- [x] [Advanced timeout handling](documentation/6-timeout.md)
164- [x] [Retries on failure](documentation/7-retry.md)
165- [x] [Errors with metadata](documentation/8-errors.md)
166
167#### Advanced creation
168
169- [x] [Hooks](documentation/9-hooks.md)
170- [x] [Instances](documentation/10-instances.md)
171- [x] [Progress events & other events](documentation/3-streams.md#events)
172- [x] [Plugins](documentation/lets-make-a-plugin.md)
173- [x] [Compose](documentation/examples/advanced-creation.js)
174
175#### Cache, Proxy and UNIX sockets
176
177- [x] [RFC compliant caching](documentation/cache.md)
178- [x] [Proxy support](documentation/tips.md#proxying)
179- [x] [Unix Domain Sockets](documentation/2-options.md#enableunixsockets)
180
181#### Integration
182
183- [x] [TypeScript support](documentation/typescript.md)
184- [x] [AWS](documentation/tips.md#aws)
185- [x] [Testing](documentation/tips.md#testing)
186
187---
188
189### Migration guides
190
191- [Request migration guide](documentation/migration-guides/request.md)
192 - [*(Note that Request is unmaintained)*](https://github.com/request/request/issues/3142)
193- [Axios](documentation/migration-guides/axios.md)
194- [Node.js](documentation/migration-guides/nodejs.md)
195
196## Got plugins
197
198- [`got4aws`](https://github.com/SamVerschueren/got4aws) - Got convenience wrapper to interact with AWS v4 signed APIs
199- [`gh-got`](https://github.com/sindresorhus/gh-got) - Got convenience wrapper to interact with the GitHub API
200- [`gl-got`](https://github.com/singapore/gl-got) - Got convenience wrapper to interact with the GitLab API
201- [`gotql`](https://github.com/khaosdoctor/gotql) - Got convenience wrapper to interact with GraphQL using JSON-parsed queries instead of strings
202- [`got-fetch`](https://github.com/alexghr/got-fetch) - Got with a [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) interface
203- [`got-scraping`](https://github.com/apify/got-scraping) - Got wrapper specifically designed for web scraping purposes
204- [`got-ssrf`](https://github.com/JaneJeon/got-ssrf) - Got wrapper to protect server-side requests against SSRF attacks
205
206### Legacy
207
208- [travis-got](https://github.com/samverschueren/travis-got) - Got convenience wrapper to interact with the Travis API
209- [graphql-got](https://github.com/kevva/graphql-got) - Got convenience wrapper to interact with GraphQL
210
211## Comparison
212
213| | `got` | [`request`][r0] | [`node-fetch`][n0] | [`ky`][k0] | [`axios`][a0] | [`superagent`][s0] |
214|-----------------------|:-------------------:|:------------------:|:--------------------:|:------------------------:|:------------------:|:----------------------:|
215| HTTP/2 support | :heavy_check_mark:¹ | :x: | :x: | :x: | :x: | :heavy_check_mark:\*\* |
216| Browser support | :x: | :x: | :heavy_check_mark:\* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
217| Promise API | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
218| Stream API | :heavy_check_mark: | :heavy_check_mark: | Node.js only | :x: | :x: | :heavy_check_mark: |
219| Pagination API | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
220| Request cancelation | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
221| RFC compliant caching | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
222| Cookies (out-of-box) | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
223| Follows redirects | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
224| Retries on failure | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: |
225| Progress events | :heavy_check_mark: | :x: | :x: | :heavy_check_mark:\*\*\* | Browser only | :heavy_check_mark: |
226| Handles gzip/deflate | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
227| Advanced timeouts | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
228| Timings | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
229| Errors with metadata | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
230| JSON mode | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
231| Custom defaults | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
232| Composable | :heavy_check_mark: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
233| Hooks | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
234| Issues open | [![][gio]][g1] | [![][rio]][r1] | [![][nio]][n1] | [![][kio]][k1] | [![][aio]][a1] | [![][sio]][s1] |
235| Issues closed | [![][gic]][g2] | [![][ric]][r2] | [![][nic]][n2] | [![][kic]][k2] | [![][aic]][a2] | [![][sic]][s2] |
236| Downloads | [![][gd]][g3] | [![][rd]][r3] | [![][nd]][n3] | [![][kd]][k3] | [![][ad]][a3] | [![][sd]][s3] |
237| Coverage | TBD | [![][rc]][r4] | [![][nc]][n4] | [![][kc]][k4] | [![][ac]][a4] | [![][sc]][s4] |
238| Build | [![][gb]][g5] | [![][rb]][r5] | [![][nb]][n5] | [![][kb]][k5] | [![][ab]][a5] | [![][sb]][s5] |
239| Bugs | [![][gbg]][g6] | [![][rbg]][r6] | [![][nbg]][n6] | [![][kbg]][k6] | [![][abg]][a6] | [![][sbg]][s6] |
240| Dependents | [![][gdp]][g7] | [![][rdp]][r7] | [![][ndp]][n7] | [![][kdp]][k7] | [![][adp]][a7] | [![][sdp]][s7] |
241| Install size | [![][gis]][g8] | [![][ris]][r8] | [![][nis]][n8] | [![][kis]][k8] | [![][ais]][a8] | [![][sis]][s8] |
242| GitHub stars | [![][gs]][g9] | [![][rs]][r9] | [![][ns]][n9] | [![][ks]][k9] | [![][as]][a9] | [![][ss]][s9] |
243| TypeScript support | [![][gts]][g10] | [![][rts]][r10] | [![][nts]][n10] | [![][kts]][k10] | [![][ats]][a10] | [![][sts]][s11] |
244| Last commit | [![][glc]][g11] | [![][rlc]][r11] | [![][nlc]][n11] | [![][klc]][k11] | [![][alc]][a11] | [![][slc]][s11] |
245
246\* It's almost API compatible with the browser `fetch` API.\
247\*\* Need to switch the protocol manually. Doesn't accept PUSH streams and doesn't reuse HTTP/2 sessions.\
248\*\*\* Currently, only `DownloadProgress` event is supported, `UploadProgress` event is not supported.\
249¹ Requires Node.js 15.10.0 or above.\
250:sparkle: Almost-stable feature, but the API may change. Don't hesitate to try it out!\
251:grey_question: Feature in early stage of development. Very experimental.
252
253<!-- GITHUB -->
254[k0]: https://github.com/sindresorhus/ky
255[r0]: https://github.com/request/request
256[n0]: https://github.com/node-fetch/node-fetch
257[a0]: https://github.com/axios/axios
258[s0]: https://github.com/visionmedia/superagent
259
260<!-- ISSUES OPEN -->
261[gio]: https://img.shields.io/github/issues-raw/sindresorhus/got?color=gray&label
262[kio]: https://img.shields.io/github/issues-raw/sindresorhus/ky?color=gray&label
263[rio]: https://img.shields.io/github/issues-raw/request/request?color=gray&label
264[nio]: https://img.shields.io/github/issues-raw/bitinn/node-fetch?color=gray&label
265[aio]: https://img.shields.io/github/issues-raw/axios/axios?color=gray&label
266[sio]: https://img.shields.io/github/issues-raw/visionmedia/superagent?color=gray&label
267
268[g1]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
269[k1]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
270[r1]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
271[n1]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
272[a1]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
273[s1]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
274
275<!-- ISSUES CLOSED -->
276[gic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/got?color=blue&label
277[kic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/ky?color=blue&label
278[ric]: https://img.shields.io/github/issues-closed-raw/request/request?color=blue&label
279[nic]: https://img.shields.io/github/issues-closed-raw/bitinn/node-fetch?color=blue&label
280[aic]: https://img.shields.io/github/issues-closed-raw/axios/axios?color=blue&label
281[sic]: https://img.shields.io/github/issues-closed-raw/visionmedia/superagent?color=blue&label
282
283[g2]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
284[k2]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
285[r2]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
286[n2]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
287[a2]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
288[s2]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
289
290<!-- DOWNLOADS -->
291[gd]: https://img.shields.io/npm/dm/got?color=darkgreen&label
292[kd]: https://img.shields.io/npm/dm/ky?color=darkgreen&label
293[rd]: https://img.shields.io/npm/dm/request?color=darkgreen&label
294[nd]: https://img.shields.io/npm/dm/node-fetch?color=darkgreen&label
295[ad]: https://img.shields.io/npm/dm/axios?color=darkgreen&label
296[sd]: https://img.shields.io/npm/dm/superagent?color=darkgreen&label
297
298[g3]: https://www.npmjs.com/package/got
299[k3]: https://www.npmjs.com/package/ky
300[r3]: https://www.npmjs.com/package/request
301[n3]: https://www.npmjs.com/package/node-fetch
302[a3]: https://www.npmjs.com/package/axios
303[s3]: https://www.npmjs.com/package/superagent
304
305<!-- COVERAGE -->
306[gc]: https://img.shields.io/coveralls/github/sindresorhus/got?color=0b9062&label
307[kc]: https://img.shields.io/codecov/c/github/sindresorhus/ky?color=0b9062&label
308[rc]: https://img.shields.io/coveralls/github/request/request?color=0b9062&label
309[nc]: https://img.shields.io/coveralls/github/bitinn/node-fetch?color=0b9062&label
310[ac]: https://img.shields.io/coveralls/github/mzabriskie/axios?color=0b9062&label
311[sc]: https://img.shields.io/codecov/c/github/visionmedia/superagent?color=0b9062&label
312
313[g4]: https://coveralls.io/github/sindresorhus/got
314[k4]: https://codecov.io/gh/sindresorhus/ky
315[r4]: https://coveralls.io/github/request/request
316[n4]: https://coveralls.io/github/bitinn/node-fetch
317[a4]: https://coveralls.io/github/mzabriskie/axios
318[s4]: https://codecov.io/gh/visionmedia/superagent
319
320<!-- BUILD -->
321[gb]: https://github.com/sindresorhus/got/actions/workflows/main.yml/badge.svg
322[kb]: https://github.com/sindresorhus/ky/actions/workflows/main.yml/badge.svg
323[rb]: https://img.shields.io/travis/request/request?label
324[nb]: https://img.shields.io/travis/bitinn/node-fetch?label
325[ab]: https://img.shields.io/travis/axios/axios?label
326[sb]: https://img.shields.io/travis/visionmedia/superagent?label
327
328[g5]: https://github.com/sindresorhus/got/actions/workflows/main.yml
329[k5]: https://github.com/sindresorhus/ky/actions/workflows/main.yml
330[r5]: https://travis-ci.org/github/request/request
331[n5]: https://travis-ci.org/github/bitinn/node-fetch
332[a5]: https://travis-ci.org/github/axios/axios
333[s5]: https://travis-ci.org/github/visionmedia/superagent
334
335<!-- BUGS -->
336[gbg]: https://img.shields.io/github/issues-raw/sindresorhus/got/bug?color=darkred&label
337[kbg]: https://img.shields.io/github/issues-raw/sindresorhus/ky/bug?color=darkred&label
338[rbg]: https://img.shields.io/github/issues-raw/request/request/Needs%20investigation?color=darkred&label
339[nbg]: https://img.shields.io/github/issues-raw/bitinn/node-fetch/bug?color=darkred&label
340[abg]: https://img.shields.io/github/issues-raw/axios/axios/type:confirmed%20bug?color=darkred&label
341[sbg]: https://img.shields.io/github/issues-raw/visionmedia/superagent/Bug?color=darkred&label
342
343[g6]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
344[k6]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
345[r6]: https://github.com/request/request/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A"Needs+investigation"
346[n6]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
347[a6]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22type%3Aconfirmed+bug%22
348[s6]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3ABug
349
350<!-- DEPENDENTS -->
351[gdp]: https://badgen.net/npm/dependents/got?color=orange&label
352[kdp]: https://badgen.net/npm/dependents/ky?color=orange&label
353[rdp]: https://badgen.net/npm/dependents/request?color=orange&label
354[ndp]: https://badgen.net/npm/dependents/node-fetch?color=orange&label
355[adp]: https://badgen.net/npm/dependents/axios?color=orange&label
356[sdp]: https://badgen.net/npm/dependents/superagent?color=orange&label
357
358[g7]: https://www.npmjs.com/package/got?activeTab=dependents
359[k7]: https://www.npmjs.com/package/ky?activeTab=dependents
360[r7]: https://www.npmjs.com/package/request?activeTab=dependents
361[n7]: https://www.npmjs.com/package/node-fetch?activeTab=dependents
362[a7]: https://www.npmjs.com/package/axios?activeTab=dependents
363[s7]: https://www.npmjs.com/package/visionmedia?activeTab=dependents
364
365<!-- INSTALL SIZE -->
366[gis]: https://badgen.net/packagephobia/install/got?color=blue&label
367[kis]: https://badgen.net/packagephobia/install/ky?color=blue&label
368[ris]: https://badgen.net/packagephobia/install/request?color=blue&label
369[nis]: https://badgen.net/packagephobia/install/node-fetch?color=blue&label
370[ais]: https://badgen.net/packagephobia/install/axios?color=blue&label
371[sis]: https://badgen.net/packagephobia/install/superagent?color=blue&label
372
373[g8]: https://packagephobia.com/result?p=got
374[k8]: https://packagephobia.com/result?p=ky
375[r8]: https://packagephobia.com/result?p=request
376[n8]: https://packagephobia.com/result?p=node-fetch
377[a8]: https://packagephobia.com/result?p=axios
378[s8]: https://packagephobia.com/result?p=superagent
379
380<!-- GITHUB STARS -->
381[gs]: https://img.shields.io/github/stars/sindresorhus/got?color=white&label
382[ks]: https://img.shields.io/github/stars/sindresorhus/ky?color=white&label
383[rs]: https://img.shields.io/github/stars/request/request?color=white&label
384[ns]: https://img.shields.io/github/stars/bitinn/node-fetch?color=white&label
385[as]: https://img.shields.io/github/stars/axios/axios?color=white&label
386[ss]: https://img.shields.io/github/stars/visionmedia/superagent?color=white&label
387
388[g9]: https://github.com/sindresorhus/got
389[k9]: https://github.com/sindresorhus/ky
390[r9]: https://github.com/request/request
391[n9]: https://github.com/node-fetch/node-fetch
392[a9]: https://github.com/axios/axios
393[s9]: https://github.com/visionmedia/superagent
394
395<!-- TYPESCRIPT SUPPORT -->
396[gts]: https://badgen.net/npm/types/got?label
397[kts]: https://badgen.net/npm/types/ky?label
398[rts]: https://badgen.net/npm/types/request?label
399[nts]: https://badgen.net/npm/types/node-fetch?label
400[ats]: https://badgen.net/npm/types/axios?label
401[sts]: https://badgen.net/npm/types/superagent?label
402
403[g10]: https://github.com/sindresorhus/got
404[k10]: https://github.com/sindresorhus/ky
405[r10]: https://github.com/request/request
406[n10]: https://github.com/node-fetch/node-fetch
407[a10]: https://github.com/axios/axios
408[s10]: https://github.com/visionmedia/superagent
409
410<!-- LAST COMMIT -->
411[glc]: https://img.shields.io/github/last-commit/sindresorhus/got?color=gray&label
412[klc]: https://img.shields.io/github/last-commit/sindresorhus/ky?color=gray&label
413[rlc]: https://img.shields.io/github/last-commit/request/request?color=gray&label
414[nlc]: https://img.shields.io/github/last-commit/bitinn/node-fetch?color=gray&label
415[alc]: https://img.shields.io/github/last-commit/axios/axios?color=gray&label
416[slc]: https://img.shields.io/github/last-commit/visionmedia/superagent?color=gray&label
417
418[g11]: https://github.com/sindresorhus/got/commits
419[k11]: https://github.com/sindresorhus/ky/commits
420[r11]: https://github.com/request/request/commits
421[n11]: https://github.com/node-fetch/node-fetch/commits
422[a11]: https://github.com/axios/axios/commits
423[s11]: https://github.com/visionmedia/superagent/commits
424
425[Click here][InstallSizeOfTheDependencies] to see the install size of the Got dependencies.
426
427[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
428
429## Maintainers
430
431[![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)
432---|---
433[Sindre Sorhus](https://sindresorhus.com) | [Szymon Marczak](https://github.com/szmarczak)
434
435###### Former
436
437- [Vsevolod Strukchinsky](https://github.com/floatdrop)
438- [Alexander Tesfamichael](https://github.com/alextes)
439- [Brandon Smith](https://github.com/brandon93s)
440- [Luke Childs](https://github.com/lukechilds)
441- [Giovanni Minotti](https://github.com/Giotino)
442
443<a name="widely-used"></a>
444## These amazing companies are using Got
445
446<table>
447<tbody>
448 <tr>
449 <td align="center">
450 <a href="https://segment.com">
451 <img width="90" valign="middle" src="https://user-images.githubusercontent.com/697676/47693700-ddb62500-dbb7-11e8-8332-716a91010c2d.png">
452 </a>
453 </td>
454 <td align="center">
455 <a href="https://antora.org">
456 <img width="100" valign="middle" src="https://user-images.githubusercontent.com/79351/47706840-d874cc80-dbef-11e8-87c6-5f0c60cbf5dc.png">
457 </a>
458 </td>
459 <td align="center">
460 <a href="https://getvoip.com">
461 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/10832620/47869404-429e9480-dddd-11e8-8a7a-ca43d7f06020.png">
462 </a>
463 </td>
464 <td align="center">
465 <a href="https://github.com/exoframejs/exoframe">
466 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/365944/47791460-11a95b80-dd1a-11e8-9070-e8f2a215e03a.png">
467 </a>
468 </td>
469 </tr>
470 <tr>
471 <td align="center">
472 <a href="http://karaokes.moe">
473 <img width="140" valign="middle" src="https://camo.githubusercontent.com/6860e5fa4684c14d8e1aa65df0aba4e6808ea1a9/687474703a2f2f6b6172616f6b65732e6d6f652f6173736574732f696d616765732f696e6465782e706e67">
474 </a>
475 </td>
476 <td align="center">
477 <a href="https://github.com/renovatebot/renovate">
478 <img width="150" valign="middle" src="https://camo.githubusercontent.com/206d470ac709b9a702a97b0c08d6f389a086793d/68747470733a2f2f72656e6f76617465626f742e636f6d2f696d616765732f6c6f676f2e737667">
479 </a>
480 </td>
481 <td align="center">
482 <a href="https://resist.bot">
483 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/3322287/51992724-28736180-2473-11e9-9764-599cfda4b012.png">
484 </a>
485 </td>
486 <td align="center">
487 <a href="https://www.naturalcycles.com">
488 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/170270/92244143-d0a8a200-eec2-11ea-9fc0-1c07f90b2113.png">
489 </a>
490 </td>
491 </tr>
492 <tr>
493 <td align="center">
494 <a href="https://microlink.io">
495 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/36894700/91992974-1cc5dc00-ed35-11ea-9d04-f58b42ce6a5e.png">
496 </a>
497 </td>
498 <td align="center">
499 <a href="https://radity.com">
500 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/29518613/91814036-97fb9500-ec44-11ea-8c6c-d198cc23ca29.png">
501 </a>
502 </td>
503 <td align="center">
504 <a href="https://apify.com">
505 <img width="150" valign="middle" src="https://user-images.githubusercontent.com/23726914/128673143-958b5930-b677-40ef-8087-5698a0c29c45.png">
506 </a>
507 </td>
508 </tr>
509</tbody>
510</table>
511
512<!-- <br> -->
513
514<!-- *Creating an awesome product? Open an issue to get listed here.* -->
515
516<br>
517
518> 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.
519>
520> — <a href="https://github.com/vadimdemedes">Vadim Demedes</a>
521
522> 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.
523>
524> — <a href="https://github.com/mojavelinux">Dan Allen</a>
525
526> 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.
527>
528> — <a href="https://github.com/danielkalen">Daniel Kalen</a>
529
530> 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.
531>
532> — <a href="https://github.com/yamalight">Tim Ermilov</a>
533
534> Karaoke Mugen uses Got to fetch content updates from its online server.
535>
536> — <a href="https://github.com/AxelTerizaki">Axel Terizaki</a>
537
538> 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.
539>
540> — <a href="https://github.com/rarkins">Rhys Arkins</a>
541
542> Resistbot uses Got to communicate from the API frontend where all correspondence ingresses to the officials lookup database in back.
543>
544> — <a href="https://github.com/chris-erickson">Chris Erickson</a>
545
546> Natural Cycles is using Got to communicate with all kinds of 3rd-party REST APIs (over 9000!).
547>
548> — <a href="https://github.com/kirillgroshkov">Kirill Groshkov</a>
549
550> 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.
551>
552> — <a href="https://github.com/Kikobeats">Kiko Beats</a>
553
554> We’re using Got at Radity. Thanks for such an amazing work!
555>
556> — <a href="https://github.com/MirzayevFarid">Mirzayev Farid</a>
557
558> 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.
559>
560> — <a href="https://github.com/mnmkng">Ondra Urban</a>
561
562## For enterprise
563
564Available as part of the Tidelift Subscription.
565
566The 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)