Of the 4 APIs we offer today, one of them stands out more than the others – Match. You may have looked at it and asked yourself "Why would I use this match thing, when the search APIs have so many more things I can search on?". Indeed most people have been in the same boat, until they realized the subtle power that match has over the search APIs. 

It's true, that on the surface, the match API appears a lot less powerful than the other search APIs. Sure, you can get results for consumers and companies in one go, but are you really sure that the search you performed found everything that you needed? Are you sure that the data you have is 100% correct? If not, then you might not be getting everything you can out of the Infoconnect API. 

This is probably a good time for an example...

Let's say you have just entered a new contact in your CRM system. Let's also say that you just met this new contact at a trade show, and you may not have gotten all their details correct, and you forgot to get their mailing address so you can send them your shiny new brochure. Luckily, your CRM system is integrated with our data via the Infoconnect API, so you can fill in all that missing data! So, through your integration, your CRM app does a POST search against our Companies API like so:

https://api.infoconnect.com/v1/companies

POST data: 

{
  "ResourceType": Basic",
  "CompanyName":"Infogorup",
  "Limit":"1",
  "Phone":"4028364500",
  "City":"Papillion",
  "StateProvince":"NE"
}

and doesn't return anything (bet you didn't see that coming)!

See, the Search API is going to find a match for all the criteria you give it. If some of that data isn't right, say the name has some letters transposed like above, you won't actually get anything back. This is where the Match API comes in! Behind the scenes, the Match API is looking in the same databases that the People and Companies API is, but it is a lot smarter and uses a combination of fuzzy search methods to identify what constitutes a match. In fact, it gives different weights to each input field used in the search, and will return a score for each record it thinks is a close-match to the input criteria. The score, called the confidence score, is basically an indication of how close match thinks your criteria corresponds to a particular record.

Explaining the exact inner-workings that give you the record that best resembles what you are looking for would not be possible. This is what sets us apart from other companies. It is a formula we have perfected over decades of looking for better ways to identify similarities between two records, and it is as much an art form as it is an algorithmic approach.

For the data organization savvy, the main difference between Search and Match can be summarized like this; Search is a set operation and returns as many records that match the provided criteria. Match on the other hand, is a "fuzzy logic" operation that aims to find "the one golden record" that is the most similar to the entity described by the input criteria. Granted match can return multiple records, but these will be scored based on how closely they resemble the record that you are looking for.

So let's try that again, this time using the match API:

https://api.infoconnect.com/v3/match

POST data:

{

  "RequestType":"Company",
  "Confidence":"70",
  
  "ResourceType":"Basic",
  "CompanyName":"Infogorup",
  "Limit":"1",
  "Phone":"4028364500",
  "City":"Papillion",
  "StateProvince":"NE"
}

Besides 2 new parameters 'RequestType' and 'Confidence' that are required by the match API the data is exactly the same. However, this time, we get a record back!

{
    
    "MatchCount": 1,
    
    "Matches": {
        "Common": [ ... ],
        "Companies": [],
        "People": []
    },
    "ScoreSummary": [
        {
            "Href": "/v1/companies/404420738",
            "ResourceType": "Basic",
            
            "RuleName": "Company-Phone",
            "Score": 100
            
        }
    ]
}	
We also get some extra data back that we wouldn't get with a normal companies search namely the ScoreSummary object in the result. The ScoreSummary object has 2 fields that will let you know why match thought the record matched. The first field is RuleName which tells you which match rule the API used that caused this record to be included, and the Score field which indicates how close it thinks it was to a perfect match.