> For the complete documentation index, see [llms.txt](https://linkie.bio/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linkie.bio/docs/getting-started/quickstart.md).

# Quickstart

This guide has one goal: make your first successful request to the Linkie API.

By the end, you will authenticate with your API key and list the Linkie profiles available to your account.

### Prerequisites <a href="#prerequisites" id="prerequisites"></a>

* A Linkie account
* Basic familiarity with REST APIs
* A terminal tool (cURL) or an API client (Postman, Bruno, Insomnia)

### Your first request

{% stepper %}
{% step %}

#### Generate an API key

{% hint style="info" %}
If you prefer an image-guided step, [click here](https://linkie.bio/help/en/article/how-to-access-the-linkie-api-mzfuyh/?bust=1781098005880).
{% endhint %}

* Head over to the [Linkie Playground](https://app.linkie.bio/playground).
* Click the account **profile icon** at the top right → **Settings**.
* Go to **API Keys** → **Generate new key.**
* Give it a name and copy it.
  {% endstep %}

{% step %}

#### Prepare your request

Use the production API base URL:

<pre class="language-http"><code class="lang-http"><code class="expression">space.vars.API_BASE_URL</code>
</code></pre>

Include your API key in the `Authorization` header:

```http
Authorization: Bearer YOUR_API_KEY
```

{% endstep %}

{% step %}

#### Send your first request

Let's fetch our Linkie account profiles.

{% tabs %}
{% tab title="cURL" %}

```bash
curl -X GET https://app.linkie.bio/api/v1/profiles \
  -H "Authorization: Bearer YOUR_API_KEY"
```

{% endtab %}

{% tab title="JS" icon="square-js" %}

```javascript
const profilesResponse = await fetch("https://app.linkie.bio/api/v1/profiles", {
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
  },
});

const profiles = await profilesResponse.json();
console.log(profiles);
```

{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

#### Confirm the response

If the request succeeds, the API returns a `200` response.

Example successful response:

```json
{
  "status": true,
  "statusCode": 200,
  "message": "Success",
  "data": {
    "user_id": "69e52a76537d6076cf475c27",
    "profiles": [
      {
        "_id": "69e52a76537d6076cf475c2a",
        "username": "demo",
        "name": "First Demo",
        "title": "This is my demo account!",
        "bio": "Visit our homepage [here](https://linkie.bio).",
        "profile_image_url": "https://cdn.linkie.bio/69e52a76537d6076cf475c27/69e52a76537d6076cf475c2a/69e52a76537d6076cf475c2a_1776703260766.png"
      },
      {
        "_id": "6a0b0758663f8abd07ef1116",
        "username": "demo2",
        "name": "Second Demo",
        "title": "This is my second demo account!",
        "bio": "Hi 👋"
      }
    ]
  },
  "timestamp": "2026-06-10 12:00:00"
}
```

This confirms that:

* the request was authenticated successfully
* the API key belongs to the user in `data.user_id`
* available Linkie profiles are returned in `data.profiles`
* each profile includes its `_id`, `username`, `name`, `title`, and `bio`
* some profiles may also include `profile_image_url`&#x20;
  {% endstep %}
  {% endstepper %}

#### What to save for later

In most integrations, you will reuse these values across many calls:

* `data.profiles[]._id` as your `profileId` for Posts endpoints
* `link_in_bio_id` (used by [Analytics](/docs/api-reference/analytics.md) endpoints)

#### Next steps

Once your first request is successful, you may continue with:

{% content-ref url="/pages/R9g3a0h14L1F5lcFuB2S" %}
[Authentication](/docs/getting-started/authentication.md)
{% endcontent-ref %}

{% content-ref url="/pages/XY6A6qDhOg2iD0C19KBX" %}
[Rate Limits](/docs/getting-started/rate-limits.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://linkie.bio/docs/getting-started/quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
