The Skill Engine API allows you to fetch matching entities and External Companies with a wide range of different configurations. The system leverages a set of filters (constraints that are applied before matching, making a binary decision for each entity whether they should be considered) and weights (reweighting of the match scores) to let you tailor results to your wishes. You can find more information about how filters work here.

Match results can be queried in a paginated manner, allowing you to iteratively fetch all relevant results for a match query using the common limit and offset setup. Under the hood, the Skill Engine API uses a two-step process to enable paginated results: first, approximate matching is applied to create an initial ordering of results, followed by refinement of these results into the final scores. The ordering of the results, and therefore also the contents of any given page, are determined entirely by the approximate matching. This allows us to provide high volumes of matches without the delay caused by refining all possible matches for every single query. As approximate and refined scores can in some cases deviate from each other slightly, it is expected that in some cases the last result of a given page can have a lower score than the first result of the next — if this is problematic for your use case (i.e. you want the exact top 10), then we recommend using a higher limit and trimming down results, as this suffices to capture any reordering caused by refinement.

By default, a geographic distance filter is applied by default such that only entities within a 50 km range are considered. This range can be adapted by configuring the max_geo_distance filter. To retain fast response times, any matching request that has more than 10.000 entities fulfilling all filter criteria will be cut off at the 10.000 entities that are geographically closest to the search point.