Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Ecosia Search API page →
Search & SEO

Ecosia Search API & Scraper

This API returns what www.ecosia.org shows for a query, as JSON, with no Ecosia account.

5 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

`search` gives the ranked web results (position, title, URL, displayed URL, domain, snippet, date when Ecosia prints one, sitelinks) plus related searches, the knowledge panel, local businesses, inline videos and a spelling correction when Ecosia shows them, and `results_provider` names the index that answered (Ecosia answers from Google, Bing or the European index it co-runs, depending on region and query). `news` returns articles with publisher, UTC publish time, snippet and Ecosia's own result count; `images` returns the full-size image URL, source page, pixel size, format and accent colour, with Ecosia's size, colour, type, aspect-ratio, licence and recency filters; `videos` returns the watch URL, platform, duration and publish date, filterable by length, resolution and recency; `autocomplete` returns the suggestions Ecosia's search box shows. Every action takes one of Ecosia's 61 regions (en-us, de-de, ja-jp...) and SafeSearch strict, moderate or off.

Reference

What an Ecosia field actually contains

Fields that read differently from how they look. Every row was measured against live Ecosia pages on 2026-11-06.

FieldWhat it holds
results_provider, results[].providerThe index Ecosia answered from, as Ecosia states it on the page: google, bing, eusp (the European index Ecosia co-runs) or serper (Google results Ecosia buys through a reseller). It varies by region and query: on 57 answered searches in 18 languages, 50 came from google, 4 from eusp and 3 from serper.
results[].dateThe date Ecosia prints in front of a snippet, as UTC. Many rows have none: on Google-provided pages it was set on 1 to 9 of 10 rows depending on the query.
results[].url_is_redirecttrue when Ecosia's own result link is a Google click-redirect (https://www.google.com/goto?url=...) instead of the page address. The redirect target is encrypted, so domain is null for those rows rather than google.com. It happens on some site: queries; a page that comes back mostly redirected is read once more, which usually returns direct links. meta.redirect_rows counts what is left.
ads, meta.ad_slots_not_in_pageEcosia's Google ads are drawn in the visitor's browser by Google's own ad script, so the page carries only how many ad slots there are, not the ads. ads[] is filled when the page itself carries ads; otherwise meta.ad_slots_not_in_page says how many slots Ecosia reserved (4 on a typical Google-provided page).
local_resultsLocal businesses Ecosia shows for queries like "pizza near me": name, categories, rating, review count, coordinates, opening hours and source link. Ecosia places them by the network location of the request, not by the region, so treat them as an example of the format rather than of a city you chose.
images pageEcosia's image pages are overlapping windows, not slices: page 1 holds about 60 images (the first screen included), and on measured queries pages 2 and 3 repeated 32 to 51 images of the page before. Dedupe on id.
news with market en-wwEcosia News has no all-regions edition: "ai regulation" and "bitcoin" returned 0 news in en-ww and 10 in en-us. Pick a country market for news.
safe_searchstrict, moderate (Ecosia's default) or off, echoed back in context.safe_search. Measured on an explicit image query: strict returned no images, off returned 24 from adult sites.

Ecosia's web time filter is not offered on search: measured on three queries, the same 7 to 9 of 10 URLs came back with and without it. news, images and videos honour their recency filter (news for the past day held only articles from the last 24 hours; videos for the past week held only videos from the last 7 days).

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/ecosia/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "q": "best hiking boots"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "ecosia",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 8072.8,
    "record_count": 10,
    "bytes": 152757,
    "cache_hit": false,
    "completeness_pct": 100,
    "upstream_requests": 1,
    "ad_slots_not_in_page": 8,
    "has_next_page": true,
    "charged_credits": 2,
    "version": "0.1.1",
    "request_id": "8452d70809e8433d",
    "fetched_at": "2026-11-06T16:40:31.150Z"
  },
  "data": {
    "query": "best hiking boots",
    "market": "en-us",
    "page": 1,
    "results": [
      {
        "position": 1,
        "title": "10 Best Hiking Boots of 2026 - Outdoor Gear Lab",
        "url": "https://www.outdoorgearlab.com/topics/shoes-and-boots/best-hiking-boots",
        "displayed_url": "https://www.outdoorgearlab.com/topics/shoes-and-boots/best-hiking-boots",
        "domain": "outdoorgearlab.com",
        "url_is_redirect": false,
        "snippet": "We trail-tested 37 top hiking boots from On, Merrell, Altra, Hoka, Zamberlan, and more to find the very best for your next adventure.",
        "date": null,
        "source_name": null,
        "thumbnail_url": null,
        "sitelinks": [],
        "ecosia_label": null,
        "provider": "google"
      },
      {
        "position": 2,
        "title": "Best hiking boots 2026: The pairs that stood out in testing",
        "url": "https://trailandkale.com/best-hiking-boots-buyers-guide/",
        "displayed_url": "https://trailandkale.com/best-hiking-boots-buyers-guide/",
        "domain": "trailandkale.com",
        "url_is_redirect": false,
        "snippet": "Oct 28, 2026 ... Quick picks · Best overall: Hoka Kaha 3 GTX · Best value: Keen Targhee IV Mid · Best first hiking boot: Merrell Moab 3 Mid Waterproof · Best for ...",
        "date": "2026-10-28T07:00:00Z",
        "source_name": null,
        "thumbnail_url": null,
        "sitelinks": [],
        "ecosia_label": null,
        "provider": "google"
      },
      {
        "position": 3,
        "title": "What are the best brands of hiking boots? - Reddit",
        "url": "https://www.reddit.com/r/hiking/comments/1ohbswd/what_are_the_best_brands_of_hiking_boots/",
        "displayed_url": "https://www.reddit.com/r/hiking/comments/1ohbswd/what_are_the_best_brands_of_hiking_boots/",
        "domain": "reddit.com",
        "url_is_redirect": false,
        "snippet": "Oct 27, 2025 ... Salomon, Merrell, La Sportiva, Hoka, and Danner are all solid brands for waterproof Gore-Tex hiking boots. Good places to shop: REI, ...",
        "date": "2025-10-27T07:00:00Z",
        "source_name": "Reddit",
        "thumbnail_url": null,
        "sitelinks": [],
        "ecosia_label": null,
        "provider": "google"
      }
    ],
    "ads": [],
    "related_searches": [
      "best hiking boots women",
      "best hiking boots men",
      "best hiking boots of all time"
    ],
    "knowledge_panel": null,
    "local_results": [],
    "video_results": [],
    "ai_overview_shown": false,
    "spelling_suggestion": null,
    "query_correction": null,
    "has_next_page": true,
    "results_provider": "google",
    "context": {
      "market": "en-us",
      "language": "en",
      "safe_search": "moderate"
    }
  }
}
Actions

What the Ecosia Search API does

ActionDescriptionConcrete use caseKey params
searchEcosia web results for a query: ranked organic results (position, title, URL, displayed URL, domain, snippet, date, sitelinks), related searches, knowledge panel, local businesses, inline videos, spelling correction, plus the index Ecosia answered from. Choose the region, SafeSearch level and the page.SEO teams call search to get ecosia web results for a query.q, market, language, safe_search, page
newsEcosia News results: title, URL, publisher, publish time (UTC), snippet and thumbnail, with the source's own total count. Region, SafeSearch, recency window and page.Content strategists call news to get ecosia News results.q, market, language, safe_search, freshness, ...
imagesEcosia image results: full-size image URL, thumbnail, source page, dimensions, format and accent colour, plus Ecosia's related-search chips. Filter by size, colour, type, aspect ratio, licence and recency.Rank trackers call images to get ecosia image results.q, market, language, safe_search, freshness, ...
videosEcosia video results: watch URL, platform, title, description, duration (ISO 8601 and seconds), publish date and thumbnail. Filter by length, resolution and recency.AI answer-monitoring tools call videos to get ecosia video results.q, market, language, safe_search, freshness, ...
autocompleteEcosia search suggestions for a partial query, in the chosen region (the typeahead Ecosia's own search box shows, up to 10). Fast and cheap.SEO teams call autocomplete to get ecosia search suggestions for a partial query, in the chosen region (the typeahead Ecosia's o….q, market
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/ecosia/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"best hiking boots"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.ecosia.search with {"q":"best hiking boots"}.
Use cases

Who uses this API and why

  • Track where a site ranks on Ecosia, region by region, next to Google and Bing.
  • Monitor news for a brand or topic in a country's own Ecosia news edition.
  • Collect images with known size, aspect ratio, format and licence filter for a dataset.
  • Find videos of a given length and recency for a topic.
  • Mine Ecosia's autocomplete for keyword ideas in 61 regions.
FAQ

Questions developers ask before integrating

Do I need an Ecosia account or API key?

No. Results are read from Ecosia's public search pages, logged out. You call reefapi.com with your ReefAPI key.

Whose results are these, Ecosia's or Google's?

Ecosia's results page, exactly as it shows it. Ecosia itself answers from several indexes, and results_provider tells you which one served each search (google, bing, eusp or serper).

Which regions and languages are supported?

All 61 of Ecosia's regions, passed as market (for example en-us, de-de, fr-fr, ja-jp, pt-br, en-ww for all regions). context.market in every answer echoes the region Ecosia applied. Our test set covered 31 regions, 18 languages and 5 scripts (Latin, Cyrillic, Japanese, Korean, Chinese).

Do site: and quoted phrases work?

Yes. Ecosia passes them to its index, and queries such as site:reddit.com web scraping, "to be or not to be", site:lemonde.fr climat and intitle:review iphone 17 all returned results in our 2026-11-06 runs. They can take a few seconds longer on the first call of a quiet period.

How do I page through results?

Use page: search 1-10, news 1-20, videos 1-5 (Ecosia lists about 20 videos per query), images 1-10. Pages are Ecosia's own, so neighbouring pages can repeat a result: we measured 1 to 2 repeats between search pages, 1 to 2 between news pages and 0 to 4 of 10 between video pages. Key on url.

What happens when there are no results?

You get a 404 NOT_FOUND, never an empty success. For web search the empty answer is confirmed a second time before it is returned. A temporary refusal by the site is a retryable error, never a 404.

Do the image and video filters really filter?

Yes, each one was measured: aspect tall returned only portrait images, square only square ones; type animatedgif returned only animated GIFs and transparent only PNGs; colour red returned red-dominant images; size small returned 54 of 60 images under 200 pixels wide where wallpaper returned 60 of 60 at 1,024 pixels or wider; video length long returned only videos longer than 20 minutes and short only videos under 5 minutes (three runs).

How fast is it?

A typical call takes about 2 seconds; the measured median was 1.9 to 2.1 seconds for search, news, images and videos and 0.6 seconds for autocomplete. The first call after a quiet period can take 6 to 10 seconds longer.

What is the Ecosia Search API?

Ecosia Search API is a ReefAPI endpoint group for ecosia search results as json: ranked web results with snippet, date and sitelinks, news, images with size and colour filters, videos with duration, and autocomplete, in ecosia's 61 regions. It returns live JSON through POST requests under /ecosia/v1.

Is the Ecosia Search API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Ecosia Search calls use the same shared credit balance as every other ReefAPI engine.

Do I need an Ecosia Search login or account?

No login to Ecosia Search is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Ecosia Search data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Ecosia Search API use?

Ecosia Search actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Ecosia Search from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call ecosia actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / ecosia

Ecosia Search

Ecosia search results as JSON: ranked web results with snippet, date and sitelinks, news, images with size and colour filters, videos with duration, and autocomplete, in Ecosia's 61 regions.

base /ecosia/v15 endpoints
post/ecosia/v1/news2 credits

Ecosia News results: title, URL, publisher, publish time (UTC), snippet and thumbnail, with the source's own total count. Region, SafeSearch, recency window and page.

ParameterAllowed / rangeDescription
qrequired—Search query, in any language.
market = en-usoptionalen-us · es-us · en-gb · en-ca · fr-ca · en-au · en-nz · en-ie · en-in · en-za · en-sg · en-my · en-ph · en-id · en-th · th-th · en-vn · vi-vn · en-sa · ar-sa · de-de · de-at · de-ch · fr-ch · fr-fr · fr-be · nl-be · nl-nl · es-es · pt-pt · it-it · pl-pl · cz-cz · sk-sk · hr-hr · ro-ro · bg-bg · gr-gr · da-dk · sv-se · nb-no · fi-fi · ee-ee · lv-lv · lt-lt · uk-ua · ru-ru · tr-tr · ja-jp · ko-kr · zh-cn · zh-hk · zh-tw · pt-br · es-mx · es-ar · es-cl · es-co · es-pe · es-ve · en-wwEcosia search region (language-country, lowercase), the same list as Ecosia's own region menu. Sets which country's results and which language the index favours. en-ww = all regions.
languageoptional—Interface language as a 2-letter code (en, de, fr, ja...). Defaults to the market's language. It changes the labels Ecosia writes into the page (for example the sitelink text), not which results are returned.
safe_search = moderateoptionalstrict · moderate · offEcosia SafeSearch level.
freshnessoptionalday · week · monthOnly results from this recency window (Ecosia's own time filter).
page = 1optional1–201-based results page.
Try in playground →
post/ecosia/v1/images3 credits

Ecosia image results: full-size image URL, thumbnail, source page, dimensions, format and accent colour, plus Ecosia's related-search chips. Filter by size, colour, type, aspect ratio, licence and recency.

ParameterAllowed / rangeDescription
qrequired—Search query, in any language.
market = en-usoptionalen-us · es-us · en-gb · en-ca · fr-ca · en-au · en-nz · en-ie · en-in · en-za · en-sg · en-my · en-ph · en-id · en-th · th-th · en-vn · vi-vn · en-sa · ar-sa · de-de · de-at · de-ch · fr-ch · fr-fr · fr-be · nl-be · nl-nl · es-es · pt-pt · it-it · pl-pl · cz-cz · sk-sk · hr-hr · ro-ro · bg-bg · gr-gr · da-dk · sv-se · nb-no · fi-fi · ee-ee · lv-lv · lt-lt · uk-ua · ru-ru · tr-tr · ja-jp · ko-kr · zh-cn · zh-hk · zh-tw · pt-br · es-mx · es-ar · es-cl · es-co · es-pe · es-ve · en-wwEcosia search region (language-country, lowercase), the same list as Ecosia's own region menu. Sets which country's results and which language the index favours. en-ww = all regions.
languageoptional—Interface language as a 2-letter code (en, de, fr, ja...). Defaults to the market's language. It changes the labels Ecosia writes into the page (for example the sitelink text), not which results are returned.
safe_search = moderateoptionalstrict · moderate · offEcosia SafeSearch level.
freshnessoptionalday · week · monthOnly results from this recency window (Ecosia's own time filter).
sizeoptionalsmall · medium · large · wallpaperEcosia's own 'size' filter.
coloroptionalcolorOnly · monochrome · red · orange · yellow · green · teal · blue · purple · pink · brown · black · gray · whiteEcosia's own 'color' filter.
image_typeoptionalphoto · clipart · line · animatedgif · transparentEcosia's own 'imageType' filter.
aspectoptionalsquare · wide · tallEcosia's own 'aspect' filter.
licenseoptionalshare · shareCommercially · modify · modifyCommercially · publicEcosia's own 'license' filter.
page = 1optional1–101-based results page. About 60 images per page. Pages overlap (Ecosia serves windows, not slices): dedupe on id.
Try in playground →
post/ecosia/v1/videos2 credits

Ecosia video results: watch URL, platform, title, description, duration (ISO 8601 and seconds), publish date and thumbnail. Filter by length, resolution and recency.

ParameterAllowed / rangeDescription
qrequired—Search query, in any language.
market = en-usoptionalen-us · es-us · en-gb · en-ca · fr-ca · en-au · en-nz · en-ie · en-in · en-za · en-sg · en-my · en-ph · en-id · en-th · th-th · en-vn · vi-vn · en-sa · ar-sa · de-de · de-at · de-ch · fr-ch · fr-fr · fr-be · nl-be · nl-nl · es-es · pt-pt · it-it · pl-pl · cz-cz · sk-sk · hr-hr · ro-ro · bg-bg · gr-gr · da-dk · sv-se · nb-no · fi-fi · ee-ee · lv-lv · lt-lt · uk-ua · ru-ru · tr-tr · ja-jp · ko-kr · zh-cn · zh-hk · zh-tw · pt-br · es-mx · es-ar · es-cl · es-co · es-pe · es-ve · en-wwEcosia search region (language-country, lowercase), the same list as Ecosia's own region menu. Sets which country's results and which language the index favours. en-ww = all regions.
languageoptional—Interface language as a 2-letter code (en, de, fr, ja...). Defaults to the market's language. It changes the labels Ecosia writes into the page (for example the sitelink text), not which results are returned.
safe_search = moderateoptionalstrict · moderate · offEcosia SafeSearch level.
freshnessoptionalday · week · monthOnly results from this recency window (Ecosia's own time filter).
lengthoptionalshort · medium · longEcosia's own 'videoLength' filter.
resolutionoptional480p · 720p · 1080pEcosia's own 'resolution' filter.
page = 1optional1–51-based results page.
Try in playground →
post/ecosia/v1/autocomplete1 credit

Ecosia search suggestions for a partial query, in the chosen region (the typeahead Ecosia's own search box shows, up to 10). Fast and cheap.

ParameterAllowed / rangeDescription
qrequired—The partial query typed so far.
market = en-usoptionalen-us · es-us · en-gb · en-ca · fr-ca · en-au · en-nz · en-ie · en-in · en-za · en-sg · en-my · en-ph · en-id · en-th · th-th · en-vn · vi-vn · en-sa · ar-sa · de-de · de-at · de-ch · fr-ch · fr-fr · fr-be · nl-be · nl-nl · es-es · pt-pt · it-it · pl-pl · cz-cz · sk-sk · hr-hr · ro-ro · bg-bg · gr-gr · da-dk · sv-se · nb-no · fi-fi · ee-ee · lv-lv · lt-lt · uk-ua · ru-ru · tr-tr · ja-jp · ko-kr · zh-cn · zh-hk · zh-tw · pt-br · es-mx · es-ar · es-cl · es-co · es-pe · es-ve · en-wwEcosia search region (language-country, lowercase), the same list as Ecosia's own region menu. Sets which country's results and which language the index favours. en-ww = all regions.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.