Filter pages by position
Search Console cannot filter by average position. BasecampSEO can, which is how you find the pages sitting just below the top of the results.
Why Search Console cannot do this
Search Console filters by query, page, country and device, but not by position. Position is an average over the rows Google returns, not something its API can filter on, so the option simply is not there.
BasecampSEO works around it. When you set a position filter it fetches the pages for your date range, keeps the ones whose average position falls inside your band, ranks them by clicks, and reapplies them as a page filter. The whole dashboard then reflects only those pages, including the KPI cards, the trend over time, and the queries sending them traffic.
Using the filter
Open any property, then:
- Click Filters.
- Choose Position.
- Set a range, for example 3 to 15.
- Combine it with other filters if you want, such as device or country.
The filter lives in the URL, so you can bookmark a band you check often or share it with someone on your team.
Ranges worth trying
| Range | What you get |
|---|---|
| 1 to 3 | Your top spots, where you already take most of the clicks |
| 4 to 10 | The rest of page one, usually the fastest wins |
| 11 to 20 | Page two, normally the best pages to improve next |
| 20 to 50 | Pages with impressions but almost no clicks yet |
The 11 to 20 band is where most people start. Those pages already rank and already collect impressions, so they usually need a title rewrite or an internal link rather than a new article. Pair the filter with the movers endpoint and you can watch a page climb out of the band week by week.
Doing the same over the API
The REST API has no position filter, because the workaround above happens in the dashboard rather than on the server. To reproduce it, pull the pages and filter the rows yourself. Every row carries a position field.
curl -G "https://api.basecampseo.com/v1/properties/example.com/pages" \
-H "Authorization: Bearer bcs_live_YOUR_KEY" \
--data-urlencode 'date_range=last_28d' \
--data-urlencode 'limit=1000'Keep the rows between 11 and 20, then query again with a page filter built from them if you want queries or a trend for just that set. The API reference covers filters in full.