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

# Overview

> How to get started with Fingerprint's global device intelligence network API (DRN API)

**Device Reputation Network API** allows making requests to Fingerprint's expansive device intelligence network and get global behavior and risk information about Android devices. To understand the underlying architecture of the DRN API, please refer to this [guide](/docs/drn-overview).

<Note>
  **DRN API only supports Fingerprint's [Android SDK](/docs/android-sdk)**
</Note>

DRN API is only for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. Since Fingerprint doesn't bill for server-side API calls, DRN API is free to use and does not count toward your monthly plan, however API key rate limits apply.

<Check>
  **DRN API requests do not count toward your monthly plan and are not billed.**
</Check>

# Getting started

DRN API is available globally:

| Region | Base URL                  |
| ------ | ------------------------- |
| Global | `https://drn-api.fpjs.io` |

You can use DRN API for all your workspaces, regardless of their [region](/docs/regions).

## Authentication

DRN API requests are authorized with a **Secret API key** that can be obtained in your Fingerprint Dashboard by visiting **[API Keys](https://dashboard.fingerprint.com/api-keys)**.

Set your API key as a Bearer token in the `Authorization` header:

```
Authorization: Bearer SECRET_API_KEY
```

Read more in [Authentication](/reference/drn-api-authentication).

## Version

DRN API is versioned by date. This date represents when a backwards-incompatible change was made. The latest version is **`2024-09-01`**.

Set the version as in the `X-API-Version` header:

```
X-API-Version: 2024-09-01
```

Read more in [Versioning](/reference/drn-api-versioning).

## Signals

DRN API supports three signals in the current version: `regional_activity`, `suspect_score`, and `timestamps`. You can request all three signals in a single request.

## Making a request

The DRN API has two required parameters: `visitor_id` and `signals`:

### `GET https://drn-api.fpjs.io/drn/{visitor_id}?signals={signals}`

We'll be using the `regional_activity` signal for our request by specifying it in the `signals` URL query parameter. Before you can make the request, you need to get a device `visitor_id`. You can [start a trial](http://dashboard.fingerprint.com/signup), run a sample project, and use your device `visitor_id` as a parameter. Once you have the `visitor_id` and the secret API key, build a curl request. The `visitor_id` goes in the path, `signals=regional_activity` as a query parameter, both `Authorization`, and `X-API-Version` as HTTP headers:

<CodeGroup>
  ```bash curl theme={"theme":"github-dark-dimmed"}
  curl --request GET \
    --url 'https://drn-api.fpjs.io/drn/{visitor-id-from-your-app}?signals=regional_activity' \
    --header 'Authorization: Bearer {secret-api-key}' \
    --header 'X-API-Version: 2024-09-01'
  ```

  ```bash wget theme={"theme":"github-dark-dimmed"}
  wget --method GET \
    --header 'X-API-Version: 2024-09-01' \
    --header 'Authorization: Bearer {secret-api-key}' \
    --output-document \
    - 'https://drn-api.fpjs.io/drn/{visitor_id}?signals=regional_activity'
  ```
</CodeGroup>

You will get a response with a list of countries where this device was active in the last 30 days:

```json JSON theme={"theme":"github-dark-dimmed"}
{
  "data": {
    "regionalActivity": {
      "startDate": "2024-08-06T23:00:13Z",
      "endDate": "2024-09-05T23:00:13Z",
      "countries": [
        {
          // this device was active in France via VPN and we detected it by IP
          "code": "FR",
          "detectors": [
            {
              "type": "ip",
              "activityPercentage": 0.20
            }
          ]
        },
        {
          // this device was also active in Russia and we detect it using our 
          // real location detection smart signal
          // /docs/smart-signals-overview#vpn-detection-for-mobile-devices
          "code": "RU",
          "detectors": [
            {
              "type": "origin",
              "activityPercentage": 1.0
            },
              {
              "type": "ip",
              "activityPercentage": 0.8
            }
          ]
        }
      ]
    }
  }
}
```

Even though you just identified this device in your app, you can get a **global** location history for any device in the Fingerprint network, including the **real location** even with VPN enabled!

### Rate limiting

DRN API is rate limited. **The** limit is enforced for every **Secret API key**, and the default rate limit per API key is **5 req/sec**. More details available in the [Rate limiting reference page](/reference/drn-api-rate-limiting). If you need a higher limit, reach out to [drn@fingerprint.com](mailto:drn@fingerprint.com).

### API client SDKs

SDKs for specific languages are coming soon! Email [drn@fingerprint.com](mailto:drn@fingerprint.com) if you want to request an SDK or integration for your stack.
