What is the best way/api to load a node by node content type and a field value?
In both D6 and D7, you can use Views. Explaning all of Views is out of scope for this answer, but you can either add two, "Filters" one on content type, and one on field value. This however will require reconfiguring the View if you want to change the score, or type. If you add the same filters as "Contextual Filters", or "Arguments", depending on your Views version, the values can be pulled from the URL. This will allow completely different listings with a single view.

Two URL examples for using contextual filters:

example.com/results/easy_assignment/50
example.com/results/hard_assignment/75


In D7 you have entities, and could in code do:

$query = new EntityFieldQuery();
$query-&gt;entityCondition('entity_type', 'node')
-&gt;entityCondition('bundle', 'assignment')
-&gt;propertyCondition('status', 1)
-&gt;fieldCondition('field_assignment_score', 'value', 65, '=');
$result = $query-&gt;execute();