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

# Reddit Profile

> Public Reddit profile by username

Look up a Reddit account by its username and get the public profile.

## Parameters

<ParamField query="username" type="string" required>
  The Reddit username.
</ParamField>

## Headers

<ParamField header="X-API-KEY" type="string" required>
  Your API key.
</ParamField>

## Usage

Counts as one lookup against your plan's daily allowance (Max: unlimited). When the allowance is used up, the lookup can continue at a per-lookup price charged to your balance (the module's page in the dashboard shows the price); a lookup that finds nothing is not charged.

## Example request

<RequestExample>
  ```bash cURL theme={null}
  curl "https://www.osintcat.net/api/reddit?username=unidan" \
       -H "X-API-KEY: YOUR_API_KEY"
  ```

  ```python Python theme={null}
  import requests

  url = "https://www.osintcat.net/api/reddit"
  params = {"username": "unidan"}
  headers = {"X-API-KEY": "YOUR_API_KEY"}

  response = requests.get(url, params=params, headers=headers, timeout=60)
  print(response.status_code, response.json())
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://www.osintcat.net/api/reddit?username=unidan", {
    headers: { "X-API-KEY": "YOUR_API_KEY" },
  });
  console.log(response.status, await response.json());
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init("https://www.osintcat.net/api/reddit?username=unidan");
  curl_setopt_array($curl, [
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => ["X-API-KEY: YOUR_API_KEY"],
  ]);
  $response = curl_exec($curl);
  $status = curl_getinfo($curl, CURLINFO_RESPONSE_CODE);
  curl_close($curl);
  echo $status . " " . $response;
  ```

  ```go Go theme={null}
  package main

  import (
      "fmt"
      "io"
      "net/http"
  )

  func main() {
      req, _ := http.NewRequest("GET", "https://www.osintcat.net/api/reddit?username=unidan", nil)
      req.Header.Set("X-API-KEY", "YOUR_API_KEY")
      resp, err := http.DefaultClient.Do(req)
      if err != nil {
          panic(err)
      }
      defer resp.Body.Close()
      body, _ := io.ReadAll(resp.Body)
      fmt.Println(resp.StatusCode, string(body))
  }
  ```
</RequestExample>

## Response

`taken` is `true` when the account exists. `ExtraData` holds what the profile shows publicly; a field the profile does not have is left out. When the lookup could not be completed, `taken` is `false` and `error` says why (for example `rate_limited`, try again later).

<ResponseField name="taken" type="boolean">
  Whether an account with this username exists.
</ResponseField>

<ResponseField name="error" type="string">
  Present only when the lookup could not be completed.
</ResponseField>

<ResponseField name="ExtraData" type="object">
  Public profile fields.

  <Expandable title="properties">
    <ResponseField name="Username" type="string">
      Username.
    </ResponseField>

    <ResponseField name="DisplayName" type="string">
      Display name.
    </ResponseField>

    <ResponseField name="CommentKarma" type="number">
      Comment karma.
    </ResponseField>

    <ResponseField name="LinkKarma" type="number">
      Post karma.
    </ResponseField>

    <ResponseField name="TotalKarma" type="number">
      Total karma.
    </ResponseField>

    <ResponseField name="CreatedAt" type="number">
      Account creation (Unix time).
    </ResponseField>

    <ResponseField name="IsVerified" type="boolean">
      Verified e-mail.
    </ResponseField>

    <ResponseField name="IsMod" type="boolean">
      Moderates a community.
    </ResponseField>

    <ResponseField name="IsSuspended" type="boolean">
      Present and `true` for suspended accounts.
    </ResponseField>

    <ResponseField name="ProfileUrl" type="string">
      Profile link.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "taken": true,
    "ExtraData": {
      "Username": "unidan",
      "DisplayName": "unidan",
      "CommentKarma": 1000000,
      "LinkKarma": 50000,
      "TotalKarma": 1050000,
      "CreatedAt": 1272498120,
      "IsVerified": true,
      "ProfileUrl": "https://reddit.com/user/unidan"
    }
  }
  ```
</ResponseExample>

## Errors

| Status | Error | When |
| - | - | - |
| 400 | `Missing username parameter` | No `username` given. |

See [Errors](/api-reference/introduction#errors) for the responses every endpoint can return.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.