For HTTP Basic auth use your API key as the username and leave the password empty, with parameters in the query string.

Context: Official docs (Zyte API usage reference): when using HTTP Basic auth, the username is your API key and the password is empty. People trip on this because an empty password looks wrong. Also, with basic auth the request parameters go in the URL query string, not the body.