diff --git a/libfprint/core.c b/libfprint/core.c
index b65cfb6..56e3638 100644
--- a/libfprint/core.c
+++ b/libfprint/core.c
@@ -402,6 +402,8 @@ API_EXPORTED int fp_dscv_dev_supports_print_data(struct fp_dscv_dev *dev,
  * compatible with a discovered device.
  *
  * Returns: 1 if the print is compatible with the device, 0 otherwise
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
 	struct fp_dscv_print *print)
@@ -420,6 +422,8 @@ API_EXPORTED int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
  *
  * Returns: the first discovered device that appears to support the print, or
  * %NULL if no apparently compatible devices could be found
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED struct fp_dscv_dev *fp_dscv_dev_for_print_data(struct fp_dscv_dev **devs,
 	struct fp_print_data *print)
@@ -443,6 +447,8 @@ API_EXPORTED struct fp_dscv_dev *fp_dscv_dev_for_print_data(struct fp_dscv_dev *
  *
  * Returns: the first discovered device that appears to support the print, or
  * %NULL if no apparently compatible devices could be found
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED struct fp_dscv_dev *fp_dscv_dev_for_dscv_print(struct fp_dscv_dev **devs,
 	struct fp_dscv_print *print)
@@ -522,6 +528,8 @@ API_EXPORTED int fp_dev_supports_print_data(struct fp_dev *dev,
  * with a certain device.
  *
  * Returns: 1 if the print is compatible with the device, 0 if not
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED int fp_dev_supports_dscv_print(struct fp_dev *dev,
 	struct fp_dscv_print *print)
diff --git a/libfprint/data.c b/libfprint/data.c
index 2fef569..62a5fea 100644
--- a/libfprint/data.c
+++ b/libfprint/data.c
@@ -506,6 +506,8 @@ API_EXPORTED int fp_print_data_delete(struct fp_dev *dev,
  * negative) are possible for obscure error conditions (e.g. corruption).
  *
  * Returns: 0 on success, non-zero on error.
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED int fp_print_data_from_dscv_print(struct fp_dscv_print *print,
 	struct fp_print_data **data)
@@ -557,7 +559,7 @@ API_EXPORTED uint32_t fp_print_data_get_devtype(struct fp_print_data *data)
 
 /**
  * SECTION:dscv_print
- * @title: Print discovery
+ * @title: Print discovery (deprecated)
  *
  * The [stored print](libfprint-Stored-prints.html) documentation detailed a simple API
  * for storing per-device prints for a single user, namely
@@ -588,6 +590,10 @@ API_EXPORTED uint32_t fp_print_data_get_devtype(struct fp_print_data *data)
  * circumstances it may turn out that the print is corrupt or not for the
  * device that it appeared to be. Also, it is possible that the print may have
  * been deleted by the time you come to load it.
+ *
+ * Note that this portion of the library is deprecated. All that it offers is
+ * already implementable using publicly available functions, and its usage is
+ * unnecessarily restrictive in terms of how it stores data.
  */
 
 static GSList *scan_dev_store_dir(char *devpath, uint16_t driver_id,
@@ -679,6 +685,8 @@ static GSList *scan_driver_store_dir(char *drvpath, uint16_t driver_id,
  *
  * Returns: a %NULL-terminated list of discovered prints, must be freed with
  * fp_dscv_prints_free() after use.
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED struct fp_dscv_print **fp_discover_prints(void)
 {
@@ -743,6 +751,8 @@ API_EXPORTED struct fp_dscv_print **fp_discover_prints(void)
  * Frees a list of discovered prints. This function also frees the discovered
  * prints themselves, so make sure you do not use any discovered prints
  * after calling this function.
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED void fp_dscv_prints_free(struct fp_dscv_print **prints)
 {
@@ -769,6 +779,8 @@ API_EXPORTED void fp_dscv_prints_free(struct fp_dscv_print **prints)
  * usable with a device controlled by that driver.
  *
  * Returns: the driver ID of the driver compatible with the print
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print)
 {
@@ -784,6 +796,8 @@ API_EXPORTED uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print)
  * with the print.
  *
  * Returns: the devtype of the device range compatible with the print
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print)
 {
@@ -797,6 +811,8 @@ API_EXPORTED uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print)
  * Gets the finger code for a discovered print.
  *
  * Returns: a finger code from #fp_finger
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print)
 {
@@ -813,6 +829,8 @@ API_EXPORTED enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print
  * fail for obvious reasons.
  *
  * Returns: 0 on success, negative on error
+ *
+ * Deprecated: Do not use.
  */
 API_EXPORTED int fp_dscv_print_delete(struct fp_dscv_print *print)
 {
diff --git a/libfprint/fprint.h b/libfprint/fprint.h
index d5bb3e5..c927690 100644
--- a/libfprint/fprint.h
+++ b/libfprint/fprint.h
@@ -138,19 +138,19 @@ uint32_t fp_dscv_dev_get_devtype(struct fp_dscv_dev *dev);
 int fp_dscv_dev_supports_print_data(struct fp_dscv_dev *dev,
 	struct fp_print_data *print);
 int fp_dscv_dev_supports_dscv_print(struct fp_dscv_dev *dev,
-	struct fp_dscv_print *print);
+	struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
 struct fp_dscv_dev *fp_dscv_dev_for_print_data(struct fp_dscv_dev **devs,
-	struct fp_print_data *print);
+	struct fp_print_data *print) LIBFPRINT_DEPRECATED;
 struct fp_dscv_dev *fp_dscv_dev_for_dscv_print(struct fp_dscv_dev **devs,
-	struct fp_dscv_print *print);
+	struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
 
 /* Print discovery */
-struct fp_dscv_print **fp_discover_prints(void);
-void fp_dscv_prints_free(struct fp_dscv_print **prints);
-uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print);
-uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print);
-enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print);
-int fp_dscv_print_delete(struct fp_dscv_print *print);
+struct fp_dscv_print **fp_discover_prints(void) LIBFPRINT_DEPRECATED;
+void fp_dscv_prints_free(struct fp_dscv_print **prints) LIBFPRINT_DEPRECATED;
+uint16_t fp_dscv_print_get_driver_id(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
+uint32_t fp_dscv_print_get_devtype(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
+enum fp_finger fp_dscv_print_get_finger(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
+int fp_dscv_print_delete(struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
 
 /* Device handling */
 struct fp_dev *fp_dev_open(struct fp_dscv_dev *ddev);
@@ -159,7 +159,7 @@ struct fp_driver *fp_dev_get_driver(struct fp_dev *dev);
 int fp_dev_get_nr_enroll_stages(struct fp_dev *dev);
 uint32_t fp_dev_get_devtype(struct fp_dev *dev);
 int fp_dev_supports_print_data(struct fp_dev *dev, struct fp_print_data *data);
-int fp_dev_supports_dscv_print(struct fp_dev *dev, struct fp_dscv_print *print);
+int fp_dev_supports_dscv_print(struct fp_dev *dev, struct fp_dscv_print *print) LIBFPRINT_DEPRECATED;
 
 /**
  * fp_capture_result:
@@ -268,7 +268,7 @@ int fp_identify_finger(struct fp_dev *dev,
 int fp_print_data_load(struct fp_dev *dev, enum fp_finger finger,
 	struct fp_print_data **data);
 int fp_print_data_from_dscv_print(struct fp_dscv_print *print,
-	struct fp_print_data **data);
+	struct fp_print_data **data) LIBFPRINT_DEPRECATED;
 int fp_print_data_save(struct fp_print_data *data, enum fp_finger finger);
 int fp_print_data_delete(struct fp_dev *dev, enum fp_finger finger);
 void fp_print_data_free(struct fp_print_data *data);