The Share Group

GraphQL API Additional Information

This document augments the operational instructions.

Verifying Connectivity to API:
To verify you have initial connectivity to the API (as well as verify the service is running), you can hit the following URL using a standard HTTP GET request:

   https://api.theshare.group/graphql/ping
If successful, you will see the following response:
    {"message": "pong"}
Curl Example:
    curl https://api.theshare.group/graphql/ping -H "X-Api-Key: my_api_key"


Getting Data:
To make a request for data, use the following configuration:

Headers:

        "X-Api-Key": "your_api_key"
        "Content-Type": "application/json"
    
Http Method: POST

URL: https://api.theshare.group/graphql/query

Body:
{ 
    "query": "query LookupAddress {lookupAddress(address: \"27623 NE Bradford Rd\", zip: \"98607\") {first, last}}"
}

Data Format:
The values for most fields are self-explanatory, however, some fields (such as date fields) require a specific format. Please use the following formats:
Field Format Example
All Date Fields yyyy-mm-dd 2025-10-23
All Zip Code Radius Fields Zip_Code-Radius. Radius is in miles and must be > 0.1 92203-3.5
date_of_name_mmyyyy MMYYYY 062025

Best Practices:
Counts are Free:
Billing is based on user data returned. There is no charge to check if data is available (get a count). With this in mind, it is a good idea to first get a count of available records before retrieving the actual data.
Here is an example query to retrieve a count of all homes in zip code 92203 with a phone score of 1-5.:

    {
        "query": "query BlueprintCounts {blueprintCounts(blueprint: {name: \"dan_test\" data_source_id: 13 phones: all phone_type: wireless_priority phone_score: [\"1\", \"2\", \"3\", \"4\", \"5\"] filters: { field: \"zip\" values: \"92203\" condition: \"and\" } output_fields: \"\"}) {available}}"
    }
    

Phone Score:
Phone score is a rating from 1-6 that indicates the liklihood of the phone number being accurate. '1' is highest and '6' is the lowest. Our research has yielded the most accurate results using a score of 1-5.

Data Sources:
There are a number of data sources available with the most common being Consumer (#13) and Consumer Mortgage (#31). You can retrieve a list of all available data sources and the number of available records by making a call to the dataSources endpoint.

    {
        "query": "query dataSources {dataSources {id name size}}"
    }
    
   Example Output:
        {
            "data": {
                "dataSources": [
                {
                    "id": 13,
                    "name": "Consumer",
                    "size": 269241053
                },
                {
                    "id": 15,
                    "name": "Auto",
                    "size": 222931866
                },
                ...
                ]
            }
        }        
    
Once you know the ID of the data source you want, you can retrieve a list of all available fields for it. The follow query retrieves the Consumer data source (#13):
    {
        "query": "query dataSource {dataSource(id: 13) {id name size fields{key range values{key value} } }}"
    }