Do I need separate API keys per client?

No. You can use a single API key across multiple clients and workspaces. However, you may choose to generate multiple keys for different environments (e.g., staging vs production) or for better internal separation of systems.