# How to Log In With Code Here's how to use your API key to access Hackatime data with code. ## Get Your API Key Every API request needs your personal API key. ### Finding Your API Key 1. Log in to [Hackatime](https://hackatime.hackclub.com) 2. Go to [Settings](https://hackatime.hackclub.com/my/settings) 3. Copy your API key from the page ### Using Your API Key Put your API key in the Authorization header: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://hackatime.hackclub.com/api/v1/stats ``` ## Other Ways to Send Your Key ### In the URL You can also put your API key in the URL: ```bash curl "https://hackatime.hackclub.com/api/v1/stats?api_key=YOUR_API_KEY" ``` **Note**: The Authorization header way is safer. ## Test Your Key Try your API key with this simple request: ```bash curl -H "Authorization: Bearer YOUR_API_KEY" \ https://hackatime.hackclub.com/api/v1/stats ``` If it works, you'll get something like: ```json { "total_seconds": 12345, "languages": [...], "projects": [...] } ``` ## What Happens When Something Goes Wrong ### Wrong API Key ```json { "error": "Invalid API key" } ``` ### No API Key ```json { "error": "API key required" } ``` ## Rate Limits We don't enforce hard limits right now, but be reasonable: - Don't make thousands of requests per minute - The WakaTime plugin automatically limits heartbeats to every 30 seconds ## Keep Your Key Safe - **Never put API keys in your code** that others can see - **Use environment variables** to store your API key - **Only use HTTPS** (never HTTP) for API requests - **Get a new key** if you think yours was stolen ## Need Help? Having trouble with your API key? Check: 1. You copied the whole key correctly 2. You're using the right website URL 3. Your request looks like the examples above Still stuck? Ask for help in [Hack Club Slack](https://hackclub.slack.com) (#hackatime-v2 channel)!