diff --git a/honeypot.api.php b/honeypot.api.php
new file mode 100644
index 0000000..2b6f2e7
--- /dev/null
+++ b/honeypot.api.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * @file
+ *
+ * API Functionality for Honeypot module.
+ */
+
+/**
+ * @addtogroup hooks
+ * @{
+ */
+
+/**
+ * Add time to the Honeypot time limit.
+ *
+ * In certain circumstances (for example, on forms routinely targeted by
+ * spammers), you may want to add an additional time delay. You can use this
+ * hook to return additional time (in seconds) to honeypot when it is calculates
+ * the time limit for a particular form.
+ *
+ * @param $honeypot_time_limit
+ *   The current honeypot time limit (in seconds), to which any additions you
+ *   return will be added.
+ * @param $form_values
+ *   Array of form values (may be empty).
+ * @param $number
+ *   Number of times the current user has already fallen into the honeypot trap.
+ *
+ * @return $additions
+ *   Additional time to add to the honeypot_time_limit, in seconds (integer).
+ */
+function hook_honeypot_time_limit($honeypot_time_limit, $form_values, $number) {
+  // If 'some_interesting_value' is set in your form, add 10 seconds to limit.
+  if (!empty($form_values['some_interesting_value']) && $form_values['some_interesting_value']) {
+    $additions = 10;
+  }
+  return $additions;
+}
+
+/**
+ * @} End of "addtogroup hooks".
+ */
diff --git a/honeypot.module b/honeypot.module
index 197dad6..088377f 100644
--- a/honeypot.module
+++ b/honeypot.module
@@ -202,7 +202,7 @@ function _honeypot_time_restriction_validate($form, &$form_state) {
   $honeypot_time = $form_state['values']['honeypot_time'];
 
   // Get the honeypot_time_limit.
-  $time_limit = honeypot_get_time_limit();
+  $time_limit = honeypot_get_time_limit($form_state['values']);
 
   // Make sure current time - (time_limit + form time value) is greater than 0.
   // If not, throw an error.
@@ -238,8 +238,11 @@ function _honeypot_log($form_id, $type) {
 
 /**
  * Look up the time limit for the current user.
+ *
+ * @param $form_values
+ *   Array of form values (optional).
  */
-function honeypot_get_time_limit() {
+function honeypot_get_time_limit($form_values = array()) {
   global $user;
   $honeypot_time_limit = variable_get('honeypot_time_limit', 5);
 
@@ -258,6 +261,10 @@ function honeypot_get_time_limit() {
       ))->fetchField();
     }
     $honeypot_time_limit = $honeypot_time_limit + (int) exp($number);
+    $additions = module_invoke_all('honeypot_time_limit', $honeypot_time_limit, $form_values, $number);
+    if (count($additions)) {
+      $honeypot_time_limit += array_sum($additions);
+    }
   }
   return $honeypot_time_limit;
 }
