Patent ID: 7881984

Claim:
A computer-implemented method of providing a service to a plurality of sites that provide interactive user access to electronic data repositories of items, the method comprising: receiving and recording event data reported by each of the sites, said event data describing item-specific events generated by users of said sites, wherein the event data for an event includes at least an item identifier of an item that is the subject of the event, an item type identifier specifying a type of the item, a user identifier of a user that generated the event, and an event type identifier specifying a type of the event, said event data reported via an event reporting Application Program Interface (API) of said service; implementing an event retrieval API that enables each site to request and retrieve the recorded event data associated with the respective site by at least user identifier, item type identifier, and event type identifier; implementing at least one recommendations API that enables each site to request and obtain item recommendations that are based on the recorded event data, said at least one recommendations API enabling the sites to limit the requests for item recommendations to particular users, item types, and event types; receiving, via the recommendations API, a request from a requesting site for item recommendations, said request specifying one or more limiting parameters, said one or more limiting parameters including at least one of: a user identifier, an event type identifier, and an item type identifier; and obtaining a recommended items list to provide to the requesting site in response to the request for item recommendations, said recommended items list determined from the recorded event data and limited based on the one or more limiting parameters; said method performed by execution of service code by a computer system that comprises one or more computers.