diff --git modules/node.activity.inc modules/node.activity.inc
index c2c16c3..66f1970 100644
--- modules/node.activity.inc
+++ modules/node.activity.inc
@@ -78,32 +78,62 @@ function node_activity_access_grants($account) {
  *  The hook that is to be fired.
  * @param string $op
  *  The op to be used in the hook.
- * @param int $max_age
- *  The max age from now.
+ * @param array $limiters
+ *  Keyed list of limiters that correspond to the following:
+ *    - max_age = a time in seconds to generate back to
+ *    - node_type = string, machine name of a node
+ *    - nids = array of node ids to limit to
  *
  * @return array
  *  An array of arrays with 'id', 'created' and 'actor' keys.
  */
-function node_list_activity_actions($hook, $op, $max_age) {
+function node_list_activity_actions($hook, $op, $limiters = array()) {
   $actions = array();
-
-  if (!empty($max_age)) {
-    $min_time = time() - $max_age;
-  }
-  else {
-    $min_time = 0;
-  }
-
-
+  $sql = '';
+  $where = '';
+  
+  // Initial sql string.
   if ($op == 'insert' ) {
-    $sql = "SELECT nid as id, created as created, uid as actor FROM {node} WHERE created > %d";
+    $sql = "SELECT n.nid as id, n.created as created, n.uid as actor FROM {node} n";
   }
   elseif ($op == 'view') {
-    $sql = "SELECT nid as id, timestamp as created, uid as actor FROM {history} WHERE timestamp > %d";
+    $sql = "SELECT h.nid as id, h.timestamp as created, h.uid as actor FROM {history} h";
+  }
+  
+  // max_age limiter
+  if (!empty($limiters['max_age'])) {
+    $min_time = time() - $limiters['max_age'];
+    if ($op == 'insert' ) {
+      $where .= " n.created > %d";
+    }
+    elseif ($op == 'view') {
+      $where .= " h.timestamp > %d";
+    }
+    $args[] = $limiters['max_age'];
+  }
+  
+  // node_type limiter
+  if (!empty($limiters['node_type'])) {
+    if ($op == 'view') {
+      $join = " INNER JOIN {node} n ON n.nid = h.nid";
+    }
+    $where .= " n.type = %d";
+    $args[] = $limiters['node_type'];
+  }
+  
+  // nids limiter
+  if (!empty($limiters['nids'])) {
+    $where .= " n.nid in (". implode(',', $nids) .")";
+  }
+  
+  // Construct sql statement.
+  if ($join) {
+    $sql .= $join;
   }
+  $sql .= $where;
 
   if (isset($sql)) {
-    $result = db_query($sql, $min_time);
+    $result = db_query($sql, $args);
     while ($row = db_fetch_array($result)) {
       $actions[] = $row;
     }
