Usually you put a service that hold the key, and the client application ask the service to do the request for it.
If the user doesn't want to use your service, they configure their own key.
If the user doesn't want to use your service, they configure their own key.