A Quick Guide to Contact APIs and What You Can Do With Them

DZone 's Guide to

A Quick Guide to Contact APIs and What You Can Do With Them

In this article, we look at some of the more popular APIs that are geared around contact info, and how devs can use them to make cool apps.

· Integration Zone ·
Free Resource

There is a growing need for enterprises and application developers to have increased access to relevant contact details. However, there is also a huge need for the users of software and applications to feel as if their privacy is protected and their information won’t be compromised. Research by Gigya found that 68 percent of people don’t trust brands to handle their personal information appropriately.

Contact APIs provide a secure way for organizations to retrieve and modify user contact details programmatically without compromising the privacy of such users. Below you’ll find out about several contact APIs and what you can do with them.

Google Contacts API

Google’s Contacts API is a RESTful API that allows client applications to access a user’s Google contact details, stored in a user’s Google Account. The main use of this API is to build apps that have access to user contact details. The user is served an OAuth dialog, which requests authorization for Google Contact access. For more details on the API, see the official documentation.

Examples of specific uses for the Google Contacts API include:

  • Using a GET request to retrieve a list of a user's contacts.

  • Deleting the content of an existing contact with a DELETE request.

  • Querying the existing contacts based on certain criteria, such as contacts created or updated within specified date ranges.

Developers can leverage this API to access and import contact data for existing app users, and potentially to invite friends of users to their app.

Hubspot Contacts API

Hubspot is one of the leading inbound marketing platforms used by companies, and its Contacts API provides read and write access to Hubspot Contacts data using a RESTful architecture. The main use of this API is retrieving lead-specific data.

The Hubspot Contacts API is, therefore, geared towards companies who need programmatic access to this lead data for marketing purposes, whether to help with marketing automation or for lead scoring (qualifying leads). For more details on the Hubspot API, see the official documentation.

Some specific uses for this contact API include:

  • Using a GET request to search for contacts based on certain search keywords.

  • Creating or updating groups of contacts.

  • Deleting contacts.

Outlook Contacts API

The Microsoft Outlook Contacts API is a RESTful API providing access to a user's contacts and contact folders on Office 365, and other Microsoft services, including Hotmail.com, Live.com, MSN.com, Outlook.com, and Passport.com.

Similar to the Google API, the Outlook Contacts API allows developers to build apps which integrate with Microsoft services via access to user contact details. All requests for user contact information are OAuth authenticated, meaning the user must give express permission for access. For more details on the API, see the official documentation.

Use cases for this API include:

  • Assigning a photo to a signed-in user’s contact with a PUT request.

  • Creating contacts in the specified Contacts folder with a POST request.

  • Combining two or more GET requests to synchronize a local list of contacts with the contacts on the server.

  • Use GET requests to view current lists of tasks in Microsoft Outlook.

The Outlook Contacts API may be useful developers building productivity apps and services that integrate with Microsoft Outlook, such as a custom meeting manager which accesses a user’s Outlook tasks and helps build a schedule for them.

Apple Contacts API

The Apple Contacts framework provides Swift and Objective-C API access to a user’s contacts (if the user grants permission, that is). The main users of this API are developers wanting to build apps on iOS which require contacts access, such as messaging apps or mobile voIP apps. For more details, see the official documentation.

Some functions you can perform with this API are:

  • Formatting international postal addresses by using the CNPostalAddressFormatter class.

  • Use the CNContactStore class to fetch a list of contacts.

Other Contacts APIs

There are other types of emerging contacts APIs apart from the mainstream options discussed above.

Lusha, for example, provides a contacts API which adds full contact details about a person or company to existing sales tools and other software. This API is particularly useful for streamlining certain aspects of lead generation and client outreach.

Another example is the RESTful inContact API that provides programmatic access to inContact’s cloud contact center. For more details, see the documentation.

Closing Thoughts

While access to contact details is inherently useful for enhancing the functionality of many services, developing custom applications, and providing marketing opportunities for enterprises, there is a need to understand privacy concerns in a world where cyber criminals attempt increasingly sophisticated forms of attack, such as social engineering.

Contacts APIs provide a robust option for developers and organizations to access contact data for an abundance of genuinely practical and helpful uses. However, people might understandably worry about the implications of APIs which give access to their personal data.

The providers of APIs, therefore, have a responsibility to stringently test their APIs for any vulnerabilities, ensuring they follow API security best practices, such as enforcing proper front-end authentication.

Users of contacts APIs—developers and enterprises—are responsible for ensuring they only use contact data for its stated purpose, that they take measures to protect the contact details they access, and that they expressly request user permission before disclosing contact information to another party.

api, google api, integration, rest api

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}