1. An apparatus for generating a playlist, comprising: a processor coupled to a memory and a catalog database, and configured to function as: an application programming interface (API) configured to communicate with a requestor interface and receive a request from the requestor interface to generate a playlist, the request including a set of rule-primitives; and a playlist engine evaluator configured to: evaluate a rule corresponding to each rule-primitive in the set of rule-primitives across a catalog of media content stored in the catalog database, and evaluate a set of corresponding weights respectively associated with one or more rule-primitives; calculate a rule cost associated with each item in the catalog of media content and the weight associated with the corresponding rule-primitive; and generate a playlist based on the items of the catalog having the lowest rule costs, wherein the API communicates a response including the playlist to the requestor interface.