This is a submission for the AI Agents Challenge powered by n8n and Bright Data
Checking where your site ranks for a keyword shouldn't feel like torture.
Yet every SEO still burns hours hopping between Google, Bing, Yahoo, DuckDuckGo, copy-pasting, scrolling, and guessing.
It's slow. It's messy. And it's killing momentum.
That's why I built RankSniper: a Telegram bot that does the grunt work in seconds and gives you clean, instant rankings across all major search engines.
What I Built
For this challenge, I built RankSniper, a Telegram bot designed to track keyword rankings across multiple search engines: Google, Bing, Yahoo, and DuckDuckGo.
The problem it solves is simple but crucial for digital marketers, SEO specialists, and webmasters: manually checking keyword positions for domains is tedious, inconsistent, and time-consuming.
RankSniper automates this process, allowing users to instantly find where their domain ranks for any keyword, either across all supported search engines or on a specific one.
With RankSniper, you no longer have to switch tabs, copy-paste keywords, or deal with browser restrictions.
The bot accepts natural language queries like "Check example.com for best shoes" or "How does vercel.com rank for vercel?"
This is powered by n8n's AI Agent node connected with Gemini 2.5 Flash, which parses free-form text into structured domain/keyword/engine instructions for the rest of the workflow.
Demo
You can interact with the bot on Telegram using this link.
Once started, you can run natural language commands like "Check example.com for best shoes" or "How does vercel.com rank for vercel?".
Some screenshots:
![]() |
![]() |
---|
n8n Workflow
The full n8n workflow JSON is here for anyone interested in inspecting or reusing the setup.
Technical Implementation
RankSniper is built entirely within n8n, using a combination of code nodes, the AI Agent node, Bright Data's Verified Node, Airtable logging nodes and Telegram nodes for the full process.
Here's the breakdown of the configuration:
- System Instructions: The bot operates as a query processor for domain-keyword pairs. It receives input from Telegram, interprets user queries via the AI Agent, and constructs the search engine URLs.
- Model Choice: The system combines AI-driven natural language parsing (Gemini) with rule-based ranking extraction. The AI handles messy human input.
Memory: Each query is stateless, processed in real time. We do not persist data beyond the current request, but the structure can be extended to store historical rankings in a database for trend analysis.
-
Tools Used:
- n8n: Orchestrates the workflow, triggers on Telegram commands, and splits batch requests.
- AI Agent Node:
- Bright Data Verified Node: Handles the extraction of raw HTML from search engines, bypassing potential anti-bot restrictions and ensuring consistent data retrieval.
- Telegram Nodes: Sends start messages, help messages, and structured rank results back to the user.
- Airtable: Stores every query result (domain, keyword, rank, search engine, timestamp) to build a historical record of rankings.
Bright Data Verified Node
Bright Data's Verified Node is crucial in this workflow because direct scraping of search engines is often blocked or rate-limited.
The node allows RankSniper to:
- Fetch search engine results reliably for Google, Bing, Yahoo, and DuckDuckGo.
- Handle dynamic pages that require JavaScript rendering, especially DuckDuckGo and Yahoo.
- Maintain speed and accuracy across multiple concurrent requests.
Without Bright Data, the bot would struggle to provide accurate rankings and would be prone to IP bans, resulting in unreliable output.
Airtable Logging
Airtable acts as the memory layer for RankSniper.
Each time a query is run, the results are written into an Airtable base with fields for domain, keyword, rank, engine, and timestamp.
This unlocks two things:
- History tracking: users (or me) can analyse how rankings evolve over days/weeks instead of just checking one-off results.
- Visual dashboards: Airtable views and charts allow quick trend analysis and competitor comparisons.
In the future, this foundation will also enable the triggering of alerts when a rank changes significantly.
I also kept the base public for inspection, check it out here.
Journey + Thoughts
Building RankSniper was an eye-opening journey in automation, search engine quirks, and parsing HTML structures reliably.
I started with Google only, but I quickly realised the potential of supporting multiple search engines to make the bot genuinely useful.
Initially, the bot required specific command formats. Adding the AI Agent transformed it into a natural language assistant.
And also, in V1, RankSniper only returned the current rank in Telegram. That was useful, but short-lived; the data vanished after every check.
By adding Airtable logging, I turned RankSniper from a "momentary rank checker" into a real tracking tool.
Now I (or any user) can look back at trends, visualise rank movements, and even set up alerts for major jumps or drops.
That felt like the missing piece.
The Quirks of Each Engine
Each engine posed unique challenges:
-
Google: Required filtering out internal Google links (
webcache
,/search?
) and using regex to identify actual result URLs. -
Bing: Needed extraction specifically from
<cite>
tags to avoid ads and irrelevant URLs. - Yahoo: Was tricky because result URLs are wrapped in multiple layers; fallback parsing with spans and regex was necessary.
- DuckDuckGo: Needed careful handling of lightweight pages and ignoring redirect links.
The biggest challenge was standardising the extraction process while respecting each engine's quirks and ensuring accurate ranking calculations.
I implemented deduplication and normalisation to make sure results were consistent, regardless of variations in URL formatting or capitalisation.
Another key part was designing the Telegram interface.
Designing the Telegram Experience (Updated)
With the AI Agent integrated, RankSniper now understands plain-language queries from users, no rigid command formats required.
Users can type naturally, like:
- "Check example.com for the best running shoes"
- "How does vercel.com rank for vercel?"
The bot interprets the domain, keyword, and optional search engine automatically, so there's no need to remember specific commands or input orders.
This makes the experience intuitive, quick, and accessible even for users unfamiliar with technical SEO tools.
The AI Agent handles parsing, while the backend rule-based nodes extract ranking data reliably across all supported search engines.
Users get clean, instant results without worrying about syntax, formatting, or engine-specific quirks.
What I Took Away
Ultimately, this project solidified my understanding of search engine behaviours, n8n automation, and real-time query handling.
RankSniper demonstrates that with a carefully constructed workflow and the right tools, even complex multi-engine ranking checks can be automated efficiently for anyone in the SEO or digital marketing space.
🚀 Ready to stop wasting time on manual rank checks?
👉 Start using RankSniper on Telegram right now.
Drop a comment if there's a search engine you'd like to see added.
I'm building this to grow with the community.
Thanks for reading!
Top comments (12)
Will try to use it. Looks useful to me!
Thanks, RS! Hope it helps you out. Let me know how it goes!
sure!
Integrating AI parsing into RankSniper was no walk in the park, mainly because natural language can be all over the place. But we got it sorted by fine-tuning prompts and layering in some regex magic to cover those tricky edge cases. To smooth out ranking differences across search engines, we built a custom scoring algorithm that adjusts for layout quirks and localization. n8n’s AI Agent and Function nodes were total game-changers, letting us handle dynamic data and natural queries in a super clean, modular way. Right now, RankSniper nails about 92% accuracy when it comes to converting everyday input into structured keyword and domain data. And we're not stopping there-next up is voice input, SERP volatility tracking, and AI-powered SEO insights to crank up the power even more.
Interesting project !
Thank you so much!
great work!
Appreciate it, bro! Glad you liked it.
Hey, this is good but where have you used the AI agent node in the workflow? The hackathon prompt says Bright data verified node with AI agent node.
Hey! Thanks for the feedback.
Quick question, where exactly is the AI agent node integrated in the workflow?
The hackathon prompt mentions using a Bright Data verified node with an AI agent node, so I just wanted to confirm:
Is it mandatory for the AI agent to be directly attached to the Bright Data verified node, or can they operate as separate nodes within the same flow?
Just want to make sure I'm aligned with the requirements before finalising the structure.
Nice job!
Thanks, man!