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 | <br>
|
16 | <a href="https://retool.com/?utm_campaign=sindresorhus">
|
17 | <img src="https://sindresorhus.com/assets/thanks/retool-logo.svg" width="220">
|
18 | </a>
|
19 | <br>
|
20 | <br>
|
21 | <br>
|
22 | <a href="https://strapi.io/?ref=sindresorhus">
|
23 | <div>
|
24 | <img src="https://sindresorhus.com/assets/thanks/strapi-logo-white-bg.png" width="200" alt="Strapi">
|
25 | </div>
|
26 | <b>Strapi is the leading open-source headless CMS.</b>
|
27 | <div>
|
28 | <sup>It’s 100% JavaScript, fully customizable, and developer-first.</sup>
|
29 | </div>
|
30 | </a>
|
31 | <br>
|
32 | <br>
|
33 | <br>
|
34 | <a href="https://serpapi.com#gh-light-mode-only">
|
35 | <div>
|
36 | <img src="https://sindresorhus.com/assets/thanks/serpapi-logo-light.svg" width="130" alt="SerpApi">
|
37 | </div>
|
38 | <b>API to get search engine results with ease.</b>
|
39 | </a>
|
40 | <a href="https://serpapi.com#gh-dark-mode-only">
|
41 | <div>
|
42 | <img src="https://sindresorhus.com/assets/thanks/serpapi-logo-dark.svg" width="120" alt="SerpApi">
|
43 | </div>
|
44 | <b>API to get search engine results with ease.</b>
|
45 | </a>
|
46 | <br>
|
47 | <br>
|
48 | <br>
|
49 | <br>
|
50 | <br>
|
51 | <a href="https://www.fame.fi#gh-light-mode-only">
|
52 | <img src="https://sindresorhus.com/assets/thanks/fame-logo-light.svg" width="200" alt="Fame Helsinki">
|
53 | </a>
|
54 | <a href="https://www.fame.fi#gh-dark-mode-only">
|
55 | <img src="https://sindresorhus.com/assets/thanks/fame-logo-dark.svg" width="200" alt="Fame Helsinki">
|
56 | </a>
|
57 | <br>
|
58 | <br>
|
59 | <br>
|
60 | <br>
|
61 | <br>
|
62 | </p>
|
63 | <br>
|
64 | <br>
|
65 | </div>
|
66 |
|
67 | > Human-friendly and powerful HTTP request library for Node.js
|
68 |
|
69 |
|
70 | [![Downloads](https://img.shields.io/npm/dm/got.svg)](https://npmjs.com/got)
|
71 | [![Install size](https://packagephobia.com/badge?p=got)](https://packagephobia.com/result?p=got)
|
72 |
|
73 | [See how Got compares to other HTTP libraries](#comparison)
|
74 |
|
75 | ---
|
76 |
|
77 | **You probably want [Ky](https://github.com/sindresorhus/ky) instead, by the same people. It's smaller, works in the browser too, and is more stable since it's built upon [`Fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API).**
|
78 |
|
79 | ---
|
80 |
|
81 | **Support questions should be asked [here](https://github.com/sindresorhus/got/discussions).**
|
82 |
|
83 | ## Install
|
84 |
|
85 | ```sh
|
86 | npm install got
|
87 | ```
|
88 |
|
89 | **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 will have to [convert to ESM](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c). Please don't open issues for questions regarding CommonJS / ESM.
|
90 |
|
91 | **Got v11 is no longer maintained and we will not accept any backport requests.**
|
92 |
|
93 | ## Take a peek
|
94 |
|
95 | **A [quick start](documentation/quick-start.md) guide is available.**
|
96 |
|
97 | ### JSON mode
|
98 |
|
99 | Got has a dedicated option for handling JSON payload.\
|
100 | Furthermore, the promise exposes a `.json<T>()` function that returns `Promise<T>`.
|
101 |
|
102 | ```js
|
103 | import got from 'got';
|
104 |
|
105 | const {data} = await got.post('https://httpbin.org/anything', {
|
106 | json: {
|
107 | hello: 'world'
|
108 | }
|
109 | }).json();
|
110 |
|
111 | console.log(data);
|
112 | //=> {"hello": "world"}
|
113 | ```
|
114 |
|
115 | For advanced JSON usage, check out the [`parseJson`](documentation/2-options.md#parsejson) and [`stringifyJson`](documentation/2-options.md#stringifyjson) options.
|
116 |
|
117 | **For more useful tips like this, visit the [Tips](documentation/tips.md) page.**
|
118 |
|
119 | ## Highlights
|
120 |
|
121 | - [Used by 10K+ packages and 5M+ repos](https://github.com/sindresorhus/got/network/dependents)
|
122 | - [Actively maintained](https://github.com/sindresorhus/got/graphs/contributors)
|
123 | - [Trusted by many companies](#widely-used)
|
124 |
|
125 | ## Documentation
|
126 |
|
127 | By default, Got will retry on failure. To disable this option, set [`options.retry.limit`](documentation/7-retry.md#retry) to 0.
|
128 |
|
129 | #### Main API
|
130 |
|
131 | - [x] [Promise API](documentation/1-promise.md)
|
132 | - [x] [Options](documentation/2-options.md)
|
133 | - [x] [Stream API](documentation/3-streams.md)
|
134 | - [x] [Pagination API](documentation/4-pagination.md)
|
135 | - [x] [Advanced HTTPS API](documentation/5-https.md)
|
136 | - [x] [HTTP/2 support](documentation/2-options.md#http2)
|
137 | - [x] [`Response` class](documentation/3-streams.md#response-2)
|
138 |
|
139 | #### Timeouts and retries
|
140 |
|
141 | - [x] [Advanced timeout handling](documentation/6-timeout.md)
|
142 | - [x] [Retries on failure](documentation/7-retry.md)
|
143 | - [x] [Errors with metadata](documentation/8-errors.md)
|
144 |
|
145 | #### Advanced creation
|
146 |
|
147 | - [x] [Hooks](documentation/9-hooks.md)
|
148 | - [x] [Instances](documentation/10-instances.md)
|
149 | - [x] [Progress events & other events](documentation/3-streams.md#events)
|
150 | - [x] [Plugins](documentation/lets-make-a-plugin.md)
|
151 | - [x] [Compose](documentation/examples/advanced-creation.js)
|
152 |
|
153 | #### Cache, Proxy and UNIX sockets
|
154 |
|
155 | - [x] [RFC compliant caching](documentation/cache.md)
|
156 | - [x] [Proxy support](documentation/tips.md#proxying)
|
157 | - [x] [Unix Domain Sockets](documentation/2-options.md#enableunixsockets)
|
158 |
|
159 | #### Integration
|
160 |
|
161 | - [x] [TypeScript support](documentation/typescript.md)
|
162 | - [x] [AWS](documentation/tips.md#aws)
|
163 | - [x] [Testing](documentation/tips.md#testing)
|
164 |
|
165 | ---
|
166 |
|
167 | ### Migration guides
|
168 |
|
169 | - [Request migration guide](documentation/migration-guides/request.md)
|
170 | - [*(Note that Request is unmaintained)*](https://github.com/request/request/issues/3142)
|
171 | - [Axios](documentation/migration-guides/axios.md)
|
172 | - [Node.js](documentation/migration-guides/nodejs.md)
|
173 |
|
174 | ## Got plugins
|
175 |
|
176 | - [`got4aws`](https://github.com/SamVerschueren/got4aws) - Got convenience wrapper to interact with AWS v4 signed APIs
|
177 | - [`gh-got`](https://github.com/sindresorhus/gh-got) - Got convenience wrapper to interact with the GitHub API
|
178 | - [`gl-got`](https://github.com/singapore/gl-got) - Got convenience wrapper to interact with the GitLab API
|
179 | - [`gotql`](https://github.com/khaosdoctor/gotql) - Got convenience wrapper to interact with GraphQL using JSON-parsed queries instead of strings
|
180 | - [`got-fetch`](https://github.com/alexghr/got-fetch) - Got with a [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) interface
|
181 | - [`got-scraping`](https://github.com/apify/got-scraping) - Got wrapper specifically designed for web scraping purposes
|
182 | - [`got-ssrf`](https://github.com/JaneJeon/got-ssrf) - Got wrapper to protect server-side requests against SSRF attacks
|
183 |
|
184 | ## Comparison
|
185 |
|
186 | | | `got` | [`node-fetch`][n0] | [`ky`][k0] | [`axios`][a0] | [`superagent`][s0] |
|
187 | |-----------------------|:-------------------:|:--------------------:|:------------------------:|:------------------:|:----------------------:|
|
188 | | HTTP/2 support | :heavy_check_mark:¹ | :x: | :x: | :x: | :heavy_check_mark:\*\* |
|
189 | | Browser support | :x: | :heavy_check_mark:\* | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
190 | | Promise API | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
191 | | Stream API | :heavy_check_mark: | Node.js only | :x: | :x: | :heavy_check_mark: |
|
192 | | Pagination API | :heavy_check_mark: | :x: | :x: | :x: | :x: |
|
193 | | Request cancelation | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
194 | | RFC compliant caching | :heavy_check_mark: | :x: | :x: | :x: | :x: |
|
195 | | Cookies (out-of-the-box) | :heavy_check_mark: | :x: | :x: | :x: | :x: |
|
196 | | Follows redirects | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
197 | | Retries on failure | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: |
|
198 | | Progress events | :heavy_check_mark: | :x: | :heavy_check_mark:\*\*\* | Browser only | :heavy_check_mark: |
|
199 | | Handles gzip/deflate | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
200 | | Advanced timeouts | :heavy_check_mark: | :x: | :x: | :x: | :x: |
|
201 | | Timings | :heavy_check_mark: | :x: | :x: | :x: | :x: |
|
202 | | Errors with metadata | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
|
203 | | JSON mode | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
204 | | Custom defaults | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
|
205 | | Composable | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: |
|
206 | | Hooks | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
|
207 | | Issues open | [![][gio]][g1] | [![][nio]][n1] | [![][kio]][k1] | [![][aio]][a1] | [![][sio]][s1] |
|
208 | | Issues closed | [![][gic]][g2] | [![][nic]][n2] | [![][kic]][k2] | [![][aic]][a2] | [![][sic]][s2] |
|
209 | | Downloads | [![][gd]][g3] | [![][nd]][n3] | [![][kd]][k3] | [![][ad]][a3] | [![][sd]][s3] |
|
210 | | Coverage | TBD | [![][nc]][n4] | [![][kc]][k4] | [![][ac]][a4] | [![][sc]][s4] |
|
211 | | Build | [![][gb]][g5] | [![][nb]][n5] | [![][kb]][k5] | [![][ab]][a5] | [![][sb]][s5] |
|
212 | | Bugs | [![][gbg]][g6] | [![][nbg]][n6] | [![][kbg]][k6] | [![][abg]][a6] | [![][sbg]][s6] |
|
213 | | Dependents | [![][gdp]][g7] | [![][ndp]][n7] | [![][kdp]][k7] | [![][adp]][a7] | [![][sdp]][s7] |
|
214 | | Install size | [![][gis]][g8] | [![][nis]][n8] | [![][kis]][k8] | [![][ais]][a8] | [![][sis]][s8] |
|
215 | | GitHub stars | [![][gs]][g9] | [![][ns]][n9] | [![][ks]][k9] | [![][as]][a9] | [![][ss]][s9] |
|
216 | | TypeScript support | [![][gts]][g10] | [![][nts]][n10] | [![][kts]][k10] | [![][ats]][a10] | [![][sts]][s11] |
|
217 | | Last commit | [![][glc]][g11] | [![][nlc]][n11] | [![][klc]][k11] | [![][alc]][a11] | [![][slc]][s11] |
|
218 |
|
219 | \* It's almost API compatible with the browser `fetch` API.\
|
220 | \*\* Need to switch the protocol manually. Doesn't accept PUSH streams and doesn't reuse HTTP/2 sessions.\
|
221 | \*\*\* Currently, only `DownloadProgress` event is supported, `UploadProgress` event is not supported.\
|
222 | ¹ Requires Node.js 15.10.0 or above.\
|
223 | :sparkle: Almost-stable feature, but the API may change. Don't hesitate to try it out!\
|
224 | :grey_question: Feature in early stage of development. Very experimental.
|
225 |
|
226 |
|
227 | [k0]: https://github.com/sindresorhus/ky
|
228 | [n0]: https://github.com/node-fetch/node-fetch
|
229 | [a0]: https://github.com/axios/axios
|
230 | [s0]: https://github.com/visionmedia/superagent
|
231 |
|
232 |
|
233 | [gio]: https://img.shields.io/github/issues-raw/sindresorhus/got?color=gray&label
|
234 | [kio]: https://img.shields.io/github/issues-raw/sindresorhus/ky?color=gray&label
|
235 | [nio]: https://img.shields.io/github/issues-raw/bitinn/node-fetch?color=gray&label
|
236 | [aio]: https://img.shields.io/github/issues-raw/axios/axios?color=gray&label
|
237 | [sio]: https://img.shields.io/github/issues-raw/visionmedia/superagent?color=gray&label
|
238 |
|
239 | [g1]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
|
240 | [k1]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
|
241 | [n1]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
|
242 | [a1]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
|
243 | [s1]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
|
244 |
|
245 |
|
246 | [gic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/got?color=blue&label
|
247 | [kic]: https://img.shields.io/github/issues-closed-raw/sindresorhus/ky?color=blue&label
|
248 | [nic]: https://img.shields.io/github/issues-closed-raw/bitinn/node-fetch?color=blue&label
|
249 | [aic]: https://img.shields.io/github/issues-closed-raw/axios/axios?color=blue&label
|
250 | [sic]: https://img.shields.io/github/issues-closed-raw/visionmedia/superagent?color=blue&label
|
251 |
|
252 | [g2]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
|
253 | [k2]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
|
254 | [n2]: https://github.com/bitinn/node-fetch/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
|
255 | [a2]: https://github.com/axios/axios/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
|
256 | [s2]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
|
257 |
|
258 |
|
259 | [gd]: https://img.shields.io/npm/dm/got?color=darkgreen&label
|
260 | [kd]: https://img.shields.io/npm/dm/ky?color=darkgreen&label
|
261 | [nd]: https://img.shields.io/npm/dm/node-fetch?color=darkgreen&label
|
262 | [ad]: https://img.shields.io/npm/dm/axios?color=darkgreen&label
|
263 | [sd]: https://img.shields.io/npm/dm/superagent?color=darkgreen&label
|
264 |
|
265 | [g3]: https://www.npmjs.com/package/got
|
266 | [k3]: https://www.npmjs.com/package/ky
|
267 | [n3]: https://www.npmjs.com/package/node-fetch
|
268 | [a3]: https://www.npmjs.com/package/axios
|
269 | [s3]: https://www.npmjs.com/package/superagent
|
270 |
|
271 |
|
272 | [gc]: https://img.shields.io/coveralls/github/sindresorhus/got?color=0b9062&label
|
273 | [kc]: https://img.shields.io/codecov/c/github/sindresorhus/ky?color=0b9062&label
|
274 | [nc]: https://img.shields.io/coveralls/github/bitinn/node-fetch?color=0b9062&label
|
275 | [ac]: https://img.shields.io/coveralls/github/mzabriskie/axios?color=0b9062&label
|
276 | [sc]: https://img.shields.io/codecov/c/github/visionmedia/superagent?color=0b9062&label
|
277 |
|
278 | [g4]: https://coveralls.io/github/sindresorhus/got
|
279 | [k4]: https://codecov.io/gh/sindresorhus/ky
|
280 | [n4]: https://coveralls.io/github/bitinn/node-fetch
|
281 | [a4]: https://coveralls.io/github/mzabriskie/axios
|
282 | [s4]: https://codecov.io/gh/visionmedia/superagent
|
283 |
|
284 |
|
285 | [gb]: https://github.com/sindresorhus/got/actions/workflows/main.yml/badge.svg
|
286 | [kb]: https://github.com/sindresorhus/ky/actions/workflows/main.yml/badge.svg
|
287 | [nb]: https://img.shields.io/travis/bitinn/node-fetch?label
|
288 | [ab]: https://img.shields.io/travis/axios/axios?label
|
289 | [sb]: https://img.shields.io/travis/visionmedia/superagent?label
|
290 |
|
291 | [g5]: https://github.com/sindresorhus/got/actions/workflows/main.yml
|
292 | [k5]: https://github.com/sindresorhus/ky/actions/workflows/main.yml
|
293 | [n5]: https://travis-ci.org/github/bitinn/node-fetch
|
294 | [a5]: https://travis-ci.org/github/axios/axios
|
295 | [s5]: https://travis-ci.org/github/visionmedia/superagent
|
296 |
|
297 |
|
298 | [gbg]: https://img.shields.io/github/issues-raw/sindresorhus/got/bug?color=darkred&label
|
299 | [kbg]: https://img.shields.io/github/issues-raw/sindresorhus/ky/bug?color=darkred&label
|
300 | [nbg]: https://img.shields.io/github/issues-raw/bitinn/node-fetch/bug?color=darkred&label
|
301 | [abg]: https://img.shields.io/github/issues-raw/axios/axios/bug-fix?color=darkred&label
|
302 | [sbg]: https://img.shields.io/github/issues-raw/visionmedia/superagent/Bug?color=darkred&label
|
303 |
|
304 | [g6]: https://github.com/sindresorhus/got/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
|
305 | [k6]: https://github.com/sindresorhus/ky/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Abug
|
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%22bug-fix%22
|
308 | [s6]: https://github.com/visionmedia/superagent/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3ABug
|
309 |
|
310 |
|
311 | [gdp]: https://badgen.net/npm/dependents/got?color=orange&label
|
312 | [kdp]: https://badgen.net/npm/dependents/ky?color=orange&label
|
313 | [ndp]: https://badgen.net/npm/dependents/node-fetch?color=orange&label
|
314 | [adp]: https://badgen.net/npm/dependents/axios?color=orange&label
|
315 | [sdp]: https://badgen.net/npm/dependents/superagent?color=orange&label
|
316 |
|
317 | [g7]: https://www.npmjs.com/package/got?activeTab=dependents
|
318 | [k7]: https://www.npmjs.com/package/ky?activeTab=dependents
|
319 | [n7]: https://www.npmjs.com/package/node-fetch?activeTab=dependents
|
320 | [a7]: https://www.npmjs.com/package/axios?activeTab=dependents
|
321 | [s7]: https://www.npmjs.com/package/visionmedia?activeTab=dependents
|
322 |
|
323 |
|
324 | [gis]: https://packagephobia.com/badge?p=got
|
325 | [kis]: https://packagephobia.com/badge?p=ky
|
326 | [nis]: https://packagephobia.com/badge?p=node-fetch
|
327 | [ais]: https://packagephobia.com/badge?p=axios
|
328 | [sis]: https://packagephobia.com/badge?p=superagent
|
329 |
|
330 | [g8]: https://packagephobia.com/result?p=got
|
331 | [k8]: https://packagephobia.com/result?p=ky
|
332 | [n8]: https://packagephobia.com/result?p=node-fetch
|
333 | [a8]: https://packagephobia.com/result?p=axios
|
334 | [s8]: https://packagephobia.com/result?p=superagent
|
335 |
|
336 |
|
337 | [gs]: https://img.shields.io/github/stars/sindresorhus/got?color=white&label
|
338 | [ks]: https://img.shields.io/github/stars/sindresorhus/ky?color=white&label
|
339 | [ns]: https://img.shields.io/github/stars/bitinn/node-fetch?color=white&label
|
340 | [as]: https://img.shields.io/github/stars/axios/axios?color=white&label
|
341 | [ss]: https://img.shields.io/github/stars/visionmedia/superagent?color=white&label
|
342 |
|
343 | [g9]: https://github.com/sindresorhus/got
|
344 | [k9]: https://github.com/sindresorhus/ky
|
345 | [n9]: https://github.com/node-fetch/node-fetch
|
346 | [a9]: https://github.com/axios/axios
|
347 | [s9]: https://github.com/visionmedia/superagent
|
348 |
|
349 |
|
350 | [gts]: https://badgen.net/npm/types/got?label
|
351 | [kts]: https://badgen.net/npm/types/ky?label
|
352 | [nts]: https://badgen.net/npm/types/node-fetch?label
|
353 | [ats]: https://badgen.net/npm/types/axios?label
|
354 | [sts]: https://badgen.net/npm/types/superagent?label
|
355 |
|
356 | [g10]: https://github.com/sindresorhus/got
|
357 | [k10]: https://github.com/sindresorhus/ky
|
358 | [n10]: https://github.com/node-fetch/node-fetch
|
359 | [a10]: https://github.com/axios/axios
|
360 | [s10]: https://github.com/visionmedia/superagent
|
361 |
|
362 |
|
363 | [glc]: https://img.shields.io/github/last-commit/sindresorhus/got?color=gray&label
|
364 | [klc]: https://img.shields.io/github/last-commit/sindresorhus/ky?color=gray&label
|
365 | [nlc]: https://img.shields.io/github/last-commit/bitinn/node-fetch?color=gray&label
|
366 | [alc]: https://img.shields.io/github/last-commit/axios/axios?color=gray&label
|
367 | [slc]: https://img.shields.io/github/last-commit/visionmedia/superagent?color=gray&label
|
368 |
|
369 | [g11]: https://github.com/sindresorhus/got/commits
|
370 | [k11]: https://github.com/sindresorhus/ky/commits
|
371 | [n11]: https://github.com/node-fetch/node-fetch/commits
|
372 | [a11]: https://github.com/axios/axios/commits
|
373 | [s11]: https://github.com/visionmedia/superagent/commits
|
374 |
|
375 | [Click here][InstallSizeOfTheDependencies] to see the install size of the Got dependencies.
|
376 |
|
377 | [InstallSizeOfTheDependencies]: https://packagephobia.com/result?p=@sindresorhus/is@7.0.0,@szmarczak/http-timer@5.0.1,cacheable-lookup@7.0.0,cacheable-request@12.0.1,decompress-response@6.0.0,form-data-encoder@4.0.2,http2-wrapper@2.2.1,lowercase-keys@3.0.0,p-cancelable@4.0.1,responselike@3.0.0,type-fest@4.19.0
|
378 |
|
379 | ## Maintainers
|
380 |
|
381 | [![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)
|
382 | ---|---
|
383 | [Sindre Sorhus](https://sindresorhus.com) | [Szymon Marczak](https://github.com/szmarczak)
|
384 |
|
385 | <a name="widely-used"></a>
|
386 | ## These amazing companies are using Got
|
387 |
|
388 | <table>
|
389 | <tbody>
|
390 | <tr>
|
391 | <td align="center">
|
392 | <a href="https://segment.com">
|
393 | <img width="90" valign="middle" src="https://user-images.githubusercontent.com/697676/47693700-ddb62500-dbb7-11e8-8332-716a91010c2d.png">
|
394 | </a>
|
395 | </td>
|
396 | <td align="center">
|
397 | <a href="https://antora.org">
|
398 | <img width="100" valign="middle" src="https://user-images.githubusercontent.com/79351/47706840-d874cc80-dbef-11e8-87c6-5f0c60cbf5dc.png">
|
399 | </a>
|
400 | </td>
|
401 | <td align="center">
|
402 | <a href="https://getvoip.com">
|
403 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/10832620/47869404-429e9480-dddd-11e8-8a7a-ca43d7f06020.png">
|
404 | </a>
|
405 | </td>
|
406 | <td align="center">
|
407 | <a href="https://github.com/exoframejs/exoframe">
|
408 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/365944/47791460-11a95b80-dd1a-11e8-9070-e8f2a215e03a.png">
|
409 | </a>
|
410 | </td>
|
411 | </tr>
|
412 | <tr>
|
413 | <td align="center">
|
414 | <a href="http://karaokes.moe">
|
415 | <img width="140" valign="middle" src="https://karaokes.moe/assets/images/index.png">
|
416 | </a>
|
417 | </td>
|
418 | <td align="center">
|
419 | <a href="https://github.com/renovatebot/renovate">
|
420 | <img width="150" valign="middle" src="https://avatars.githubusercontent.com/u/38656520?s=200&v=4">
|
421 | </a>
|
422 | </td>
|
423 | <td align="center">
|
424 | <a href="https://resist.bot">
|
425 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/3322287/51992724-28736180-2473-11e9-9764-599cfda4b012.png">
|
426 | </a>
|
427 | </td>
|
428 | <td align="center">
|
429 | <a href="https://www.naturalcycles.com">
|
430 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/170270/92244143-d0a8a200-eec2-11ea-9fc0-1c07f90b2113.png">
|
431 | </a>
|
432 | </td>
|
433 | </tr>
|
434 | <tr>
|
435 | <td align="center">
|
436 | <a href="https://microlink.io">
|
437 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/36894700/91992974-1cc5dc00-ed35-11ea-9d04-f58b42ce6a5e.png">
|
438 | </a>
|
439 | </td>
|
440 | <td align="center">
|
441 | <a href="https://radity.com">
|
442 | <img width="150" valign="middle" src="https://user-images.githubusercontent.com/29518613/91814036-97fb9500-ec44-11ea-8c6c-d198cc23ca29.png">
|
443 | </a>
|
444 | </td>
|
445 | </tr>
|
446 | </tbody>
|
447 | </table>
|
448 |
|
449 | -->
|
450 |
|
451 |
|
452 |
|
453 | <br>
|
454 |
|
455 | > 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.
|
456 | >
|
457 | > — <a href="https://github.com/vadimdemedes">Vadim Demedes</a>
|
458 |
|
459 | > 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.
|
460 | >
|
461 | > — <a href="https://github.com/mojavelinux">Dan Allen</a>
|
462 |
|
463 | > 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.
|
464 | >
|
465 | > — <a href="https://github.com/danielkalen">Daniel Kalen</a>
|
466 |
|
467 | > 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.
|
468 | >
|
469 | > — <a href="https://github.com/yamalight">Tim Ermilov</a>
|
470 |
|
471 | > Karaoke Mugen uses Got to fetch content updates from its online server.
|
472 | >
|
473 | > — <a href="https://github.com/AxelTerizaki">Axel Terizaki</a>
|
474 |
|
475 | > 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.
|
476 | >
|
477 | > — <a href="https://github.com/rarkins">Rhys Arkins</a>
|
478 |
|
479 | > Resistbot uses Got to communicate from the API frontend where all correspondence ingresses to the officials lookup database in back.
|
480 | >
|
481 | > — <a href="https://github.com/chris-erickson">Chris Erickson</a>
|
482 |
|
483 | > Natural Cycles is using Got to communicate with all kinds of 3rd-party REST APIs (over 9000!).
|
484 | >
|
485 | > — <a href="https://github.com/kirillgroshkov">Kirill Groshkov</a>
|
486 |
|
487 | > 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.
|
488 | >
|
489 | > — <a href="https://github.com/Kikobeats">Kiko Beats</a>
|
490 |
|
491 | > We’re using Got at Radity. Thanks for such an amazing work!
|
492 | >
|
493 | > — <a href="https://github.com/MirzayevFarid">Mirzayev Farid</a>
|