My requirement is to build a visualforce page with a controller, where i can show the user the records that are matched by a duplicate rule, for this i would like to know if it is possible to invoke a method of the duplicate rule itself to return the records without forcing an insert/update on the record that i want to find duplicates of. I can not find any method like this, so i was thinking about using the MatchingRuleItem, and build a query based on those fields. Is this the correct way? Thanks in advance.
Salesforce Duplicate Management works based on create or edit operation.
You could get DuplicateRule which helps for detecting duplicate records for an SObjectType.
And you could get DuplicateResult
Represents the details of a duplicate rule that detected duplicate records and information about those duplicate records.
But, salesforce didn't expose any kind of API which you are searching for your use case.