## The problem

Calling keyValueStore.getRecordPublicUrl worked locally and produced a signed public link, but on the platform it generated a URL against an internal worker address (like CONTAINER_IP:8010) that never loaded. A maintainer identified the root cause: on the platform the API URL differs so Actors talk directly to API pods instead of going over the internet, and that internal base URL leaked into signed public URL generation. The fix landed in apify-client-js via PR 745 and the issue was closed.

## The fix

If getRecordPublicUrl gives you a working signed link locally but a dead internal URL (a 10.x address) on the Apify Platform, you are hitting a client-side bug where the internal API base URL leaked into signed URL generation. The fix is in apify-client-js (PR 745), so update your SDK and client dependencies to a release that includes it and the generated URLs will use the canonical public API URL again. The sync KeyValueStore.getPublicUrl path already handled this correctly by ignoring the provided baseUrl and using the APIFY_API_PUBLIC_BASE_URL env variable, which is the same approach the fix applied to the client methods.