Use the free public API

Register and you'll get a free key that you can use to make API calls from your applications.
See the API documentation.

Query Examples

Query using a DHCP fingerprint

                curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119"}'
            

Output

                    {
  "device": {
    "created_at": "2017-09-18T17:12:14.000Z",
    "id": 33453,
    "name": "Android OS",
    "parent_id": 33452,
    "parents": [
      {
        "created_at": "2017-09-18T17:08:09.000Z",
        "id": 33452,
        "name": "Google OS",
        "parent_id": 16879,
        "updated_at": "2017-09-20T15:46:34.000Z",
        "virtual_parent_id": null
      },
      {
        "created_at": "2017-09-14T18:41:06.000Z",
        "id": 16879,
        "name": "Operating System",
        "parent_id": null,
        "updated_at": "2017-09-18T16:33:18.000Z",
        "virtual_parent_id": null
      }
    ],
    "updated_at": "2017-09-18T17:12:14.000Z",
    "virtual_parent_id": null
  },
  "device_name": "Operating System/Google OS/Android OS",
  "score": 75,
  "version": ""
}
                    
                

>>  We get that it is an Android device, with a score of 75.

Query using a DHCP fingerprint and a DHCP vendor

                curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119","dhcp_vendor":"dhcpcd-5.5.6"}'
                
            

Output

                    {
  "device": {
    "created_at": "2017-09-18T17:12:14.000Z",
    "id": 33453,
    "name": "Android OS",
    "parent_id": 33452,
    "parents": [
      {
        "created_at": "2017-09-18T17:08:09.000Z",
        "id": 33452,
        "name": "Google OS",
        "parent_id": 16879,
        "updated_at": "2017-09-20T15:46:34.000Z",
        "virtual_parent_id": null
      },
      {
        "created_at": "2017-09-14T18:41:06.000Z",
        "id": 16879,
        "name": "Operating System",
        "parent_id": null,
        "updated_at": "2017-09-18T16:33:18.000Z",
        "virtual_parent_id": null
      }
    ],
    "updated_at": "2017-09-18T17:12:14.000Z",
    "virtual_parent_id": null
  },
  "device_name": "Operating System/Google OS/Android OS",
  "score": 75,
  "version": "4+"
}

                    
                

>>  We now see it's an Android 4+ device, with the same score.

Query using a DHCP fingerprint, a DHCP vendor and a User Agent

                curl \
-X GET \
-H "Content-Type: application/json" \
'https://api.fingerbank.org/api/v2/combinations/interrogate?key=YOURFINGERBANKAPIKEY' \
-d '{"dhcp_fingerprint":"1,33,3,6,12,15,28,51,58,59,119","dhcp_vendor":"dhcpcd-5.5.6","user_agents":["Mozilla/5.0 (Linux; Android 5.0.2; SM-G920F Build/LRX22G; wv) AppleWebK"]}'
                
            

Output

                    {
  "device": {
    "created_at": "2015-04-16T19:41:45.000Z",
    "id": 6368,
    "name": "Galaxy S6",
    "parent_id": 3809,
    "parents": [
      {
        "created_at": "2014-11-13T12:45:57.000Z",
        "id": 3809,
        "name": "Samsung Android",
        "parent_id": 202,
        "updated_at": "2015-04-24T03:09:27.000Z",
        "virtual_parent_id": null
      },
      {
        "created_at": "2014-09-09T15:09:52.000Z",
        "id": 202,
        "name": "Generic Android",
        "parent_id": 11,
        "updated_at": "2017-09-20T21:28:38.000Z",
        "virtual_parent_id": 33453
      },
      {
        "created_at": "2014-09-09T15:09:50.000Z",
        "id": 11,
        "name": "Phone, Tablet or Wearable",
        "parent_id": null,
        "updated_at": "2017-09-18T14:58:01.000Z",
        "virtual_parent_id": null
      }
    ],
    "updated_at": "2015-04-20T06:39:02.000Z",
    "virtual_parent_id": null
  },
  "device_name": "Phone, Tablet or Wearable/Generic Android/Samsung Android/Galaxy S6",
  "score": 81,
  "version": "4+"
}
                    
                

>>  Now we've got an exact match with a high score for a Samsung Galaxy S6 phone running Android 4+.

Submitting Fingerprints

When you query the Fingerbank database using the API, if this combination of data is unknown to Fingerbank, it will be automatically added to the Fingerbank database.