BrightLocal automation · runs weekly
Weekly BrightLocal rank drop report for every location
A weekly Local Rank Tracker run finishes for 40 locations overnight, and on Monday someone opens report after report to find the three that slipped.
Cotlet does it in your own BrightLocal account with list_rank_tracker_reports and get_rank_tracker_report, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Can BrightLocal do this on its own?
BrightLocal's Management APIs return Local Rank Tracker report data, and the read-only MCP server answers questions about it for accounts on the Grow plan with Labs access (checked 23 Oct 2026). Neither sends you a weekly list of what dropped. Someone has to ask, read and compare.
How you do it in BrightLocal today
- The account owner opens Local SEO Tools > Rank Tracker and sees the overview of all Local Rank Tracker reports.
- For each location, they open the report and read the Average Google Position chart, which shows the change against the previous report run.
- They scroll to Keyword and Positional Movement to see how many keywords went up and down, and to the Positions table for the keywords that moved.
- They repeat this for every location and copy the findings into a client email or a sheet.
- Reports run on a weekly or monthly schedule set under General Settings, so a location on a monthly schedule only changes once a month and is easy to read as stale.
How to weekly BrightLocal rank drop report for every location
Every Monday, check all Local Rank Tracker reports for locations whose average Google position got worse since the last run, and list the keywords that dropped the most. - 01
List the reports
list_rank_tracker_reports returns every report with its location, run date and average Google position. The agent skips reports whose latest run is older than the schedule says, and names them in the result, so a stale report is not read as a flat one.
- 02
Compare to the previous run
For each report the agent calls get_rank_tracker_report, which returns the current and the previous average position and the keyword table. A location counts as slipped when its average position number went up, because a higher number is a worse position.
- 03
Tell keyword from positional movement
The agent reads Keyword Change and Positional Change separately. Keyword Change counts keywords that moved up against keywords that moved down; Positional Change adds up the places gained and lost. One keyword falling five places can hide behind a flat Keyword Change.
- 04
Rank the worst keywords
Within each slipped location the agent sorts keywords by places lost and keeps the top three, with old and new position.
- 05
Report, change nothing
Both tools only read. The agent returns one list ordered by places lost and leaves keywords and schedules alone.
What you get back
Locations with a worse average Google position than last run: 3 of 40
Harbor Dental, Austin: 5.25 to 6.5
- emergency dentist austin: 4 to 9 (lost 5 places)
- dentist austin: 2 to 3 (lost 1 place)
Skipped, last run older than schedule: 1 (Summit Ortho) Other ways to ask
- Include the Local Pack coverage drop for locations that fell out of the pack.
- Only report locations in the Texas client group.
- Send me the biggest winners too, with keywords that gained three places or more.
What BrightLocal allows, and what to know first
- Local Rank Tracker reports run weekly or monthly, on a day, time and timezone you choose under General Settings, or ad hoc.
- An ad hoc report runs once and does not update until someone runs it again.
- Average Google Position is the average position of all ranking keywords across Google organic results on desktop and mobile and Google local results.
- Keyword Change is keywords moved up minus keywords moved down; Positional Change is places gained minus places lost.
Every tool here only reads, so it can run weekly from n8n, Make, Zapier or cron without waiting for your OK.
Sources: BrightLocal Help: How do I understand a Local Rank Tracker report? · BrightLocal Help: How do I schedule a Local Rank Tracker report to run every week or month? · BrightLocal Help: Does BrightLocal provide APIs?
Call get_rank_tracker_report from a script
curl https://cotlet.dev/api/v1/brightlocal/reports/lrt_4821/rank-tracker-report \
-H "Authorization: Bearer $COTLET_API_KEY" {
"report_id": "lrt_4821",
"location": "Harbor Dental, Austin",
"run_date": "2026-10-19",
"previous_run_date": "2026-10-12",
"average_google_position": 6.5,
"previous_average_google_position": 5.25,
"keyword_change": -1,
"positional_change": -5,
"keywords": [
{
"keyword": "dentist austin",
"position": 3,
"previous_position": 2
},
{
"keyword": "emergency dentist austin",
"position": 9,
"previous_position": 4
},
{
"keyword": "teeth whitening austin",
"position": 7,
"previous_position": 8
},
{
"keyword": "dental implants near me",
"position": 7,
"previous_position": 7
}
]
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is brightlocal_read → get_rank_tracker_report. Example data.
Schedule it in n8n, Make, Zapier or cronBrightLocal tools this automation uses
| Tool | Parameters |
|---|---|
| list_rank_tracker_reports | location_id, cursor |
| get_rank_tracker_report | report_id |
Frequently asked questions
Is it safe to connect BrightLocal to Cotlet?
Yes. You sign in to BrightLocal yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get BrightLocal once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.
Give your agent access to BrightLocal.
Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with BrightLocal.