Track your DuckDuckGo rankings with a pay-per-use scraper API: organic positions as JSON, scheduled daily checks, and MCP access from Claude.
I kept getting different answers every time I checked where my site ranked. Search on my laptop, search on my phone, ask a colleague in another city, and the position moved. Personalized search does that. So I started checking on DuckDuckGo, which does not build a profile or tailor results, and finally had a number I could trust.
To check where your site ranks on DuckDuckGo, run your target query through a DuckDuckGo scraper API and read the position field on the organic result that matches your domain. Because DuckDuckGo does not personalize, that position is the one your audience sees too.
[[I

MG1]]
Each run gives you one JSON item per page of results. For rank checking, the organic block is what matters:
Position, title, link, and snippet for every organic result
Ads and knowledge graph entries when DuckDuckGo shows them
News, inline images and videos, and related searches
Set your query and pick a region from 40+ options (for example us-en or uk-en).
Run the Actor and read the organic results array.
Find the entry whose link is your domain and note its position.
The Actor runs from the Apify API. Send the query as JSON and read the dataset when the run finishes:
POST /v2/acts/johnvc~DuckDuckGo-Scraper-for-serp-rankings/runs
{
"query": "best crm for startups",
"localization": "us-en",
"max_pages": 2
}Pricing is pay-per-event: $0.001 per run plus $0.002 per page, so a daily check on a handful of keywords costs pennies a month.
[[I

MG2]]
The Actor is available through the Apify MCP server, so Claude or any MCP client can call it as a tool. Ask "check where example.com ranks on DuckDuckGo for best crm for startups in us-en" and the agent runs the scraper and reads back the position, no code required.
Save your queries as tasks, attach a daily schedule, and you have a rank tracker that builds history over time. Beyond rank checking, people use it to watch competitor positions, monitor news, and feed an agent live search. Browse the runnable recipes on the examples page or open the DuckDuckGo Search API project.
A couple of ready-made starting points:
DuckDuckGo does not personalize results, so the scraper reads the same ranking for a given region that a real visitor would see. You get the raw organic order with a position number on each result.
Yes. Send a query to the Actor over the Apify REST API and read the organic results from the dataset as JSON or CSV. Each run costs $0.001 plus $0.002 per page.
Yes. Through the Apify MCP server, Claude or any MCP client calls the scraper as a tool and returns the position in plain language, with no code.
As often as you schedule it. Save the query as a task and attach a daily or hourly schedule to build a ranking history you can chart.
Issues opened on the Actor page are usually answered within a day.
0
0
0