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.