SERP tracking
DuckDuckGo Searchエンドポイントを使えば、「SERP tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn DuckDuckGo's public web search results into structured JSON — organic results with titles, decoded destination URLs, and descriptions, with region, recency window, and safe-search filters, for SERP tracking and privacy-focused search research. Credential-free.
Search DuckDuckGo web results and get organic results as structured JSON, with region, recency, and safe-search filters.
エンドポイントファミリー
5
ドキュメント化されたパラメータ
21
サンプル数
5
ライブカタログスナップショット
稼働エンドポイント
5
メソッド
GET
必須パラメータ
10
スキーマ参照
5
{
"platform": "DuckDuckGo Search",
"endpoint": "duckduckgo-search",
"method": "GET",
"path": "/duckduckgo/search",
"auth": "apiKey"
}ユースケース
Search DuckDuckGo web results and get organic results as structured JSON, with region, recency, and safe-search filters.
DuckDuckGo Searchエンドポイントを使えば、「SERP tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
DuckDuckGo Searchエンドポイントを使えば、「Search monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
DuckDuckGo Searchエンドポイントを使えば、「Discovery workflows」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のDuckDuckGo Searchエンドポイントカタログから取得しています(エンドポイント5件、ドキュメント化されたリクエストパラメータ21個、公開レスポンススキーマ5件)。DocsとPlaygroundが参照しているカタログと同じものです。
DuckDuckGo Searchのエンドポイントは5件、5つのリクエストファミリーに分類されています(Image、News、Searchほか2件)。
これらのDuckDuckGo Searchエンドポイントには21個のリクエストパラメータがドキュメント化されており、うち10個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
5件のDuckDuckGo Searchエンドポイントのうち5件が実際のサンプルレスポンスを、5件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
DuckDuckGo Searchのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、500、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
DuckDuckGo Searchのエンドポイントは5個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/duckduckgo/image
/duckduckgo/news
/duckduckgo/search
/duckduckgo/shopping
/duckduckgo/video
エンドポイントカタログ
/duckduckgo/searchReturns normalized DuckDuckGo web search results for a query string: title, destination URL, description, and hostname, plus page-based pagination. DuckDuckGo wraps every result link in its own click-tracking redirect; this endpoint always returns the decoded destination URL, never the raw redirect link. Results are fetched from DuckDuckGo's own server-rendered search page.
レスポンスに関する注記
- DuckDuckGo wraps every result link in its own click-tracking redirect (`duckduckgo.com/l/?uddg=...`); `url` in the response is always the decoded destination URL, never the raw redirect link. - A blocked or CAPTCHA-served response returns `503`. - Requesting a page past the end of DuckDuckGo's own result set returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "openai", "results": [ { "position": 1, "title": "OpenAI | Research & Deployment", "url": "https://openai.com/", "description": "OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.", "hostname": "openai.com" } ], "pagination": { "page": 1, "next_page": 2 } } } ```
MCPツール duckduckgo_search
/duckduckgo/imageReturns normalized DuckDuckGo image results for a query string: title, source page URL, image URL, thumbnail, dimensions, and hostname, plus page-based pagination. Results are fetched from DuckDuckGo's own image JSON API.
レスポンスに関する注記
- Unlike organic web search, DuckDuckGo's image results are not wrapped in a click-tracking redirect; `url` is DuckDuckGo's own reported source page URL as-is. - A blocked or CAPTCHA-served response returns `503`. - No results returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "openai", "results": [ { "position": 1, "title": "OpenAI logo", "url": "https://example.com/openai-logo", "image_url": "https://example.com/openai-logo.jpg", "thumbnail": "https://example.com/openai-logo-thumb.jpg", "width": 1200, "height": 800, "hostname": "example.com" } ], "pagination": { "page": 1, "next_page": 2 } } } ```
MCPツール duckduckgo_image
/duckduckgo/newsReturns normalized DuckDuckGo news results for a query string: title, destination URL, source, excerpt, thumbnail, and relative/published time, plus page-based pagination. Results are fetched from DuckDuckGo's own news JSON API.
レスポンスに関する注記
- A blocked or CAPTCHA-served response returns `503`. - No results returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "openai", "results": [ { "position": 1, "title": "OpenAI announces new model", "url": "https://example.com/openai-announces-new-model", "source": "TechCrunch", "excerpt": "OpenAI today announced...", "thumbnail": "https://example.com/thumb.jpg", "relative_time": "2 hours ago", "published_at": 1721418540 } ], "pagination": { "page": 1, "next_page": 2 } } } ```
MCPツール duckduckgo_news
/duckduckgo/shoppingReturns normalized DuckDuckGo shopping results for a query string: title, brand, merchant, description, price, rating, and review count, plus total page count. DuckDuckGo's shopping vertical is ad-funded, syndicated product listings, not organic content; every product link is wrapped in an ad-click-tracking redirect with no clean destination to unwrap, so no destination URL is returned. DuckDuckGo's own pagination token for this vertical is an opaque per-response blob rather than a plain page offset, so only the first page is supported.
レスポンスに関する注記
- DuckDuckGo's shopping vertical is ad-funded, syndicated product listings (Bing Product Ads), not organic content. Every product link DuckDuckGo returns is wrapped in an ad-click-tracking redirect carrying opaque campaign/session metadata with no clean destination to unwrap — so, like this API's Google Shopping endpoint, no destination URL is returned. - Only the first page is supported. DuckDuckGo's own pagination token for this vertical is an opaque per-response blob rather than a plain page offset, unlike this API's other DuckDuckGo endpoints. `page_info` reports the total page count DuckDuckGo has available, for context. - A blocked or CAPTCHA-served response returns `503`. - No results returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "running shoes", "results": [ { "position": 1, "title": "On Running Cloud 6 Sneakers", "brand": "On", "merchant": "www.example.com", "description": "Lightweight running shoe with CloudTec cushioning.", "price": "$139.99", "low_price": "$119.99", "rating": 4.5, "review_count": 128, "image": "https://example.com/shoe.jpg" } ], "page_info": { "page": 1, "total_pages": 16 } } } ```
MCPツール duckduckgo_shopping
/duckduckgo/videoReturns normalized DuckDuckGo video results for a query string: title, destination URL, description, duration, thumbnail, publisher/uploader, published time, and view count, plus page-based pagination. Results are fetched from DuckDuckGo's own video JSON API.
レスポンスに関する注記
- A blocked or CAPTCHA-served response returns `503`. - No results returns `404`. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "openai", "results": [ { "position": 1, "title": "What is OpenAI?", "url": "https://www.youtube.com/watch?v=abc123", "description": "An introduction to OpenAI.", "duration": "5:32", "thumbnail": "https://example.com/thumb.jpg", "publisher": "YouTube", "uploader": "OpenAI", "published_at": "2023-03-01T12:00:00.0000000", "view_count": 123456 } ], "pagination": { "page": 1, "next_page": 2 } } } ```
MCPツール duckduckgo_video
関連API
Search & Web Discovery
Use a Google Trends API — an API for Google Trends data — to track search demand, trending terms, interest over time, regional interest, related and rising queries, plus Google Suggest discovery, as structured JSON for demand research and trend monitoring.
Search & Web Discovery
Extract Google News results — headlines, source names, article URLs, snippets, thumbnails, and recency — as structured JSON for media monitoring, brand mention tracking, and news aggregation workflows.
Search & Web Discovery
Extract Google Jobs results — job titles, listing snippets, and locations — as structured JSON for job-market intelligence, hiring-trend analysis, and recruitment sourcing workflows.
DuckDuckGo Searchのスクレイピング方法
DuckDuckGo's Instant Answer API returns topic summaries, not web results — there is no official API for the organic result list. Crawlora's 5 DuckDuckGo endpoints return web, image, news, shopping, and video results as normalized JSON, with region, recency, and safe-search filters and decoded destination URLs.
Separate endpoints cover web, images, news, shopping, and video, all taking the same q query parameter.
The web endpoint takes time_range of d, w, m, or y for recency and safe_search of strict, moderate, or off.
Every endpoint takes a region, so you can compare how results differ market by market.
DuckDuckGo wraps result links in its own click-tracking redirect; these endpoints always return the decoded destination URL and hostname, never the raw redirect.
FAQ
Not for web results. DuckDuckGo publishes an Instant Answer API, but it returns instant answers and topic summaries rather than the organic result list. Crawlora's endpoints read DuckDuckGo's own server-rendered search pages and return those results as JSON.
Web, images, news, shopping, and video — each its own endpoint taking the same q parameter plus a region.
Yes, on web search. time_range accepts d, w, m, or y for the past day, week, month, or year, and safe_search accepts strict, moderate, or off.
Yes. DuckDuckGo wraps every result link in a click-tracking redirect; this endpoint decodes it and returns the destination URL along with the hostname.
Send a keyword as q to Crawlora's /duckduckgo/search endpoint and get normalized organic results as structured JSON — no DuckDuckGo account required.