Adjust callers to match.
diff --git a/openstack/identity/v3/endpoints/requests.go b/openstack/identity/v3/endpoints/requests.go
index 7fc4544..bf60406 100644
--- a/openstack/identity/v3/endpoints/requests.go
+++ b/openstack/identity/v3/endpoints/requests.go
@@ -109,8 +109,16 @@
 		q["per_page"] = strconv.Itoa(opts.Page)
 	}
 
+	countPage := func(p gophercloud.Page) (int, error) {
+		es, err := ExtractEndpoints(p)
+		if err != nil {
+			return 0, err
+		}
+		return len(es), nil
+	}
+
 	u := getListURL(client) + utils.BuildQuery(q)
-	return gophercloud.NewLinkedPager(client, u)
+	return gophercloud.NewLinkedPager(client, u, countPage)
 }
 
 // Update changes an existing endpoint with new data.