# Most performant API client

**URL:** <https://discuss.elastic.co/t/most-performant-api-client/223441>\
**Category:** Elasticsearch\
**Tags:** language-clients\
**Created:** [March 13, 2020, 3:55am UTC](https://discuss.elastic.co/t/most-performant-api-client/223441 "2020-03-13T03:55:32Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![byteandbit](https://avatars.discourse-cdn.com/v4/letter/b/f05b48/32.png) [@byteandbit](https://discuss.elastic.co/u/byteandbit)\
**Post date:** [March 13, 2020, 3:55am UTC](https://discuss.elastic.co/t/most-performant-api-client/223441/1 "2020-03-13T03:55:32Z")

</div>

Hello,  
Which API client is most performant to access Elasticsearch?  
Thanks

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 14, 2020, 9:09pm UTC](https://discuss.elastic.co/t/most-performant-api-client/223441/2 "2020-03-14T21:09:33Z")

</div>

All client libraries are HTTP based apart from the Java Transport client, which is being deprecated. I am not sure the client has a huge impact on performance as most of the request processing time is likely to be used within Elasticsearch.

---

<div class="post-metadata">

**Author:** ![rugenl](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rugenl/32/12887_2.png) [@rugenl](https://discuss.elastic.co/u/rugenl)\
**Post date:** [March 15, 2020, 12:18am UTC](https://discuss.elastic.co/t/most-performant-api-client/223441/3 "2020-03-15T00:18:09Z")

</div>

I use python, but rewrote a pretty simple api task in Powershell for another team's use. Powershell was much slower. I added timers to measure the call time vs. the code time, it was the code. This was a scroll api call, so there were many calls retrieving a block of events at a time, powershell seemed slow iterating over the returned items.

---

<div class="post-metadata">

**Author:** ![Christian\_Dahlqvist](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/christian_dahlqvist/32/4617_2.png) [@Christian\_Dahlqvist](https://discuss.elastic.co/u/Christian_Dahlqvist)\
**Post date:** [March 15, 2020, 6:33am UTC](https://discuss.elastic.co/t/most-performant-api-client/223441/4 "2020-03-15T06:33:18Z")

</div>

Most of the available client libraries use connection pools with persistent connections which removed the need to constantly recreate connections. As far as I know there is no client library for powershell which will make it slower.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 12, 2020, 6:45am UTC](https://discuss.elastic.co/t/most-performant-api-client/223441/5 "2020-04-12T06:45:43Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
