diff --git a/changes/ticket26947 b/changes/ticket26947
new file mode 100644
index 0000000000000000000000000000000000000000..620a3a55917da0622505fda3e8dcf89e0a163dbf
--- /dev/null
+++ b/changes/ticket26947
@@ -0,0 +1,3 @@
+  o Minor features (in-process API):
+    - The tor_api now has a function that returns the name and version
+      of the backend implementing the API. Closes ticket 26947.
diff --git a/src/feature/api/tor_api.c b/src/feature/api/tor_api.c
index 2a4458bf6938fb1917172cd7715db014c08e99d1..a53ade1f3ef69f35b53e8412a8566f7fcd442274 100644
--- a/src/feature/api/tor_api.c
+++ b/src/feature/api/tor_api.c
@@ -61,6 +61,12 @@ tor_main_configuration_free(tor_main_configuration_t *cfg)
   raw_free(cfg);
 }
 
+const char *
+tor_api_get_provider_version(void)
+{
+  return "tor " VERSION;
+}
+
 /* Main entry point for the Tor process.  Called from main().
  *
  * This function is distinct from main() only so we can link main.c into
@@ -85,4 +91,3 @@ tor_main(int argc, char *argv[])
   tor_main_configuration_free(cfg);
   return rv;
 }
-
diff --git a/src/feature/api/tor_api.h b/src/feature/api/tor_api.h
index ead9493c1f093c71bf1f2ae6a235c3de41f9d890..a08606ee3cb514de3b813181e5c2485c9cbfcb9f 100644
--- a/src/feature/api/tor_api.h
+++ b/src/feature/api/tor_api.h
@@ -57,6 +57,17 @@ int tor_main_configuration_set_command_line(tor_main_configuration_t *cfg,
  */
 void tor_main_configuration_free(tor_main_configuration_t *cfg);
 
+/**
+ * Return the name and version of the software implementing the tor_api
+ * functionality.  Current implementors are "tor" and "libtorrunner".
+ *
+ * Note that if you're using libtorrunner, you'll see the version of
+ * libtorrunner, not the version of Tor that it's invoking for you.
+ *
+ * Added in Tor 0.3.5.1-alpha.
+ **/
+const char *tor_api_get_provider_version(void);
+
 /**
  * Run the tor process, as if from the command line.
  *
@@ -98,4 +109,3 @@ int tor_run_main(const tor_main_configuration_t *);
 int tor_main(int argc, char **argv);
 
 #endif /* !defined(TOR_API_H) */
-
diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c
index dd90af3df5dbda9bda32caad6ccfbefe8f990f2a..f8805e650093c72572392a3e5450e01cc9283838 100644
--- a/src/tools/tor_runner.c
+++ b/src/tools/tor_runner.c
@@ -46,6 +46,12 @@
 static void child(const tor_main_configuration_t *cfg)
   __attribute__((noreturn));
 
+const char *
+tor_api_get_provider_version(void)
+{
+  return "libtorrunner " VERSION;
+}
+
 int
 tor_run_main(const tor_main_configuration_t *cfg)
 {
@@ -98,4 +104,3 @@ child(const tor_main_configuration_t *cfg)
     abort(); /* Unreachable */
   }
 }
-