API / SDK Tutorial

Author: John Honovich, Published on Dec 18, 2016

While Application Programming Interfaces (APIs) are key to 'open' platforms, they are frequently misunderstood and over-hyped in physical security. While APIs can provide great benefits, using them is much more complex than often mentioned in sales calls and magazines.

The goal of APIs in physical security is to allow different systems to work together. Examples include:

  • *********** **** ** ******* ** ********* **** **** ***
  • *********** **** ***/*** **** **** ****** ******* ******
  • *********** **** ***** ****** **** * ******* ********** ******
  • ******** * **** ****** **** ********** **** *** **** ******** systems

*** ***** **** **** ********* ** ***-***** ********** ***** * customer ** ********** **** * ******: "**** **** ****** **** with '*'?" ***** * ***** ** *** ****** ** ******** systems ** *** ****** ** *************.

*** ******* ****** ** *** ***** ****** **:

"****, ** **** ** ***."

**** ** *** ** *** ******** *** ********** ********* ** all ******** ********. ******* ** ** ** ******, ** ** a ***** ***** ** ***** ********* ****.

Lesson #*: ** **** ***** ** '**' ***

***** ** ** **** ***** ** '**' ***. ******** **** exist. ** ****** *******, ******** ** **** *****. *********, ***** is ** *** *** **** ******** ** * ******. **** to ***** **** *****, *** *** **** ***** ***. **** to ****** *** ****, *** *** **** ****** ***. **** to ******** *** ***** **** *** *********, *** *** ********* frame **** ***, ***.

Lesson #*: *** *** ********* **** ** ***

****'* *** ***** *****. *** *** ********* **** ** *** available. *** *** **** * **** ** *** ****** ********** alerts **** ******* ***********. **** *********** *** **** '** ***' but *** * ******** *** *** ******* ****** ******. ** you *** ******* ******* **** ******* ***** **** ******** ** functions, ** ** ****** **** ****** ** ***** ********* *** not ********** *** ** ***.

**** ******* ********** **** *********** ******* *** *****. * ******'* API ***** **** ******* ******** ************* ********* (**** ******* *** shutter *****, **** *******, ***, ***/*****, ***.). **** ** *** integrate *** *** *******, *** *** **** ******* ***********. **** sure ** ***** **** ******** *** **** ********** ** ****** that ** *** ** ****.

Lesson #*: ****** ** *** **** *** **** ** **** **** **** **** ******

***'* *** *** **** ** ********* * ******* *** *** access ******* ******. **** *** **** **** *** ***** ** no ********* **** ***** *** ******** **** **** ********. **** companies ****** **** ** * ***-********* *** *********** *** ** is *** **********.

********* *** ***** ** **** ** ********* ** ********* **** competitors. **** ** ********* *********'* ******** *** ****** ******* ******** Center? **** **** **** **** *** ***** ** **** ************** **** *** ****** ******** ** ***** ****, ** **** control *** *** ****** ***** ****. *** ****, *** *** post *** ********** ** "*********** ********* **** ***** *********."

***** **** *** ********* **** *** *** ******** ** ****** a *** *** *** ***, **** ******** ************* ***** ****** thousands ** ******* ** **** ****** ******. **** ** ********** likely ** ** ** * ***** *****, ****** ** ***** system.

**** ** *** **** ********** ** *** ******* *******'* ***, it ** *** ********** ** ****. ****** *** *** ********, like ****** ** ******, **** * ***** ****** ** ********* use ***** ****, ***** ***** **** ***** ** ******** ** have ************ ******. **** ***** ** ** *** **** *****.

Lesson #*: ***** *** *********** ***** ****

******* ***** ***** * *** ***** *** ***********. **** *** happen *** ***** ******** *** ********* ******* **** ** ** worked *** **** *** **** ************* ******.

******, ****** **** *** *** ********, *** ****** *** *** the *** *** *** ********. ** ***** ******** * ****** application *** ****** ** *** *********** *********** *******. ****, **** integrating **** * ******** ****** ***, *** ****** ****** ****** or ****************** ***** ********. *** **** ****** *** ****** *** ******* any ********* ************ *** ****** *** ******** ************ **********.

** ****, ** ******* ** *** **** *** ****** ****** you ****** *** **** ********. **** ** *** **** ** risk **** ** ***** ******* *** ********** ***** *** *** into *** ********* ******* ***** *** **** ****** ********** ***** APIs. *********, ***** ******** *** ********** **********, *** *** **** and **** *** ****.

Lesson #*: *** ******* *** ***** ***

**** **** * *******, **** ****, **** ******. *** ********** is **** ****, ***** ****** *** ***** **** ******. ******* for ****** ******* *********** ****, ********* ***********, ****** ** *** functionalities.

*******, ***** ******* ****** ** ***** ****. ***'* *** **** system ***** **** "****** *" ******* *.*. *** ***'* *** "Vendor *" ***** *** **** *.* *** **** ******* "****** the ***". ** ***** *****, *** *** ******* ** *** backwards ********** **** *** *** *******. **** ****** ***** ******** stop ******* **** "****** *" ** *** ******* ****** * to ******* *.*. *** ****** ** **** ******** ******* ****** no ****** ******** ***** ** ****** ** ******** *** ****** that **** *** *** *******.

**** ******* ********** **** *******. **** *** ******* * ****** and ** **** *** ****, ***** ******* **** ***, "** you **** *** *** ********" **** ** ***** *** ************* have **** ********** *** *****. **** ** ******* ******* ******* were **** ** *** *** **** '*****' *** ******** **********.

Lesson #*: *** *** ***** **** **** *** *** ****

****** *** *** * **** ***** ********, *** *** ***** with ******** *** *** **** ** ******** *** ** **** it. *****, *** **** *** ****, **** ***** *** ****. However, ** *** **** **** ****** *** **** ******** *** case, **** *** ** **** ** **********. **** **** ******* on **** ********* **** ***** ************ **** *** *** *** and ****** ** ** *** *** ********** *** ********* ******** up *****. ** * ****** ***** ** ** ****, *** change **** ******* **** * *** ** **** *** ******* because *** ****** **** ****** **** **** ** *** ***** the ***** ** ***** ******** ************* ***** **** ***. ****, if **** ******* **** *** ****** ***** ****, ** **** be ********** *** ******** ****** *** *** ******** * ******* deal ** *** ***** ** * ********* ****** **** ****.

Examples ** ****

*** **** **** ***** *** **** **** *** ** ***** surveillance ** ****'* *****. *** ******* ******* ********* **** **+ ********* ************ ******** ********* ****** ****. *** ********, ****'* ******* **** *** *** ********. ** ** **** **, ******* *.*.* ** *** *** to ******* *** *** ********* **** ********** *** ****** *** need ** ***, ****, **** *** ****.

** ***** ******* ** **** ** ****** *** ******* ******** of ********* ********** *** ************** ** ******** ***************.

** *** ***, ***** *** ********* ********* ** ********* **** available. *** ************* ** **,***+ ****. * *** ******** ************** ****,***** ****,******* ****, ***., ***.  

APIs ** ****

*****, *** ***** *** *** *** *** **** ** *********** when ********** ******** ***********.

  • *** - *********** *********** ********* - *** ****** **** ***** specification, ********* *** **** **** ** ********* *** *******
  • *** - ******** *********** *** - *** ************* *** *********** tools **** ******* *** **** *** ******* ** *** *** API

*** **** **** **** ****** ** ****.

*** ******** *** ************ *******, *** ********* **** *** **** an *** ***** **** *** *** ** **** *** ********** how ** *** **. ****, ****** *** **** **** *** fairly ***** ****** *** **** ** **** **** ********* *********/**********, security ******* ***** ******* (** ** ***** *****) ***** * specific ********* (***** .*** ** ****) *** ******* ***** ** make ** ****** ** *** ***** **********.

APIs *** *********

*** *** ******** ** *** ** **** **** **** *********** ones, ********* *** ********** ** ******** *********. **** *** ** typically (** ***** ********) ********* **** ****** **** ** **** are ***** *** **** ****** (********** * **** ***** ****, getting ** *****, ***.). ******* ** ****, ** ** **** time ********* ** ********* **** ******** ******* ** *** **** needs ** ** **** **** *** **** ***** *** **** new ******, ***, ********, ***.

**** '*********' *** ********* ** ************, *********, ***** *** **** **** * ***** ***** ******* ** manufacturers *** ***. ** **** *********** *** ** *** *** 'language', ** ******** **** ***** ** ***** ** ** * universal ********. ** **** ************ ****** **** ******** (***), **** they *** *** *********** ******* ****** ** ***** ***** ****** language ** *** *****. ********* *** ***** ****, **** *** that, *********, *** ******* **** *** ** '***********' *** ******* communicate. ****, *** ******** ********.

[**** *** ********** ******* ** **** *** ******** / ******* in ****.]

Comments (18)

It would be somewhat helpful to have a quantifiable ranking of what manufacturers will make availalbe in their API/SDK and if access is restricted.

We purchased 100 cameras from one manufacturer who claimed there was an API, then they decilined to release the API to anyone.

Which companies have none/good/great API and VMS support?

Michael, it's very rare to have an IP camera manufacturer 'decline to release the API to anyone.' The only exception would be for those who manufacturer cameras and enterprise VMSes. That said, I don't understand why you would ever buy IP cameras from those companies unless you wanted a 'full package solution.'

We could do some research into support but, like I said, camera companies are typically pretty open, as they want more partners.

Restricted API's bother the crap out of me. All things being equal, I lean towards companies that offer open or low-barrier API's (even though those options are woefully lacking). I don't understand the tendency to restrict access. What is the rational?

They figure they can sell more by forcing you to use their own complimentary products rather than a rival's.

Why has Twitter and Instragram been in an API restriction battle over the last year? Same thing :)

Very good/cool breakdown of a very misunderstood part of our industry.

I can say with considerable expierence in this area that dev in our industry can be a nightmare and is always very expensive, someone put it to me once that its not SDK its $DK!

The biggest issue is the lowest common denominator, say you have three video systems that you want to integrate into another thrid party VMS or PSIM every feature available to the front end has to be available on every connected system so you end up not using lots of features on some system because of weakness/lack of API functions in others.

The backwards compatability is the next biggest issue, you can end up stuck on a version because you know if its upgraded it will break the thrid party connectivity. My advice would be go in with your eyes open, and generally software companies like Genetec, Milestone, Onssi etc will have better and more accessable SDK packages than combined soft & hardware vendors like say Avigilon, Honeywell, Tyco etc as their core offering is a combined solution versus just software which the more open guys base their whole existance on.

I find that about 70% of the time when an end user thinks they need dev it turns out they dont, somtimes ripping out kit/changing software can be cheaper and give you a better and more future prof solution, of course sometimes dev is required and when carried out correctly with good underlaying products can yield very impressive results but it always costs, if not in dev hours and specification then in integrator hours and I guareente nothing ever works properly first time, by version 3 or 4 and sometimes 100's of hours later you have something useable.

Phil, great feedback!

"Its not SDK its $DK!" - Classic!

Good point about lowest common denominator. People are sometimes surprised why PSIM video management capabilities are so rudimentary but that is certainly a key barrier.

Interesting point about ripping out old systems. For sure, if you only have a few old DVRs, it is better to rip and replace, unless the integration is bulletproof and available off the shelf. However, if any custom work needs to be done, for sure, it's better to just upgrade. The trickier issue is what happens when you have dozens or hundreds of old units. To replace those could cost hundreds of thousands or millions of dollars/pounds/euros.

I immediately stop listening when someone even mentions API or SDK. If something does not do what I need right now, I have zero faith that "someone somewhere" will write the particular functionality I am looking for. I am also not going to pay for it to be written when there are other products that are out there already that do what I need.

The only thing that turns me off more than the whole API and SDK pitch is when sales folks say something like, "Everyone includes our cameras in their software and they always write them in."

Ross, good feedback and good advice for other end users.

The only caveat I would add is that sometimes vendors know they have you trapped. For instance, if the vendor is an incumbent at your site, he knows how much of their product you already have and can reasonably calculate that you don't have any other realistic option. It's too expensive and complex to switch so he can force you to either pay up or go without any integration.

You MUST be talking about $iemens and their $INVR :-)

Funny you should mention that John because that is exactly the boat we are in now with our #1 in the world integrator with the fancy old/new name. They have had us over a barrel for years and the only thing we could control was the video option. Now that we have moved away from them with video it is on to access control and then, eventually, BA/FA…

Great atricle it very useful

Got it. But I am still looking forward to hearing the class. Sounds like anyone can claim almost anything to sell you a camera. Even though a lot of really amazing stuff is out there it still seems like buyer beware. It sounds like...Sure our stuff will work with yours, as far as you know. When in reality it may be way more trouble than you expect.

Great breakdown of this often misunderstood topic. I find a lot of people not only do not understand API, but often think SDK is the same thing. Whenever I am working with another manufacturer on an integration of products, hearing them describe API or SDK tells me whether I am actually dealing with the technical expert I need to do the work. The scary part is when the most technical person on their team does not know either.

Any tutorials on how to actually get started using these APIs?

I have an EDI installed on my pc... just need some basic direction...

For example... what language are these in? Some practical examples etc...

Thanks

Kenny try, getting into API programming for SPLUNK. There are some ACAM and VMS integrations you might find interesting.

There is much support in the SPLUNK environment for tying business intelligence together in the security world. You will find a lot more robust software hooks to simulate with.

Good Luck.

There is much support in the SPLUNK environment for tying business intelligence together in the security world

What security / surveillance products / APIs are supported by SPLUNK?

Good article on API.

Login to read this IPVM report.
Why do I need to log in?
IPVM conducts unique testing and research funded by member's payments enabling us to offer the most independent, accurate and in-depth information.

Related Reports

Hikvision USA Starts Layoffs on Sep 18, 2018
Hikvision USA has started layoffs, just weeks after the US government ban was passed into law. Inside this note, we examine: The important...
IP Camera Cable Labeling Guide on Sep 14, 2018
Labeling cables can save a lot of money and headaches. While it is easy to overlook, taking time to label runs during installation significantly...
Favorite Intercom Manufacturers 2018 on Sep 14, 2018
Intercoms are certainly increasing in popularity, driven by the integration of video and IP networking. But who is the favorite? On the one side,...
October 2018 Camera Course - Save $50 - Last Chance on Sep 13, 2018
Today is the last day to save $50 on the October 2018 Camera Course, register now. This is the only independent surveillance camera course,...
VMS Export Shootout - Avigilon, Dahua, Exacq, Genetec, Hikvision, Milestone on Sep 13, 2018
When crimes, accidents or problems occur, exporting video from one's video surveillance system is critical to proving incidents. But who does it...
Ambarella on Computer Vision and US Hikua Ban on Sep 10, 2018
Ambarella, a widely-used video surveillance component supplier, is betting on the rise of computer vision and is already seeing a sales impact from...
Dahua Low-Cost 4MP Camera Tested (N44CL52) on Sep 10, 2018
4MP use continues to increase, especially in low-cost models, according to integrators in our 2018 Resolution Usage Statistics. We bought Dahua's...
IP Camera Cable Termination Guide on Sep 06, 2018
Terminating cables properly is critical to network performance, but it can be a tricky task with multiple steps. Fortunately, this task is easy to...
Drain Wire For Access Control Reader Tutorial on Sep 04, 2018
An easy-to-miss cabling specification plays a key role in access control, yet it is commonly ignored. The drain wire offers protection for readers...
Directory Of 110+ Video Management Software (VMS) Suppliers on Aug 30, 2018
This directory provides a list of Video Management Software providers to help you see and research what options are available. Listing...

Most Recent Industry Reports

25% China Tariffs Finalized For 2019, 10% Start Now, Includes Select Video Surveillance on Sep 18, 2018
A surprise move: In July, when the most recent tariff round was first announced, the tariffs were only scheduled for 10%. However, now, the US...
Central Stations Face Off Against NFPA On Fire Monitoring on Sep 18, 2018
Central stations are facing off against the NFPA over what they call anti-competitive language in NFPA 72, the standard that covers fire alarms....
Hikvision USA Starts Layoffs on Sep 18, 2018
Hikvision USA has started layoffs, just weeks after the US government ban was passed into law. Inside this note, we examine: The important...
Chinese Government Praises Hikvision Following Xi Jinping on Sep 17, 2018
The Chinese government council responsible for managing China's state-owned companies praised Hikvision’s obedience to China’s authoritarian leader...
Amazon Ring Spotlight Cam Tested on Sep 17, 2018
Amazon's Ring has released their latest camera entry, the Spotlight Cam, which we bought and tested in our Consumer IP Camera Analytics...
European Mega Security Firm Verisure Pushing Security Fog on Sep 17, 2018
The European mega security firm Verisure (Securitas Direct), with a reported 2 million customers, is pushing security fog, as shown in this BBC...
IP Camera Cable Labeling Guide on Sep 14, 2018
Labeling cables can save a lot of money and headaches. While it is easy to overlook, taking time to label runs during installation significantly...
Favorite Intercom Manufacturers 2018 on Sep 14, 2018
Intercoms are certainly increasing in popularity, driven by the integration of video and IP networking. But who is the favorite? On the one side,...
Vivotek 4MP Camera Tested (FD8379-HV) on Sep 13, 2018
Next in our series of updated 4MP testing, we bought and tested Vivotek's FD8379-HV, and entry level 4MP model claiming "top-notch quality video in...
Ascent / MONI Faces Lender Lawsuit and Debt Crisis on Sep 13, 2018
ASCMA, aka Ascent, aka Brinks Home Security, aka MONI, aka Monitronics is being sued by a group of their lenders who allege: As of June 30,...

The world's leading video surveillance information source, IPVM provides the best reporting, testing and training for 10,000+ members globally. Dedicated to independent and objective information, we uniquely refuse any and all advertisements, sponsorship and consulting from manufacturers.

About | FAQ | Contact