Recipe · Google rank tracker

Build a Google rank tracker by asking for one.

Paste the prompt into Claude, Cursor, Replit, Lovable or Bolt with UnblockingAPI connected. Your agent reads the build guide, then writes the app; UnblockingAPI fetches the pages it needs.

prompt
Create a Google rank tracker using UnblockingAPI. I add keywords and my domain, it checks rankings daily from the US and shows each keyword's current position, the change since yesterday and its history. Read UnblockingAPI's build guide first (the get_build_guide tool, or https://github.com/unblockingapi/mcp/tree/main/guides) and call its REST API directly from the backend with plain fetch, my API key stored as a secret.

What your agent builds

  • Projects with a domain, a country and a list of keywords
  • A daily job that fetches Google's results for every keyword through UnblockingAPI's google-search template
  • The position of your domain per keyword per day, stored as history
  • A dashboard with current positions, movement and a chart per keyword

What it costs to run

1 credit per keyword per check: 100 keywords checked daily is about 3,000 credits a month.

Failed fetches are free. New accounts get 500 free credits; plans make credits cheaper at volume.

The API call at its heart

Plain fetch from the backend, no SDK. Your agent writes this for you - it's here so you know what your app does.

const q = new URLSearchParams({ q: keyword, hl: "en", gl: "us" });
const res = await fetch("https://api.unblockingapi.com/unblock", {
  method: "POST",
  headers: { "X-Api-Key": process.env.UNBLOCKINGAPI_KEY, "Content-Type": "application/json" },
  body: JSON.stringify({
    url: `https://www.google.com/search?${q}`,
    template: "kjellberg/google-search",   // JSON instead of HTML
    location: "us",
  }),
});
const { response } = await res.json();
// response.results: [{ position, title, description, url }, …]
const hit = response.results.find((r) => new URL(r.url).hostname.endsWith(domain));

The full recipe your agent reads - data model, scheduling, retries, UI - is on GitHub, and served to connected agents by get_build_guide.

Where it runs

Lovable
A Supabase Edge Function does the fetching on a schedule, with the key in Supabase secrets.
Replit
The backend reads the key from Replit Secrets; a Scheduled Deployment runs the checks.
Bolt, Next.js, Vercel
A route handler or server action, the key in environment variables, Vercel Cron for the schedule.
Claude Code, Cursor
Any stack you choose; ask for a cron job or a worker for the scheduled part.

Build your google rank tracker today.

500 free credits, no credit card. Connect in under a minute.