Best DuckDuckGo Search API Providers in 2026 (Who Actually Sells One)

By Anurag Pathak · · 15 min read

Search for “DuckDuckGo API” and most of what comes back is noise: wrappers around an endpoint that returns nothing for a commercial query, GitHub projects that parse the HTML page, and comparison posts that confidently list vendors who do not sell the engine. There is a specific reason the shelf looks so empty, and almost nobody states it: two of the largest wholesale SERP vendors in this category publish no DuckDuckGo product at all, and DuckDuckGo does not sell one either. So this post starts with the exclusion list, because the exclusion list is the finding, and then prices what is genuinely left. Checked 2026-09-16.

I read every rate below off the vendor’s own live pricing page on 16 September 2026 and linked each one inline, and where a vendor publishes no figure I have said so rather than filled the cell. The one measurement in this post is my own: two live calls to DuckDuckGo’s public Instant Answer endpoint, quoted exactly as they came back. I ran no benchmark and I make no claim about anyone’s speed or success rate. Serpent is the API this site sells, and it appears here as one row among several.

Short answer: five options publish a DuckDuckGo rate card — HasData, Bright Data, SearchApi, SerpApi and us. DataForSEO and Traject Data (SerpWow) do not sell the engine at all, DuckDuckGo does not sell a ranked-results API of its own, and Scrapingdog does not list DuckDuckGo in its published credit table. Among the vendors that do sell it, published entry rates run from $25.00 per 1,000 searches down to $1.50, and the lowest published competitor rate anywhere on this page is HasData’s $0.69 per 1,000 on a $208-a-month plan. The Serpent DuckDuckGo SERP API is $0.60 per 1,000 calls with no plan at all, falling to $0.06 and $0.03 after a one-time deposit. The place several of them beat us outright is the free tier, and that section is below too.

Who does not sell a DuckDuckGo API

Normally this belongs in a footnote. Here it is the headline, because the absences explain the whole shape of the market. If you have ever wondered why a DuckDuckGo integration is harder to shop for than a Google one, it is not your imagination: the two vendors most likely to be on your shortlist already do not stock it.

A supermarket aisle photographed from above, price labels along the shelf edge with the stock behind many of them gone
Vendors excluded from the price tables below, and why. These are findings, not omissions: each one was read off the vendor’s own pages, linked in the first column. Checked 2026-09-16.
VendorWhat its own pages sayHow it was verified
DataForSEO No DuckDuckGo product exists. The v3 SERP documentation overview states that “All major search engines are supported: Google, Bing, YouTube, Yahoo, Baidu, Naver, and Seznam.” DuckDuckGo is absent from the endpoint list and from the navigation. Four separate vendor pages: the SERP pricing page, the full pricing list, the SERP API product page and the v3 docs overview. DuckDuckGo appears on none of them.
Traject Data / SerpWow No DuckDuckGo engine. The documented engine list is “google, bing, yahoo, baidu, yandex, naver, amazon or ebay”. The SerpWow Search API overview in Traject Data’s own documentation.
Scrapingdog DuckDuckGo does not appear in the published per-endpoint credit table, so no per-request cost for it is published. The table lists more than thirty endpoints by name; DuckDuckGo is not one of them. The pricing page’s credit table, read twice on the same day.
DuckDuckGo itself No ranked-results API for sale. Its Instant Answer endpoint has no reachable documentation, and it returned nothing at all for two ordinary queries — see the section below. Two live calls plus a redirect check, run on the date in the caption.

Sources: each vendor’s own pages, linked in the table. A widely repeated third-party summary claims DataForSEO supports DuckDuckGo and Yandex. Against four reads of DataForSEO’s own pages it is simply wrong, which is why nothing in this post comes from a search snippet or an AI summary. Checked 2026-09-16.

One nuance worth keeping straight, because it changes what you should do about it. “Not in the catalogue” and “not in the price list” are different claims. DataForSEO and Traject Data name their supported engines explicitly and DuckDuckGo is not among them; that is a product decision. Scrapingdog’s case is narrower: DuckDuckGo is absent from the credit table that prices every other endpoint, so even if something exists, there is no published number to compare. Either way you cannot put a figure in a column, and inventing one is how bad comparison tables get written. If DataForSEO was your default and you are now looking elsewhere, the DataForSEO alternatives breakdown covers the wider catalogue-by-catalogue picture.

DuckDuckGo’s own endpoint, called twice today

The first thing most developers try is DuckDuckGo’s own API, because it is free and it exists. It is worth thirty seconds of your time to know exactly what it does before you build on it.

The documentation URL is gone. https://api.duckduckgo.com/api, the canonical address for the Instant Answer API docs, answered HTTP 301 on 16 September 2026 with a Location of https://duckduckgo.com/. The obvious second guess, https://duckduckgo.com/api, answered HTTP 302 into a DuckDuckGo search for the word “api”. There is no developer documentation at either address.

The endpoint still answers, and answers with nothing. Two queries on the same day, one generic and one commercial:

$ curl -s "https://api.duckduckgo.com/?q=apple&format=json&no_html=1"
{"Abstract":"","AbstractSource":"","AbstractText":"","AbstractURL":"",
 "Answer":"","AnswerType":"","Definition":"","Entity":"","Heading":"",
 "RelatedTopics":[],"Results":[],"Type":"",
 "meta":{"description":"testing","name":"Just Another Test",
         "production_state":"offline", ... }}

$ curl -s "https://api.duckduckgo.com/?q=best+running+shoes&format=json&no_html=1"
HTTP 200 — Results: 0 items, RelatedTopics: 0 items, AbstractText: "", Heading: "", Type: ""

Both calls returned HTTP 200. Both returned an empty Results array, an empty RelatedTopics array and no abstract text, and both carried a meta block whose name is "Just Another Test", whose description is "testing" and whose production_state is "offline".

This is the cleanest illustration you will find of a rule worth writing on the wall: a 200 is not a result. A monitoring check that asserts on the status code would call this endpoint healthy forever. The Instant Answer API was never a ranked-web-results product — it answered definitional and entity queries with a card — and on these two queries it did not even do that. If you want DuckDuckGo’s actual ranked link list you need someone who renders the results page, which is the entire reason this market exists. The free-and-manual route, and its real ceilings, is written up in scraping DuckDuckGo results for free.

How I normalised this comparison

The task is fixed: 1,000 DuckDuckGo web searches, one query each, on whatever the vendor calls its DuckDuckGo search product. Everything else follows from that.

Cost per 1,000 DuckDuckGo searches

Here is the table with the exclusions already applied and named above it, so you can see exactly who is in and who is out.

A woman at a white desk working through a pile of orange and white receipts with a pink calculator
Every vendor that publishes a DuckDuckGo search rate, per 1,000 searches. Excluded by their own pages and therefore absent from this table: DataForSEO (no DuckDuckGo product), Traject Data / SerpWow (no DuckDuckGo engine), Scrapingdog (DuckDuckGo not in its published credit table) and DuckDuckGo itself (no ranked-results API). Checked 2026-09-16.
ProviderWhat one unit is$ / 1,000 — entry$ / 1,000 — lowest publishedMonthly floor for that lowest rateFree allowance
Serpent DuckDuckGo SERP API One search; num up to 100, pages 1–10 $0.60 $0.03 None — a one-time $500 deposit, spendable as balance 10 free calls
HasData — DuckDuckGo SERP API One request, billed as 10 credits $2.46 $0.69 $208 /mo Growth plan Free plan, 1,000 credits a month
Bright Data — DuckDuckGo Search API One request $1.50 $1.30 $499 /month Scale plan, and the rate applies to additional requests beyond the included volume only 5,000 requests a month
SearchApi — DuckDuckGo engine One search $4.00 $1.00 $5,000 / month Octo 5M plan 100 free requests
SerpApi — DuckDuckGo Search API One search $25.00 $1.96 $106,050 /mo Cloud 54M plan 250 searches a month

Arithmetic and sources. Serpent: the published web category rate card is $0.60 / $0.06 / $0.03 per 1,000 calls at Default, Growth and Scale, with Growth locked by a one-time $100 deposit and Scale by $500; the deposit is spendable balance, not a fee. HasData prints its per-1,000-request dollar figures itself, so neither of its figures here is derived: its pricing page shows $2.46 for the DuckDuckGo SERP API on the Startup plan at $49 a month and $0.69 on the Growth plan at $208 a month. Bright Data’s DuckDuckGo page prints “$1.5/1K requests” pay as you go and “$1.3/1K additional requests” on a “$499 /month” plan with “380K requests included”; spreading that plan over its included volume is $499 / 380,000 = $1.3132 per 1,000, derived, not printed. SearchApi prints “$4 per 1,000 searches” on Developer at $40/month and “$1 per 1,000 searches” on Octo 5M at $5,000/month. SerpApi prints no per-1,000 rate at all: $25.00 is $25 divided by the Starter plan’s 1,000 searches, and $1.96 is $106,050 divided by Cloud 54M’s 54,000,000 searches, which is $1.9639 exactly. Both SerpApi figures are derived. Checked 2026-09-16.

Two things about that table need saying plainly rather than left for a reader to infer.

SerpApi publishes one ladder and no per-engine surcharge. Its catalogue lists four DuckDuckGo products — a DuckDuckGo Search API, a Light API, a Maps API and a News API — and none of its pages read on the date above states that one engine costs more than another. That is not the same as SerpApi promising every engine costs the same, and I have not written it that way. The ladder in the table is the only rate card SerpApi publishes. If you want that ladder plan by plan, we walked it in SerpApi pricing explained.

Bright Data’s $1.30 is not a plan rate. It is the price of requests beyond the volume its $499 Scale plan already includes. Quoting it as if it were the plan’s price would understate what Scale costs anyone who does not blow through the included allowance, which is most people. Spread over the included volume the same plan is $1.3132 per 1,000, and below that volume it is worse.

What a month actually costs at four volumes

Per-1,000 rates are how vendors like to be compared. Monthly invoices are what you actually pay, and the two diverge because plans come in buckets and your traffic does not. Here is the same set of options priced on four real monthly volumes, always on the cheapest published plan that covers the volume.

Monthly bill for DuckDuckGo web searches, cheapest published plan that covers the volume. Same exclusions as the table above. Every figure is arithmetic on a published plan price or a published per-1,000 rate, both shown below the table. Checked 2026-09-16.
Searches / monthSerpent DefaultSerpent GrowthSerpent ScaleHasDataBright DataSearchApiSerpApi
10,000 $6.00 $0.60 $0.30 $49.00 $15.00 $40.00 $150.00
100,000 $60.00 $6.00 $3.00 $99.00 $150.00 $250.00 $725.00
300,000 $180.00 $18.00 $9.00 $208.00 $450.00 $900.00 $2,750.00
1,000,000 $600.00 $60.00 $30.00 Not published — above the top listed plan $1,305.00 $1,500.00 $3,750.00

How each column was built. Serpent: volume multiplied by the published per-1,000 rate for the web category, $0.60 / $0.06 / $0.03. Growth needs $100 deposited once and Scale $500, and that deposit is balance you spend, not a subscription. HasData: a DuckDuckGo request is 10 credits, so 10,000 requests is 100,000 credits and fits the $49 Startup plan (200,000 credits); 100,000 requests is 1,000,000 credits and fits the $99 Basic plan exactly; 300,000 requests is 3,000,000 credits and fits the $208 Growth plan exactly; 1,000,000 requests is 10,000,000 credits, above the top listed plan, and HasData’s Enterprise tier is “Custom price based on required volume”. Bright Data: pay as you go at $1.50 per 1,000 for the first three rows ($15.00, $150.00, $450.00), because at 300,000 requests pay as you go is still cheaper than the $499 plan. At 1,000,000 the Scale plan wins: $499 plus 620,000 additional requests at $1.30 per 1,000 is $499 + $806 = $1,305.00. SearchApi: the plans are Developer $40 (10,000), BigData $250 (100,000), Octo 500K $900 (500,000) and Octo 1M $1,500 (1,000,000); 300,000 does not fit the $500 Scale plan’s 250,000, so it takes Octo 500K. SerpApi: the plans are Production $150 (15,000), Searcher $725 (100,000), Infrastructure $2,750 (500,000) and Cloud 1M $3,750 (1,000,000); 10,000 does not fit Developer’s 5,000 and 300,000 does not fit Volume’s 250,000. Checked 2026-09-16.

Now convert each of those invoices back into a rate, and something appears that no vendor’s pricing page will ever show you.

Effective cost per 1,000 searches at each volume — the monthly bill above divided by the searches you actually ran. Same exclusions. Checked 2026-09-16.
Searches / monthSerpent DefaultSerpent ScaleHasDataBright DataSearchApiSerpApi
10,000$0.60$0.03$4.90$1.50$4.00$15.00
100,000$0.60$0.03$0.99$1.50$2.50$7.25
300,000$0.60$0.03$0.69$1.50$3.00$9.17
1,000,000$0.60$0.03Not published$1.31$1.50$3.75

Each cell is the monthly bill in the previous table divided by the volume, times 1,000. HasData at 10,000 requests: $49 / 10,000 x 1,000 = $4.90, against the $2.46 its page prints for that plan. SearchApi at 300,000: $900 / 300,000 x 1,000 = $3.00, against the $2.50 it prints for BigData at 100,000. SerpApi at 300,000: $2,750 / 300,000 x 1,000 = $9.1667, against $7.25 at 100,000. Bright Data at 1,000,000: the $1,305.00 bill above, divided by 1,000,000 searches and multiplied by 1,000, gives the $1.31 in the table. Serpent is a flat per-call rate with no plan, so its columns do not move with volume. Checked 2026-09-16.

Read the SearchApi and SerpApi columns downward. On both, the effective rate goes up between 100,000 and 300,000 searches a month — $2.50 to $3.00, and $7.25 to $9.17. You are buying more and paying more per unit, because 300,000 falls just past a plan boundary and you buy a 500,000-search plan to serve it. Nothing on either pricing page is untrue; the ladder simply does not have a rung where your traffic is. That is the single most expensive thing about monthly-bucket pricing and it is invisible in every comparison table that prints one rate per vendor. We have catalogued the rest of that family of surprises in the hidden costs in SERP API pricing.

Why the printed rate is not the rate you pay

HasData deserves a section of its own here, because it publishes the lowest competitor rate on this page and it publishes it honestly — it prints the dollars-per-1,000-requests figure itself rather than making you derive it from credits, which almost nobody in this market does.

So let us do the comparison the numbers actually support. HasData’s lowest published DuckDuckGo rate is $0.69 per 1,000 requests. Our entry rate, the one you pay with nothing deposited and no plan, is $0.60 per 1,000 calls. Sixty cents is less than sixty-nine cents. The comparison that looks close is not close: HasData’s best published rate sits about 15% above our worst one, and it is only reachable on a $208-a-month plan while ours needs no plan at all. Against our Growth rate of $0.06 it is 11.5 times higher, and against our Scale rate of $0.03 it is 23 times higher. We are the cheaper option at every tier, entry included, and that is what the arithmetic says rather than what we would like it to say.

The second half of it matters more than the first. $0.69 is a full-consumption rate. It is the $208 Growth plan divided by all 3,000,000 of its credits, and since a DuckDuckGo request costs 10 credits, reaching it means running 300,000 DuckDuckGo requests every single month. Run 100,000 and the same $208 is $2.08 per 1,000. Run 50,000 and it is $4.16. The printed number is the floor of a range whose ceiling depends on how well you estimated your own traffic a month in advance.

That is not a criticism of HasData specifically — it is how every credit bucket on this page behaves, and the effective-rate table above is the same phenomenon happening to SearchApi and SerpApi. It is the structural difference between a plan and a rate:

If credit expiry is the part of this you are actually worried about, we compared eight providers’ expiry rules in do SERP API credits expire.

Where these vendors beat us

A comparison that always concludes “buy ours” is worth nothing to you and nothing to a search engine. Here is where we lose, stated as plainly as the wins above.

The free tier, and it is not close. Bright Data’s DuckDuckGo Search API page lists a free tier of 5,000 requests a month. SerpApi gives 250 searches a month. HasData’s free plan gives 1,000 credits a month, which at 10 credits a DuckDuckGo request is 100 requests a month. SearchApi offers 100 free requests, and its page does not say whether that is one-off or monthly. Serpent gives 10 free calls to start. Ten calls is enough to see the JSON shape and decide whether you like the field names. It is not enough to run a pilot, and if your entire workload is a few thousand DuckDuckGo searches a month, Bright Data will do it for nothing and no per-call rate on earth undercuts free.

Bright Data’s pay as you go has no minimum and no plan boundary. Look again at its column in the effective-rate table: $1.50 at every volume until Scale takes over. It is the only competitor rate on this page that never gets worse when your traffic lands between two plans. It is several times our rate, but it is structurally clean, and structurally clean is worth something when you are forecasting.

SerpApi lists a DuckDuckGo surface we do not sell. Its catalogue includes a DuckDuckGo Maps API. Our four DuckDuckGo endpoints are web, news, images and video. If DuckDuckGo local results are the thing you came for, we do not have them and SerpApi does.

SerpApi does not charge for cached searches. Every SerpApi engine page carries the same line: “Cached searches are free, and are not counted towards your searches per month.” On a workload with heavy query repetition that is a real discount which no rate-card comparison captures. If you are on a provider that bills every call, the equivalent saving has to come from your side, and the pattern is in building a SERP cache to cut your API bill.

HasData publishes concurrency per plan. One concurrent request on Free, 5 on Startup, 15 on Basic, 50 on Growth. Publishing the throughput ceiling next to the price is unusually transparent in this category and it deserves the credit, because a rate you cannot reach at the speed you need is not the rate you got.

What one DuckDuckGo search returns, and who publishes it

This is the part of a provider comparison almost nobody does, and it is the part that decides whether the cheap option was cheap. Price per search is only half the question. The other half is what one search hands back.

On this dimension the honest finding is short: of the vendors selling DuckDuckGo, only one publishes how deep a single DuckDuckGo search goes. Everyone sells “a search”; the number of organic rows inside it is left to you to discover after you have paid.

DuckDuckGo surfaces and result depth, as each vendor’s own catalogue and documentation publish them. An empty cell means the vendor does not publish that figure — not that the data is unavailable. This is a documentation comparison, not a measurement: I ran no requests against any paid vendor. Checked 2026-09-16.
ProviderDuckDuckGo surfaces listedOrganic rows per search, as publishedPagination depth, as published
Serpent Web, News, Images, Video num up to 100 pages 1–10
SerpApi DuckDuckGo Search, DuckDuckGo Light, DuckDuckGo Maps, DuckDuckGo News Not published Not published
Bright Data DuckDuckGo Search API Not published Not published
SearchApi DuckDuckGo in the engine navigation Not published Not published
HasData DuckDuckGo SERP API Not published Not published

Sources: each vendor’s own engine catalogue and product pages. SerpApi’s four DuckDuckGo entries are from its search-engine API catalogue; its DuckDuckGo Search API page documents engine=duckduckgo. Serpent’s parameters are published on its DuckDuckGo endpoint page. “Not published” means exactly that: I could not find the figure on the vendor’s pages, and I have not guessed it. Checked 2026-09-16.

Three field-level things are worth knowing before you pick, and they apply whichever row you land on.

DuckDuckGo prints a publish date beside a large share of its organic results. That is content-freshness data for an entire keyword set without fetching any of the pages you are auditing, and it only reaches you if your provider parses it into a field. On Serpent it arrives as richSnippets[].publishDate, normalised to YYYY-MM-DD.

The Instant Answer box is a field, not a special case. DuckDuckGo answers definitional and entity queries with a zero-click box above the list. It belongs in the same featuredSnippet and knowledgePanel fields your other engines use, with its source link attached, so your answer-box code does not need a DuckDuckGo-shaped branch.

Ask what an absent block looks like. This is the question that decides whether a multi-engine parser is pleasant or miserable. On Serpent, with format=full, the results object carries the same eleven keys on every call: a block the page did not carry arrives as null or [], never as a missing key. On engine=ddg specifically, aiOverview is always null and relatedSearches is always []. That is the difference between a parser that branches and a parser that throws, and it is the thing to test on your free calls at every vendor on this page. The general pattern for merging several providers into one schema is in normalising SERP JSON across providers.

One more, on throughput rather than fields, because it is the honest counterpart to a cheap rate: there is no daily bucket and no monthly plan in our pricing, so there is no per-day allowance to run out of, but sustained automated overuse or heavy load can return a 429 like any API. The DuckDuckGo endpoint page lists the current parameters and caps.

Which option fits which job

Whichever you pick, do the same two checks before you commit a budget. Run one real query on the free allowance and count the organic rows you got against the number you assumed, because only one vendor on this page publishes it. Then run one query that returns nothing at all — a nonsense string is fine — and look at what comes back, because an empty result and a broken request should never wear the same status code. DuckDuckGo’s own endpoint, above, is the cautionary tale: HTTP 200, and nothing in it. If you want the whole-market version of this arithmetic rather than one engine, it is in the SERP API pricing comparison, and the hands-on version for this engine is the DuckDuckGo search API guide.

FAQ

Does DataForSEO sell a DuckDuckGo SERP API?

No. Four DataForSEO pages read on 16 September 2026 name the engines it supports, and DuckDuckGo is on none of them: the SERP pricing page, the full pricing list, the SERP API product page, and the v3 SERP documentation overview, which states that the supported engines are Google, Bing, YouTube, Yahoo, Baidu, Naver and Seznam. Some third-party summaries claim the opposite. They are wrong, and it is worth knowing that before you plan a migration around a product that does not exist. Checked 2026-09-16.

Which DuckDuckGo API is cheapest per 1,000 searches?

On published rates, the Serpent DuckDuckGo SERP API at $0.60 per 1,000 calls with no plan, falling to $0.06 and then $0.03 per 1,000 once a one-time deposit locks the Growth or Scale tier. The lowest published competitor rate is HasData at $0.69 per 1,000 DuckDuckGo requests, which needs the $208 a month Growth plan and all 3,000,000 of its credits to actually reach. Bright Data is $1.50 per 1,000 on pay as you go, SearchApi starts at $4.00 per 1,000, and SerpApi starts at $25.00 per 1,000. Checked 2026-09-16.

Does DuckDuckGo have an official search API?

Not one that returns ranked web results. DuckDuckGo publishes an Instant Answer endpoint at api.duckduckgo.com, and on 16 September 2026 its documentation URL returned an HTTP 301 redirect to the DuckDuckGo homepage. The endpoint itself still answers. Two queries run that day, apple and best running shoes, both came back HTTP 200 with an empty Results array, an empty RelatedTopics array, no abstract text, and a meta block naming a test module whose production state reads offline. It is an instant answer endpoint rather than a ranked results API, and on those two queries it returned no instant answer either. Checked 2026-09-16.

What does HasData's $0.69 per 1,000 DuckDuckGo requests actually cost me?

It depends entirely on how much of the plan you use, because $0.69 is the rate only if you spend the whole bucket. HasData bills a DuckDuckGo request at 10 credits, and $0.69 is the $208 a month Growth plan divided by its 3,000,000 credits, which is 300,000 DuckDuckGo requests. Run 100,000 requests a month on that same plan and the same $208 works out at $2.08 per 1,000. That is the general trap with credit plans: the printed per-1,000 figure is the best case at full consumption, not the price of your traffic. Checked 2026-09-16.

Which DuckDuckGo API has the biggest free tier?

Bright Data, and it is not close. Its DuckDuckGo Search API page lists a free tier of 5,000 requests a month. SerpApi gives 250 searches a month, HasData's free plan gives 1,000 credits a month which is 100 DuckDuckGo requests, SearchApi offers 100 free requests without stating whether that is one off or monthly, and Serpent gives 10 free calls to start. If your entire job is 5,000 DuckDuckGo searches a month, Bright Data will do it for nothing, and nobody on this page beats free. Checked 2026-09-16.

Can I get DuckDuckGo and Google results from the same API key?

Yes, from several of these. On Serpent the engine is a query parameter, so the same endpoint and the same key return DuckDuckGo, Google, Bing, Yahoo or Brave results, and on format=full the results object carries the same eleven keys every time, with a block the page did not carry arriving as null or an empty array rather than as a missing key. SerpApi, SearchApi, Bright Data and HasData all sell DuckDuckGo alongside Google on one account as well. What differs between them is the response shape, so if you plan to run two engines through one parser, ask each vendor what an absent block looks like before you write it. Checked 2026-09-16.

Related reading, if you came here from the shopping side of this engine rather than the web side: the same exercise on DuckDuckGo product results is in the DuckDuckGo shopping API comparison.

Related Posts