Creating an OpenAI API Key

Codecademy Team
Learn how to create and use a ChatGPT API key.

ChatGPT has been a game-changer in text-based generative AI. It’s not just a simple chatbot. It’s a sophisticated model that can revolutionize how we interact with technology. To harness its power for our applications, we’ll need the ChatGPT API key.

In this tutorial, we will cover how to get an API key, how to safely store it, how to use it, and finally, we will show you a quick example of how an API key is used in action.

The Basics of the ChatGPT API

Before we dive into obtaining your API key, let’s discuss some foundational knowledge.

Understanding the API Key: An API key is like a unique password that provides secure access for your application to communicate with the ChatGPT model hosted on OpenAI’s servers. It’s a specialized bridge that enables interaction between your application and ChatGPT. With this key, you can make requests to the ChatGPT model, sending user inputs and receiving AI-generated responses.

The OpenAI Ecosystem: ChatGPT is just one of the many incredible models offered by OpenAI. Their platform is a hub of innovative AI research and development, empowering creators, developers, and innovators alike. Within this ecosystem, ChatGPT stands as a beacon of conversational intelligence.

Envisioning the Potential of ChatGPT: ChatGPT allows for creating applications with real-time, human-like interactions. From precise customer service bots to interactive educational tools tailored to individual learning styles, the potential is vast. Integrating ChatGPT can elevate the user experience in business, education, and personal projects.

Now that you have a clearer picture of what lies ahead, let’s move on to the practical steps of generating your API key.

Steps to Generate Your ChatGPT API Key

With the foundational knowledge in place, let’s delve into the hands-on aspect of our journey. Securing your ChatGPT API key is a straightforward process, but attention to detail is crucial. Let’s walk through this together!

Step 1 - Joining the OpenAI Community: If you haven’t already, register with OpenAI by navigating to their platform and following the prompts to set up your account. A strong, unique password is recommended to protect your AI tools. Use this tutorial to accomplish this task: How to Setup a ChatGPT Account.

Step 2 - Finding Your Way to the API Section: Accessing the Dashboard: After logging in to your OpenAI Platform account, you’ll see your dashboard, which provides a snapshot of your account details and available tools. Click on the “API Reference” link in the top navigation of the webpage to access the API reference content of the platform.

A screenshot of The OpenAI Platform Dashboard

Navigating the Sidebar: In the navigation sidebar (located on the left or top, depending on updates) of the API Reference page, find options such as “Models,” “Making Request,” and “Chat” information that will be necessary to know for the development of applications that will interface with the OpenAI API. Get familiar with this knowledge to build better applications that use the OpenAI API.

A screenshot of The OpenAI Platform Sidebar

Locating the API Section: In the top-right corner of the API Reference page, locate your account icon and click it. Navigate to the “View API Keys” menu option to access a dedicated section for API key matters, including key generation and management.

A screenshot of the profile drop-down menu with "View API Keys" option highlighted.

Step 3 - Generating the ChatGPT API Key: In the API keys section, click on the ‘+ Create new secret key’ button to begin the key generation process.

A screenshot of the API Keys page.

Then, provide a name for the new key (optional). Click the ‘Create secret key’ button.

A screenshot of the "Create a new secret key" modal.

The newly created secret key will be displayed. Copy the secret key and store it in a secure location. You’ll need it for the application code pointing to the OpenAI API.

A screenshot of the "Create a new secret key" modal displaying the secret key.

Congratulations! You’ve just created your first OpenAI API key. Now, let’s cover a few key details about completion objects.

Defining the model and other completion objects (if required): The OpenAI platform requires you to specify the AI model for which you want your app to interface with. For example, the chat function of ChatGPT primarily uses two models: gpt-3.5-turbo and gpt-4. For a list of available models in the OpenAI API, reference the API Models documentation. The selected model is not defined in the platform website but instead defined in the JSON code submitted to the API at the time of API request.

Additional completion objects will be necessary to pass to the OpenAI API at the time of request. For example, ‘messages’ is a required object to include in the API request sent to OpenAI since it contains our chat prompt. Here is a Python example of completion objects in code:

# Import Modules
import os
import openai
# Assign API Key to Variable
openai.api_key = os.getenv("OPENAI_API_KEY")
# Build completion objects
completion = openai.ChatCompletion.create(
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello ChatGPT!"}
# Print the response to screen

Code Block Breakdown: Here, the script imports two Python modules: os and openai. The os module provides a way to use operating system-dependent functionality like reading or writing to the environment variables, while openAI is the official Python library provided by OpenAI for interacting with their API.

The OPENAI_API_KEY is a placeholder for the OpenAI ChatGPT API key we’ve generated. The line of code openai.api_key = os.getenv("OPENAI_API_KEY") assigns the API key to the openai.api_key variable. You must set this environment variable in your operating system or in your script before running the code for it to work properly.

The block of code labeled # Build completion objects sends a request to OpenAI’s API to generate a chat completion. It specifies the model to use for the chat, gpt-3.5-turbo and provides an array of messages. The second message has the role of “user” and contains the content “Hello ChatGPT!”, representing a user’s prompt greeting ChatGPT.

Lastly, the code will attempt to print the response from ChatGPT to the screen.

For more information about chat completion objects for the ChatGPT API click here.

Step 4: Managing Your API Key with Care:

Treat your API key like a unique password. Avoid sharing it recklessly and store it in a secure location. Some developers prefer using environment variables or secret management tools to handle their keys for login. Stay vigilant for any unusual activity in your OpenAI account and regenerate your key if needed.

And there you have it! With these steps, you now have your ChatGPT API key, ready to be integrated into your applications. It’s exhilarating, isn’t it? But our journey doesn’t end here. With your key in hand, it’s time to see it in action. Onward to integration!

Integrating ChatGPT into Your Application

Now that you have obtained the ChatGPT API key, it’s time to experience the magic it can bring to your applications. Integrating it may seem daunting, but we will show you how to easily accomplish this task.

Using the API Key in Your Code:

Regardless of the programming language or platform you are using, the core principle remains the same. The API key is typically added to your application’s HTTP headers during API calls. For example, in Python, using the popular requests library, a simple call might look like:

# Import Modules
import requests
# Assign API headers to headers variable
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
# Assign completion objects to the payload variable
payload = {
"model": "gpt-3.5-turbo",
"messages": [
"role": "user",
"content": "Hello, ChatGPT!"
"max_tokens": 150
# Assign API response to response variable
response ="<>", headers=headers, json=payload)
# Print response to screen

Code Block Breakdown: This code block starts with the import of the requests library, which is a popular Python library for making HTTP requests.

The next section defines HTTP headers to be sent with the request and stores them in a headers variable. The Authorization header is used to authenticate with the OpenAI API using a bearer token. Replace YOUR_API_KEY with the actual API key you generated. The Content-Type header is set to “application/json” to indicate that the request body will be in JSON format.

The payload section of the code creates the payload for the request. It specifies the model to use (“gpt-3.5-turbo”), includes an array with a user message (“Hello, ChatGPT!”), and sets a maximum token limit for the response (150 tokens).

Once the headers and payload variables are defined, we use the function to send an HTTP POST request to OpenAI’s API. It provides the URL endpoint, headers, and JSON payload.

Finally, we print the JSON response from the OpenAI API. The response will include the model’s reply to the user’s message, among other information.

Tips and Tricks for Optimizing API Calls and Costs:

  • Batching: If you have multiple prompts, send them in batches to reduce the number of API calls.
  • Limit Tokens: By controlling the max_tokens value in your payload, you can manage the response length and potentially reduce costs.
  • Throttle Requests: Instead of overwhelming the API with numerous simultaneous requests, introduce slight delays or queues.
  • Cache Responses: If your application has common or recurring prompts, cache the responses to avoid redundant API calls.

Conclusion: Embarking on Conversational AI Adventures

And there we have it! Together, we have journeyed through the vast landscape of ChatGPT, from understanding the fundamental concepts to securing our API key and seamlessly integrating it into our applications.

The potential of generative AI, especially with powerful tools like ChatGPT, is truly limitless. You now have the knowledge and tools to build applications that can converse, engage, and amaze. However, always remember that with great power comes great responsibility. It is crucial to use these tools with care and ethical consideration.

As we conclude this tutorial, we encourage you to experiment, innovate, and explore further. The field of AI is constantly evolving, with new developments and techniques on the horizon. Stay curious and keep learning. Happy coding!

To see what else you can do with ChatGPT (or generative AI in general), check out some of the topics covered in the articles located here: AI Articles.