Ecosia Search API & Scraper
This API returns what www.ecosia.org shows for a query, as JSON, with no Ecosia account.
🤖 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.
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.
| Field | What it holds |
|---|---|
| results_provider, results[].provider | The 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[].date | The 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_redirect | true 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_page | Ecosia'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_results | Local 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 page | Ecosia'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-ww | Ecosia 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_search | strict, 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).
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"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"
}
}{
"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"
}
}
}What the Ecosia Search API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Ecosia 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 |
| news | 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. | Content strategists call news to get ecosia News results. | q, market, language, safe_search, freshness, ... |
| images | 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. | Rank trackers call images to get ecosia image results. | q, market, language, safe_search, freshness, ... |
| videos | Ecosia 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, ... |
| autocomplete | 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. | SEO teams call autocomplete to get ecosia search suggestions for a partial query, in the chosen region (the typeahead Ecosia's o…. | q, market |
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"}'import os
import requests
REEF_KEY = os.environ["REEF_KEY"]
r = requests.post(
"https://api.reefapi.com/ecosia/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"q": "best hiking boots"
},
timeout=90,
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/ecosia/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"q": "best hiking boots"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.ecosia.search with {"q":"best hiking boots"}.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.
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.