SDKs overview

Full Contact offers a suite of Software Development Kits (SDKs) and libraries designed to streamline the integration of its identity resolution and data enrichment APIs into various applications. These SDKs provide language-specific interfaces, abstracting the underlying HTTP requests and JSON parsing, which allows developers to focus on application logic rather than low-level API communication. The availability of both official and community-contributed libraries supports a broad range of programming environments and developer preferences. Full Contact's API enables access to person, company, and audience insights data, facilitating use cases such as customer data unification, personalization, fraud detection, and marketing segmentation Full Contact API documentation. Authentication for these APIs typically involves an API key, which must be securely managed and transmitted with each request.

SDKs are particularly beneficial for reducing development time and ensuring adherence to API best practices, including error handling, request throttling, and data formatting. By encapsulating common API interactions, these libraries help maintain consistency and reliability in applications that depend on Full Contact's data services. Developers can find comprehensive guides and examples within the official documentation to assist with integration and deployment.

Official SDKs by language

Full Contact provides official SDKs for several popular programming languages, ensuring robust and supported integrations. These SDKs are maintained by Full Contact and are generally kept up-to-date with the latest API versions and features. Each SDK is designed to offer an idiomatic interface for its respective language, making it easier for developers to work within their preferred ecosystem.

Language Package Name Installation Command Maturity
Java fullcontact-java Maven: <dependency><groupId>com.fullcontact</groupId><artifactId>fullcontact-java</artifactId><version>[latest]</version></dependency> Stable
Python fullcontact-python pip install fullcontact Stable
Ruby fullcontact-ruby gem install fullcontact Stable
PHP fullcontact-php Composer: "fullcontact/fullcontact-php": "^x.x" Stable
Node.js fullcontact-node npm install fullcontact-node Stable
Go fullcontact-go go get github.com/fullcontact/fullcontact-go Stable

Installation

Installing Full Contact SDKs typically follows the standard package management practices for each programming language. Before installation, developers should ensure they have the correct runtime environment and package manager configured. For example, Python developers will use pip, while Node.js developers will use npm. Detailed installation instructions and prerequisites are available in the Full Contact API Reference.

Java

For Java projects, you typically add the Full Contact SDK as a dependency in your pom.xml (Maven) or build.gradle (Gradle) file.

<dependency>
    <groupId>com.fullcontact</groupId>
    <artifactId>fullcontact-java</artifactId>
    <version>[latest_version]</version>
</dependency>

Python

Install the Python SDK using pip:

pip install fullcontact

Ruby

Add the Full Contact gem to your Gemfile and run bundle install, or install directly:

gem install fullcontact

PHP

Use Composer to add the Full Contact PHP library to your project:

composer require fullcontact/fullcontact-php

Node.js

Install the Node.js SDK using npm:

npm install fullcontact-node

Go

Retrieve the Go SDK using the go get command:

go get github.com/fullcontact/fullcontact-go

Quickstart example

This Python example demonstrates how to use the Full Contact SDK to enrich person data by email address. Ensure you have your Full Contact API key ready for authentication.

import fullcontact

# Replace 'YOUR_API_KEY' with your actual Full Contact API Key
fullcontact.api_key = 'YOUR_API_KEY'

def get_person_data(email):
    try:
        response = fullcontact.person(email=email)
        if response.status_code == 200:
            data = response.json()
            print(f"Data for {email}:")
            print(f"  Full Name: {data.get('fullName')}")
            print(f"  Job Title: {data.get('demographics', {}).get('jobTitle')}")
            print(f"  Organization: {data.get('demographics', {}).get('organization')}")
            print(f"  Social Profiles: {', '.join([p['type'] for p in data.get('socialProfiles', [])])}")
        elif response.status_code == 202:
            print(f"Data for {email} is being processed. Please try again later.")
        else:
            print(f"Error retrieving data for {email}: {response.status_code} - {response.text}")
    except Exception as e:
        print(f"An error occurred: {e}")

# Example usage
if __name__ == "__main__":
    target_email = "[email protected]"
    get_person_data(target_email)

This snippet initializes the SDK with an API key and then calls the person endpoint with an email address. The response is then parsed to extract and print basic person information. Developers can adapt this pattern to integrate other Full Contact API endpoints, such as company enrichment or audience insights, by consulting the Full Contact developer documentation for specific method calls and parameters.

For production environments, it is recommended to store API keys securely, for instance, using environment variables, rather than hardcoding them directly into the application source code. This practice aligns with general security principles for API consumption, as outlined by resources such as the Mozilla Developer Network's guide on HTTP authentication.

Community libraries

Beyond the officially supported SDKs, the developer community has contributed various libraries and wrappers for Full Contact APIs in different programming languages. These community-driven projects can offer alternatives for languages not covered by official SDKs or provide different architectural approaches. While not officially supported or maintained by Full Contact, they can be valuable resources for specific use cases or preferences.

When considering a community library, it is important to evaluate its maintenance status, community activity, and compatibility with the latest Full Contact API versions. Developers should review the project's documentation, GitHub repository, and issue tracker to assess its reliability and suitability for their applications. Examples of common considerations include:

  • Language Support: Libraries for less common languages or frameworks.
  • Specific Features: Implementations focusing on particular API endpoints or advanced functionalities.
  • Integration Patterns: Wrappers designed for specific web frameworks or architectural styles.

Developers are encouraged to check platforms like GitHub, language-specific package repositories (e.g., PyPI for Python, RubyGems for Ruby), and community forums for up-to-date information on available community libraries. Always refer back to the official Full Contact API reference for the most accurate and current information regarding API endpoints, request formats, and response structures, as community libraries may not always reflect the very latest changes.