diff --git a/doc/v3-migration-guide.md b/doc/v3-migration-guide.md
index 9cfa5c05c00fb..9421abcddc5fc 100644
--- a/doc/v3-migration-guide.md
+++ b/doc/v3-migration-guide.md
@@ -104,6 +104,23 @@ for (auto& row : table.ReadRows(
+
+Removed bigtable::AsyncRowReader<>::NO_ROWS_LIMIT
+
+
+AsyncRowReader::NO_ROWS_LIMIT has been removed. Please use
+`google::cloud::bigtable::RowReader::NO_ROWS_LIMIT` instead.
+
+```cpp
+// Before
+auto limit = google::cloud::bigtable::AsyncRowReader<>::NO_ROWS_LIMIT;
+
+// After
+auto limit = google::cloud::bigtable::RowReader::NO_ROWS_LIMIT;
+```
+
+
+
### Pubsub
### Spanner
diff --git a/google/cloud/bigtable/CMakeLists.txt b/google/cloud/bigtable/CMakeLists.txt
index 7b751b0ba1bb5..d294576aed5f9 100644
--- a/google/cloud/bigtable/CMakeLists.txt
+++ b/google/cloud/bigtable/CMakeLists.txt
@@ -108,7 +108,6 @@ add_library(
admin_client.h
app_profile_config.cc
app_profile_config.h
- async_row_reader.h
bound_query.cc
bound_query.h
bytes.cc
diff --git a/google/cloud/bigtable/async_row_reader.h b/google/cloud/bigtable/async_row_reader.h
deleted file mode 100644
index e899ad3c29439..0000000000000
--- a/google/cloud/bigtable/async_row_reader.h
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2019 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ASYNC_ROW_READER_H
-#define GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ASYNC_ROW_READER_H
-
-#include "google/cloud/bigtable/version.h"
-#include
-
-namespace google {
-namespace cloud {
-namespace bigtable {
-GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN
-
-/**
- * @deprecated Please use `bigtable::RowReader::NO_ROWS_LIMIT` instead.
- */
-template
-class AsyncRowReader {
- public:
- /// Special value to be used as rows_limit indicating no limit.
- GOOGLE_CLOUD_CPP_DEPRECATED(
- "`AsyncRowReader<>::NO_ROWS_LIMIT` is deprecated. It is scheduled for "
- "deletion on 2023-05-01. Please use `RowReader::NO_ROWS_LIMIT` instead.")
- // NOLINTNEXTLINE(readability-identifier-naming)
- static std::int64_t constexpr NO_ROWS_LIMIT = 0;
-};
-
-GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_END
-} // namespace bigtable
-} // namespace cloud
-} // namespace google
-
-#endif // GOOGLE_CLOUD_CPP_GOOGLE_CLOUD_BIGTABLE_ASYNC_ROW_READER_H
diff --git a/google/cloud/bigtable/google_cloud_cpp_bigtable.bzl b/google/cloud/bigtable/google_cloud_cpp_bigtable.bzl
index c5d4f47beff0b..59b2c36e1e004 100644
--- a/google/cloud/bigtable/google_cloud_cpp_bigtable.bzl
+++ b/google/cloud/bigtable/google_cloud_cpp_bigtable.bzl
@@ -47,7 +47,6 @@ google_cloud_cpp_bigtable_hdrs = [
"admin/internal/bigtable_table_admin_tracing_stub.h",
"admin_client.h",
"app_profile_config.h",
- "async_row_reader.h",
"bound_query.h",
"bytes.h",
"cell.h",