Social KYC
What is InsightIQ
InsightIQ is a data gateway to user economy platforms. Using InsightIQ, your users can grant access to their data within your app. Once granted access, you can fetch details of a user's identity, income, and activity & engagement on platforms (like Instagram, YouTube, and Substack) using our REST APIs.
Social KYC
One of the things that you can do using InsightIQ is to understand your users better via their social profiles, and allow them to share/display their profiles on your app. Since social media is at the heart of building personal connections, we think that this would be an essential part of any apps with a social element going forward.
Think of matrimonials and dating, where facilitating the interpersonal connections between the users is not only the entire goal but adding a bit of social element allows you to differentiate fake or non-serious users from the serious ones. Think of marketplaces, where verifying the socials of buyers and sellers ultimately helps build trust on the platforms. Think of hospitality, where getting to see the socials puts both the host and guests at a bit of ease towards each other.
This document guides you on how you can use the InsightIQ APIs for performing a Social KYC of your customers with a minimum number of steps. This is only a high level guide, and the details of each step lie in their respective technical documentation pages which are linked throughout.
Our product is much deeper than just profile identification and verification. It has many more options and configs you might want to play around with. You can refer to our comprehensive documentation to see what all is possible. For the complete API reference, you can refer to our API references. For further discussion and support, you can always reach out to [email protected].
Getting started
All InsightIQ APIs are authenticated using client ID and secret, and should always be called from your server and never your frontend. You can register on our dashboard to get your API credentials.
Postman
You can download our Postman Collection, which provides you with pre-formatted requests for all InsightIQ API endpoints. All you have to do is set your API credentials to get started.
Integrating with InsightIQ
InsightIQ offers a variety of data points for each of the connected accounts. We have categorised them into different data products. You can check this Airtable for our coverage map and data attributes.
Out of these products, for Social KYC purpose, we recommend using the IDENTITY product if you want to retrieve the customer's profile info, or using the IDENTITY and ENGAGEMENT products if you want to fetch their posts too along with the profile info.
The below steps consider the usage of only IDENTITY product. If you want to use more products, the steps remain the same except for:
adding those products to the SDK token generation request, and
calling different endpoints to get data for those respective products
Staging
Step 1: Create a user on the InsightIQ platform using this API to be able to map and identify your users on InsightIQ. The id returned in the response should be saved at your end and should be used to uniquely identify your users.
Step 2: Create an SDK token using this API with the above-obtained user ID and set the
productsparameter to["IDENTITY"]. This token can now be used to initialize the SDK and start the account connection process. This token is valid for precisely one week from the time of creation.Step 3: Open the Connect SDK to connect accounts. For this, you can take a look at our Connect SDK getting started doc. You would need the token and user ID obtained in the above step and a few other parameters. You can pick from a variety of options for your frontend like our web-based SDK, native mobile SDKs, and hybrid mobile SDKs.
Step 4: You will get a “success” event on your frontend, along with the
user_id, newly connectedaccount_id, and thework_platform_idto which the account got connected. You can transfer this information to your backend and call our account API and profiles API to get the info regarding the connected user using the account ID.Step 5: Set up webhooks for
ACCOUNTS,PROFILES, andSESSIONrelated events. These will be your primary source of any updates and changes in the status of account linking and data availability. You can find out more about our webhooks here, our webhook events here, and our webhook APIs here. We also have a great webhook handling guide here.Step 6: Just like you got a “success” event on your frontend, you would similarly get a webhook for
ACCOUNTS.CONNECTEDandPROFILES.ADDEDevents. You can use the info from these webhooks to fetch the data from InsightIQ using our account API and profiles API to get the info regarding the connected user using the account ID and profile ID.Step 7: You would keep getting updates via webhooks as and when there are changes to the user profile under any account or the account connection status.
Production / Staging
Once you’ve followed the above guide to integrate and test out with our staging environment, it is very easy to switch between production and staging mode.
Step 1: Switch the credentials and base URL on your backend to production.
Step 2: Set up webhooks, just like you did in step 1 of staging integration.
Step 3: Switch the environment parameter in the Connect SDK to production.
Rest everything remains the same.
Where to go from here
We recommend starting with our glossary page to familiarize yourself with the terms used across our APIs and documentation, and understanding the data relationship between the various InsightIQ entities.
After that you should check out our products page to know more about our product categorization, data points that we offer.
And then, go ahead and start integrating with the Connect SDK and the API, starting from their respective "Getting Started" pages.
Contact us
If this looks interesting to you and want to signup, please book a time with our product expert here.
Have fun integrating, and hit us up on Discord for any issues!