# Hermes Client - Invalid response

**URL:** <https://dev-forum.pyth.network/t/hermes-client-invalid-response/461>\
**Category:** Price Feeds\
**Created:** [November 6, 2025, 10:39am UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461 "2025-11-06T10:39:01Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![KemarTiti](https://yyz2.discourse-cdn.com/flex034/user_avatar/dev-forum.pyth.network/kemartiti/32/6_2.png) [@KemarTiti](https://dev-forum.pyth.network/u/KemarTiti)\
**Post date:** [November 6, 2025, 10:39am UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461/1 "2025-11-06T10:39:01Z")

</div>

Hey,

We are currently using @pythnetwork/hermes-client and getLatestPriceUpdates function to retrieve Pyth price feeds in batch mode.

However, the current implementation causes an issue: if even a single feedId is invalid or fails to resolve, the entire batch request fails.

1. Is there a reliable way to pre-validate whether a given feedId is valid/exists before including it in a batch request?
2. If possible, could you provide (or point us to) an alternative batch retrieval method that supports partial success — i.e., returns prices for all valid feedIds while gracefully handling errors for invalid or unavailable ones without rejecting the whole batch?

---

<div class="post-metadata">

**Author:** ![ali](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@ali](https://dev-forum.pyth.network/u/ali)\
**Post date:** [November 6, 2025, 10:52am UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461/2 "2025-11-06T10:52:34Z")

</div>

We have an `ignoreInvalidPriceIds` option in the requests that lets you get the feeds partially. See [here](https://github.com/pyth-network/pyth-crosschain/blob/main/apps/hermes/client/js/src/HermesClient.ts#L179C7-L179C28) for more info.

---

<div class="post-metadata">

**Author:** ![KemarTiti](https://yyz2.discourse-cdn.com/flex034/user_avatar/dev-forum.pyth.network/kemartiti/32/6_2.png) [@KemarTiti](https://dev-forum.pyth.network/u/KemarTiti)\
**Post date:** [November 7, 2025, 12:04pm UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461/3 "2025-11-07T12:04:59Z")

</div>

Thanks!

Every 15 seconds, we call your SDK to fetch the latest prices; we batch 20 tokens in each call.  
As of now, we see that more than 40% of the API calls take more than 2 seconds, and occasionally it will reach a 5-second timeout. Is it expected?

---

<div class="post-metadata">

**Author:** ![ali](https://avatars.discourse-cdn.com/v4/letter/a/8c91f0/32.png) [@ali](https://dev-forum.pyth.network/u/ali)\
**Post date:** [November 7, 2025, 12:26pm UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461/4 "2025-11-07T12:26:34Z")

</div>

From which location are you hitting Hermes endpoints? We generally recommend using a private Hermes RPC for production usecases.

---

<div class="post-metadata">

**Author:** ![KemarTiti](https://yyz2.discourse-cdn.com/flex034/user_avatar/dev-forum.pyth.network/kemartiti/32/6_2.png) [@KemarTiti](https://dev-forum.pyth.network/u/KemarTiti)\
**Post date:** [November 7, 2025, 12:48pm UTC](https://dev-forum.pyth.network/t/hermes-client-invalid-response/461/5 "2025-11-07T12:48:25Z")

</div>

We call it from Singapore
