> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nodepick.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Started with Nodepick: Your First Node in 5 Minutes

> Create your first Nodepick compute node, connect via SSH, and manage it with the Python SDK — all in under five minutes with no credit card required.

This guide walks you through everything you need to go from a brand-new account to a live, SSH-accessible Linux node — all in under five minutes. You will create your account, generate an API key, install the SDK, and run your first node using a short Python script.

<Note>
  Billing starts the moment your node is created and stops the moment you delete it. Nodepick charges per second, so you will never pay for time you are not using.
</Note>

<Steps>
  <Step title="Create Your Account">
    Sign up at [nodepick.ai/signup](https://www.nodepick.ai/signup). No credit card is required — you can create an account and start provisioning nodes right away.
  </Step>

  <Step title="Generate an API Key">
    Once you are logged in, navigate to the **Dashboard**, then open **Developer Settings**. Click **Create API Key**, give it a name, and copy the key. You will need it in the next step.

    Keep your API key private — treat it like a password. If you ever expose it accidentally, you can rotate it from the same settings page.
  </Step>

  <Step title="Install the Python SDK">
    Install the Nodepick SDK using pip:

    ```bash theme={null}
    pip install nodepick
    ```

    The SDK is compatible with Python 3.8 and above and has no heavy dependencies.
  </Step>

  <Step title="Create Your First Node">
    Initialize the client with your API key and call `create_node()`. The method returns a node object that includes the node's ID and status.

    ```python theme={null}
    from nodepick import nodepick

    client = nodepick(api_key="YOUR_API_KEY")
    node = client.create_node()
    print(f"Node created: {node['id']}")
    ```

    Your node is live within seconds of this call returning.
  </Step>

  <Step title="Connect via SSH">
    Call `get_node_details()` with your node's ID to retrieve the SSH credentials. The response includes the hostname, port, username, and private key or password needed to connect.

    ```python theme={null}
    details = client.get_node_details(node["id"])
    print(details)
    ```

    Use the credentials from `details` to open an SSH session from your terminal:

    ```bash theme={null}
    ssh root@<hostname> -p <port>
    ```

    You will land in a root shell on your dedicated Linux node.
  </Step>

  <Step title="Clean Up">
    When you are finished, delete the node to stop billing immediately:

    ```python theme={null}
    client.delete_node(node["id"])
    client.close()
    ```

    The node and all its data are removed as soon as deletion completes.
  </Step>
</Steps>

## Complete Example

The snippet below shows the entire flow in a single script, using a `with` block to ensure the client is properly closed:

```python theme={null}
from nodepick import nodepick

client = nodepick(api_key="YOUR_API_KEY")

with client:
    # Create a node
    node = client.create_node()
    node_id = node["id"]
    print(f"Node created: {node_id}")

    # Get node details (includes SSH credentials)
    details = client.get_node_details(node_id)
    print(f"SSH: {details}")

    # Delete the node when done
    client.delete_node(node_id)
```

Using `with client:` ensures that `client.close()` is called automatically when the block exits, even if an exception occurs.

## Next Steps

<CardGroup cols={2}>
  <Card title="Python SDK Guide" icon="python" href="/guides/python-sdk">
    Dive deeper into the SDK — learn all available methods, return types, error handling, and advanced usage patterns.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Use the HTTP API directly to integrate Nodepick into any language or tool that can make HTTP requests.
  </Card>
</CardGroup>
