diff --git a/lib/geocoder/lookups/geocodio.rb b/lib/geocoder/lookups/geocodio.rb
index <HASH>..<HASH> 100644
--- a/lib/geocoder/lookups/geocodio.rb
+++ b/lib/geocoder/lookups/geocodio.rb
@@ -9,7 +9,8 @@ module Geocoder::Lookup
     end
 
     def query_url(query)
-      "#{protocol}://api.geocod.io/v1/geocode?#{url_query_string(query)}"
+      path = query.reverse_geocode? ? "reverse" : "geocode"
+      "#{protocol}://api.geocod.io/v1/#{path}?#{url_query_string(query)}"
     end
 
     def results(query)
diff --git a/test/services_test.rb b/test/services_test.rb
index <HASH>..<HASH> 100644
--- a/test/services_test.rb
+++ b/test/services_test.rb
@@ -465,4 +465,10 @@ class ServicesTest < Test::Unit::TestCase
     results = Geocoder.search("no results")
     assert_equal 0, results.length
   end
+
+  def test_geocodio_reverse_url
+    query = Geocoder::Query.new([45.423733, -75.676333])
+    lookup = Geocoder::Lookup.get(:geocodio)
+    assert_match /reverse/, lookup.query_url(query)
+  end
 end
Add reverse geocoding for Geocod.io.

Note: though Geocod.io has advertised reverse geocoding,
it doesn't actually seem to work yet.