Benchmark

Adding Keenable to Google and TinyFish took our funding round capture from 71.4% to 89.6%

21 min read

Adding Keenable to Google plus TinyFish took funding round capture from 71.4% to 89.6%
On this page
Adding Keenable to Google plus TinyFish took capture from 71.4% to 89.6%, with raw result quality and website lookup for all four APIsAdding Keenable to Google plus TinyFish took capture from 71.4% to 89.6%, with raw result quality and website lookup for all four APIs

We pull new startup funding announcements every morning, and they feed our funding-signal outbound, so a round our search misses is a company we never email.

DeepSeek opened its Search API on Oct 17, 2026, so we tested it against what we run today (Google and TinyFish) and against Keenable, a search API we had never tried. We replayed the week of Oct 11 to 17, 2026 with the same 48 queries on all four, graded every candidate round, and measured two things: how many of the week's real rounds each API catches, and how much of what it returns is right before any model looks at it.

The short answer

Against the 318 real equity rounds we confirmed for the week (139 of them Series A, B or C), Google caught 68.9% on its own, Keenable 60.4%, TinyFish 52.8% and DeepSeek 26.1%.

Google plus TinyFish, which is our production setup today, caught 71.4% of all rounds and 69.1% of Series A, B and C. Adding Keenable as a third source took that to 89.6% and 83.5%, which is 58 more rounds (20 of them Series A, B or C) for about $0.24 a day at list price. Adding DeepSeek instead got us to 78.0% and 78.4%, or 21 more rounds (13 Series A, B or C).

All four together caught 94.7% of all rounds and 89.9% of Series A, B and C.

On the second question, whether results are right with no model reviewing them, the answer depends on what you count. DeepSeek's raw results are the ones you can read as they come: 56.0% of everything it sends back is an article about a real round from that week. Only 17.3% of Keenable's raw results are on target, but once you run a simple headline filter, 70.0% of Keenable's "Company raises X" headlines are a real in-week round by that company.

GoogleTinyFishDeepSeekKeenable
Caught, all 318 rounds68.9%52.8%26.1%60.4%
Caught, 139 Series A/B/C65.5%59.7%41.0%59.0%
Rounds no other API headlined3861653
Raw results that are a real in-week round26.7%22.0%56.0%17.3%
Headline announcements that are a real in-week round48.7%57.3%66.7%70.0%
Right website anywhere in results (200 companies)83.0%81.0%49.0%83.5%
Cost per day$0.0072$0$0.0302$0.24 list
On top of Google plus TinyFish, Keenable added 58 rounds and DeepSeek added 21On top of Google plus TinyFish, Keenable added 58 rounds and DeepSeek added 21
Rounds only one API headlined: Keenable 53, Google 38, DeepSeek 16, TinyFish 6Rounds only one API headlined: Keenable 53, Google 38, DeepSeek 16, TinyFish 6

Which source to use, and when

Here's how we'd route it.

If you run one source, run Google. It caught 219 of the 318 rounds, costs under a cent a day at our volume, and finished the 48 queries in 14.6 seconds a day.

If you add a second source, add Keenable. Google plus Keenable caught 87.4% of all rounds and 79.9% of Series A, B and C, against 75.8% and 75.5% for Google plus DeepSeek and 71.4% and 69.1% for Google plus TinyFish. Keenable headlined 53 rounds nobody else did, 16 of them Series A, B or C, and per day it found 34.9 announcing companies no other API had, close to Google's 33.9.

If you run three, Google plus DeepSeek plus Keenable caught 92.8% and 87.1%, a bit ahead of Google plus TinyFish plus Keenable at 89.6% and 83.5%. That combo cost $0.2774 a day. TinyFish alone headlined 6 rounds no other API found, and it took 294.2 seconds a day because it pages through results on the free tier.

If you need results you can use without a model checking them, pick by stage of the pipeline. DeepSeek is the one to read raw, at 56.0% on target. Keenable is the one to read after a headline filter, at 70.0%, and we would never feed its raw results anywhere without that filter in front.

If your problem is old news, look at the date filter. Most of the wrong headline announcements from Google (48 of 150) and TinyFish (42 of 150) were rounds first announced days earlier that still came back inside a one-day window. DeepSeek and Keenable both have strict date filters, and old news was 26 of 150 for each.

If you're looking up a company's website, Keenable, Google and TinyFish all find the right site for 81.0% to 83.5% of companies when you take every result they give you, and Google and TinyFish both put it first 62.5% of the time. Adding Keenable to Google took that from 83.0% to 89.5%, which beats the 85.5% we get from Google plus TinyFish today, while DeepSeek is a weak pick for this job at 49.0% anywhere and 39.5% at rank 1.

The exact query tricks

Query tricks: OR splitting 2.4 to 2.7x, Keenable site splitting 3.1x, DeepSeek Beijing-midnight date windowQuery tricks: OR splitting 2.4 to 2.7x, Keenable site splitting 3.1x, DeepSeek Beijing-midnight date window

Every API got the same 48 queries, 16 per round type, once a day for each day of the week. D is the search day. The queries come from our production jobs, which today run Google and TinyFish side by side on about 50 queries plus a list of learned sites every morning at 7:00 to 7:10 AM ET.

How each API was called

APIHow we called itDate windowResults per callOR handlingCalls a day
Googlegoogle-search74 on RapidAPI, GET with the query and a limitafter:D before:D+1 in the query100 on Series A queries, 50 on B and Csent as written48
TinyFishGET api.search.tinyfish.ai, location US, language en, 10 a pageafter:D before:D+1 in the queryup to 40 (4 pages)sent as written48 queries, up to 192 page calls
DeepSeekPOST /v1/tools/search with a Bearer key, count 50, ori_question set per round typeafter:D before:D in the query50one call per OR term85
KeenablePOST https://api.keenable.ai/v1/search over plain REST with an X-API-Key header, mode: propublished_after: D and published_before: Dmax_results 50one call per site on multi-site OR, keyword OR sent as written60

We called Keenable straight over its REST API rather than through its MCP server or CLI. Our Google, TinyFish and DeepSeek client retried 408, 429 and 5xx responses and stopped on a 402, the Keenable client retried 429, 529 and 5xx using the Retry-After header with 0.12 seconds between calls to stay under its limit, and every key came from the environment and never went into a log.

Google and TinyFish: the date goes in the query

Google and TinyFish get the window written into the query string, and both parse OR as written:

"Series A" raises OR raised OR funding OR round million after:D before:D+1
"Series A" site:businesswire.com OR site:prnewswire.com OR site:einpresswire.com after:D before:D+1
site:techfundingnews.com "Series A" after:D before:D+1

Google got up to 100 results on Series A queries and 50 on Series B and C. TinyFish got up to 40, which is 4 pages of 10.

DeepSeek: same-day window and split every OR

DeepSeek stamps every date at 16:00:00 UTC, which is midnight in Beijing. That means after:D before:D+1, the form we use for Google, returns two days of results. after:D before:D returns exactly the true day D, and that held for 3,016 of 3,016 results in our week.

DeepSeek treats OR as a union, but it caps every call at 50 results, and those 50 bunch up on one or two of the terms. Splitting each OR query into one call per term returned 2.4 to 2.7 times more unique URLs. So this query:

"Series A" raises OR raised OR funding OR round million

goes out as four calls, each with after:D before:D added:

"Series A" raises million
"Series A" raised million
"Series A" funding million
"Series A" round million

That's why DeepSeek ran 85 calls a day against 48 for Google.

A few DeepSeek settings made no measurable difference for us. Setting ori_question didn't change the lookup results, and adding lang:en gave 31.0 vs 31.5 announcements a day over two days. Don't filter on rerank_score: keeping only scores of 1.5 and up dropped 97% of results and cut announcements from 25.7 to 3.3 a day.

Keenable: published dates, split the sites, leave the keywords

Keenable has date parameters, so the window goes in the request body:

published_after: D
published_before: D
max_results: 50
mode: pro

A date-only value covers the whole UTC day, 00:00 to 23:59:59.999, so D for both bounds is a true one-day window with no midnight trick like DeepSeek's. All 50 of 50 probe results were in-day, and over the week, 9,850 of 10,009 results (98.4%) carried a published_at on the window day. With no date filter, only 3 of 50 probe results were from the day, and the acquired_* crawl-date window returned 43 results with 24 of them in-day, so stick with published_*.

Keenable doesn't document query operators, but they partly work. OR between keywords comes back as a union, and site: inside the query matched the site parameter on 29 of 30 results.

Split the multi-site OR queries. One call per site gave 3.1 times more unique URLs on the probe (116 vs 37), so this:

"Series A" site:businesswire.com OR site:prnewswire.com OR site:einpresswire.com

goes out as three calls:

"Series A" site:businesswire.com
"Series A" site:prnewswire.com
"Series A" site:einpresswire.com

Keyword OR we sent as written. On the probe, splitting a keyword OR query gave 1.5 times more URLs (75 vs 50, with 46 in common), but when we tested splitting those too on Oct 14 and 15, it took announcements from 85.5 to 88.0 a day, left Series A, B and C flat at 22.5, and raised calls from 60 to 85 a day, which is $0.34 instead of $0.24 a day for 2.5 more announcements a day and no extra Series A, B or C.

Quotes are loose on Keenable. The quoted phrase showed up in 28 of 50 results with quotes and 15 of 50 without, and that looseness plus the press-wire site splits is where most of its off-topic raw results come from.

max_results tops out at 50, so Google got twice as many results on the Series A queries, but Keenable still returned the most raw results a day (1,429.9 against Google's 1,192.3) because of the site split.

realtime mode returned the same 50 URLs as pro on one probe query, in 0.22s vs 1.06s, and it's billed as its own SKU.

The headline filter

Every API's results went through the same headline rule we used in our earlier benchmark: a title shaped like <Company> raises/secures/closes ... <money or round>, deduplicated by company within each day. That rule is what turns Keenable's 17.3% raw results into 70.0% usable headlines.

Website lookup

One query per company, no date filter, and each API asked for as many results as it gives in one call (Google 100, DeepSeek 50, Keenable 50) or, for TinyFish, 4 pages of 10:

<company> official website

DeepSeek also got ori_question set to "What is the official website of X?", and Keenable ran in pro mode with no date. We kept every result each API returned, so we could score the same run at the first 5, 10, 20 and 40 results as well as all of them.

The 200 companies are Series A companies our production pipeline discovered from April to October 2026, 29 a month for April to September and 26 for October, drawn at random with seed 20261018, the same way we drew the list for our earlier benchmark. The right answer for each one is the website our pipeline stored for it. Before sampling we dropped any company whose stored site was a directory, social or news site (LinkedIn, Crunchbase, PitchBook, Wikipedia, Facebook, X, press wires, TechCrunch, FinSMEs, TheSaaSNews, Pulse 2.0, Axios, Medium, Substack or Google) or the same site as the article the round came from.

Each result URL is cut down to its host name, lowercased with the scheme, path, port and a leading www. removed, and it counts as the right site if that host is the stored domain or a subdomain of it, so app.acme.com counts for acme.com while acme.co doesn't, and neither does acme.com when the stored domain is app.acme.com.

How the method got fairer

Method: 48 queries, four APIs, Oct 11 to 17 2026, 915 graded candidates, 318 real equity roundsMethod: 48 queries, four APIs, Oct 11 to 17 2026, 915 graded candidates, 318 real equity rounds

Our first run of this test was unfair to DeepSeek, and we spent most of the day since then fixing that.

We started the morning of Oct 18 by replaying the week from our earlier public benchmark, Sep 29 to Oct 5, with the exact query text we used for Google: OR queries as written and after:D before:D+1.

We found two problems. When we ran three of the OR queries without a date and compared them with their split parts, DeepSeek was treating OR as a union, with almost no literal "OR" in the titles, but the 50-result cap meant the results bunched up on one or two terms. The three-site press wire query came back almost all Business Wire, with nothing from PR Newswire, even though PR Newswire on its own returned plenty. That's where OR splitting came from.

The second problem was dates. Every date value DeepSeek returned ended in T16:00:00Z, and when we spot-checked article pages, each page's own publish time was that value plus 8 hours. So DeepSeek stamps dates at Beijing midnight, the window we'd been sending covered two true days, and some companies showed up on two days in a row. That's where after:D before:D came from.

We also tried running DeepSeek with no date filter and filtering dates on our side, and with only an after: date. Both did worse, and the reason was the replay itself: two weeks after the fact, an undated search fills up with newer pages and old pages, so few land on the target day. That wouldn't happen in a live morning run, so we stopped replaying an old week and switched to last week, Oct 11 to 17, with each API set up the way its docs and our tests said it should be.

Next we read DeepSeek's docs line by line and tested the settings that could matter, which is where the ori_question, lang:en and rerank_score findings above come from.

Counting headlines a day doesn't tell you whether they're real rounds, so next we built a graded answer key for the week and measured precision on raw output with no model cleaning it. Then we added Keenable, read its whole documentation before running anything, and probed the behaviors that matter on one day (Oct 14, 17 calls) before running the week.

For the domain test we drew 200 Series A companies our pipeline found from April to October 2026, 29 a month for April to September and 26 for October, random with a fixed seed. We first ran it at 5 results per API, then at the end of the day we reran all 200 with every API at its maximum results, which is the run this post reports.

How we built the answer key

Candidates came from every company any of the four APIs named in a headline announcement on Oct 11 to 17, plus every row our production pipeline logged for Oct 11 to 18 (254 rows). We cleaned each name by lowercasing it and stripping legal suffixes and filler words, dropped junk keys like "has" and "startups", and merged on the exact cleaned name, which gave 915 candidates: 755 from Google, TinyFish, DeepSeek and the pipeline, and 160 new ones only Keenable headlined. Another 220 existing candidates were also headlined by Keenable, and they kept the grades they already had.

An LLM grader graded each candidate. It was Codex CLI 0.159.0 running gpt-6-luna in a read-only sandbox at default reasoning settings, in batches of 20 candidates or 25 sample items with up to 3 attempts per batch, and we saved every prompt verbatim. For each candidate it saw the cleaned name and its variants, up to 3 headlines per API with the search day, title, URL, the first 200 characters of the snippet and the publish date when the API gave one (only DeepSeek and Keenable do), plus any rows our pipeline logged for that company with round type, discovered date, funding date and source URL. Web search was allowed and required whenever the evidence had no date, and the grader reported for each item whether it used the web. It decided whether it was an equity round, where equity means pre-seed, seed, Series A and later, growth or extension equity, strategic equity, and SAFE or convertible equity raises, and where debt, venture debt, credit lines, loans, grants, awards, acquisitions, IPOs and public share sales, VC fund closes, crowdfunding, valuation-only news and revenue news all count as not equity. It also decided the stage and whether the round was first announced Oct 10 to 18, which gives one day of timezone slack on each side of the week. The grader was told that the search day is not evidence of a publish date, because the date filters are part of what we're testing. It returned a category, a canonical company name, a stage, in week as yes, no or unsure, and a short reason, and we counted only items marked as an equity round with in week yes.

We kept equity rounds announced in the week and merged them again by the grader's canonical company name, lowercased with possessives, .com, .io and .ai endings, legal suffixes and words like AI, Labs and Technologies removed. Each merged group is one round, and its stage is Series A, B or C if any member says so and the most common stage otherwise. That left 318 real equity rounds: Series A 73, Series B 46, Series C 20, seed 67, pre-seed 26, other or undisclosed 74, and Series D and later 12.

Of the 160 new Keenable candidates, 81 were in-week equity rounds, and after merging they added 50 rounds nobody else had (16 Series A, B or C). The rest were old news (28), rounds dated outside the week (7), debt (17), VC fund closes (10), not funding (7), IPOs (4), listicles (3), grants (2) and 1 unclear.

An API catches a round if it produced a headline announcement for that company during the week. Named anywhere is looser, and it means the grader's company name shows up as a whole word in any title or snippet that API returned during the week.

We hand-checked 30 grader labels from the first three APIs against the source pages, 10 raw results, 10 headline announcements and 10 candidate rounds, and 29 agreed, with the one miss being a round that mixed equity and debt that the grader called clean equity. For Keenable we read 20 more labels against their headlines and the grader's reasons, and all 20 followed the rules.

Daily volume

All four together produced 159.1 headline announcements a day once you take out the overlap.

GoogleTinyFishDeepSeekKeenable
Headline announcements a day105.473.325.767.4
Series A, B or C named in the headline, a day43.331.416.319.9
Announcements no other API found, a day33.96.69.034.9
Share of the four-API daily pool66%46%16%42%
Pipeline company-days named (of 168)118 (70%)98 (58%)45 (27%)80 (48%)
Raw results a day1,192.3642.4263.61,429.9

Capture, every combination

ProvidersAll equity rounds (318)Series A/B/C (139)Named anywhere, allNamed anywhere, A/B/C
Google219 (68.9%)91 (65.5%)82.4%81.3%
TinyFish168 (52.8%)83 (59.7%)69.5%74.1%
DeepSeek83 (26.1%)57 (41.0%)40.3%56.8%
Keenable192 (60.4%)82 (59.0%)69.8%67.6%
Google + TinyFish (production today)227 (71.4%)96 (69.1%)84.6%84.2%
Google + DeepSeek241 (75.8%)105 (75.5%)87.4%87.8%
Google + Keenable278 (87.4%)111 (79.9%)91.8%87.1%
TinyFish + DeepSeek195 (61.3%)98 (70.5%)77.0%84.2%
TinyFish + Keenable246 (77.4%)108 (77.7%)84.0%82.0%
DeepSeek + Keenable217 (68.2%)96 (69.1%)76.1%75.5%
Google + TinyFish + DeepSeek248 (78.0%)109 (78.4%)89.0%89.9%
Google + TinyFish + Keenable285 (89.6%)116 (83.5%)93.1%88.5%
Google + DeepSeek + Keenable295 (92.8%)121 (87.1%)95.0%90.6%
TinyFish + DeepSeek + Keenable263 (82.7%)117 (84.2%)88.1%87.8%
All four301 (94.7%)125 (89.9%)95.9%92.1%
Our pipeline's logged rows (reference)121 (38.1%)73 (52.5%)

The pipeline row is there as a reference, since the pipeline drops companies it has seen in the last 7 days and runs extra queries of its own.

17 rounds (14 of them Series A, B or C) came only from our pipeline's own rows, which run extra queries, so none of the four APIs headlined them in this 48-query replay. Keenable picked up 3 rounds that before this run only the pipeline had.

Rounds only one API headlined: Google 38 (8 Series A, B or C), TinyFish 6 (4), DeepSeek 16 (9) and Keenable 53 (16).

DeepSeek's capture is low overall but better on Series A, B and C (41.0%) than on all rounds (26.1%). Keenable names Series A, B or C in its headlines less often than Google (19.9 a day vs 43.3), yet it caught 82 Series A, B and C rounds against 83 for TinyFish.

Precision with no model cleaning

We measured two levels, 150 items per API per level, sampled by day in proportion to volume with seed 20261018 so the sample weights itself. The intervals are 95% Wilson intervals.

Level (a) is raw results: of everything the API returned, deduplicated by URL within each day (4,306 results for Keenable), the share that is an article, press release or single-company post about a real in-week equity round. Roundups, listicles, homepages and profile pages count as wrong even when they mention a real round.

Level (b) is headline announcements: of the headlines that pass the filter (502 for Keenable), the share that is a real in-week equity round raised by the company the filter named. The name match is loose, so either cleaned name can contain the other and "france carbonfarm" counts for CarbonFarm, while the strict column only counts items where the grader itself said the filter named the right company.

LevelProviderCorrectPrecision95% CISeries A/B/C onlyStrict name
(a) raw resultsGoogle40/15026.7%20.2 to 34.3%18.0%26.7%
(a) raw resultsTinyFish33/15022.0%16.1 to 29.3%16.7%22.0%
(a) raw resultsDeepSeek84/15056.0%48.0 to 63.7%43.3%56.0%
(a) raw resultsKeenable26/15017.3%12.1 to 24.2%8.0%17.3%
(b) headline announcementsGoogle73/15048.7%40.8 to 56.6%26.7%42.7%
(b) headline announcementsTinyFish86/15057.3%49.3 to 65.0%38.7%54.0%
(b) headline announcementsDeepSeek100/15066.7%58.8 to 73.7%50.0%63.3%
(b) headline announcementsKeenable105/15070.0%62.2 to 76.8%28.7%66.0%
Share of results that are a real round, straight from the API and after a headline filter, by APIShare of results that are a real round, straight from the API and after a headline filter, by API

60 of Keenable's 150 sampled raw results weren't about funding at all. They were earnings notices, product launches and litigation releases, mostly from press wires. After that came old news (17), acquisitions (10), homepages and listing pages (9), listicles (7), debt (5), fund closes (4) and IPOs (4). Its wrong headlines were mostly old news (26 of 150) and debt (6), with 3 each of listicles, fund closes and wrong-company names.

DeepSeek's wrong raw results were spread out: listicles 14, not funding 14 and old news 13.

Company website lookup

The second job is finding a company's website from its name. An AI step picks the site from whatever the search returns, so what matters most is whether the right site is anywhere in the results, and we asked each API for as many results as it would give.

ProviderResults asked (median returned)Right site anywhereIn first 5In first 10In first 20At rank 1Median latency
Keenable50 (50)167 (83.5%)155 (77.5%)162 (81.0%)165 (82.5%)115 (57.5%)0.30s
Google100 (97)166 (83.0%)147 (73.5%)153 (76.5%)156 (78.0%)125 (62.5%)1.15s
TinyFish40 (39)162 (81.0%)145 (72.5%)151 (75.5%)158 (79.0%)125 (62.5%)6.94s for 4 pages
DeepSeek50 (50)98 (49.0%)89 (44.5%)91 (45.5%)92 (46.0%)79 (39.5%)0.82s

What depth buys

Going from the first 5 results to everything an API returns added 19 companies on Google, 17 on TinyFish, 12 on Keenable and 9 on DeepSeek. Most of that gain lands inside the first 20 results, since the right site showed up only below rank 20 for 10 companies on Google, 6 on DeepSeek, 4 on TinyFish and 2 on Keenable, and Google's results past rank 40 added 4 more. When an API did find the right site, its median rank was 1 for all four.

Comparing at the same depth, first 5, first 10 or first 20, Keenable is ahead at every one of them, while Google and TinyFish tie for the most right sites at rank 1 with 125 each.

Pairing APIs did more than depth did. Google plus TinyFish, our setup today, found the right site for 171 companies (85.5%), Google plus Keenable found it for 179 (89.5%), which is 6 to 6.5 points above either one alone, and adding TinyFish and DeepSeek on top of that pair added just 2 more companies for 181 (90.5%).

ProvidersRight site anywhereIn first 5In first 10In first 20In first 40
Google + TinyFish (production today)171 (85.5%)148 (74.0%)154 (77.0%)162 (81.0%)168 (84.0%)
Google + Keenable179 (89.5%)164 (82.0%)166 (83.0%)170 (85.0%)175 (87.5%)
Google + TinyFish + Keenable179 (89.5%)164 (82.0%)166 (83.0%)171 (85.5%)176 (88.0%)
All four181 (90.5%)164 (82.0%)167 (83.5%)172 (86.0%)178 (89.0%)
Right site anywhere and at rank 1 by API, plus combinationsRight site anywhere and at rank 1 by API, plus combinations

A result counts only if its host is exactly the company's stored domain or a subdomain of it. No redirects are followed, a different top-level domain is wrong, and LinkedIn, Instagram, Crunchbase and news pages are wrong even when they're about the right company. Third-party pages showed up at rank 1 for Google 6, TinyFish 6, Keenable 12 and DeepSeek 12 of the 200.

The 200 lookups cost $0.03 on Google, $0.15 on DeepSeek and $0.80 on Keenable at list price, and TinyFish was free but took about 26 minutes because it pages one request at a time, against 25 seconds for Keenable with 6 workers and about 85 seconds each for Google and DeepSeek with 4. All 800 calls came back with no errors, and DeepSeek returned nothing for 1 company.

Cost and speed

GoogleTinyFishDeepSeekKeenable
Price basis$30 per 200k requests (our RapidAPI plan)free, 30 requests a minute$0.75 per 1k non-empty responses$4 per 1k requests in prepaid credits; 100k requests a month free
Calls in the week (empty)336 (49)336 (78)595 (313)420 (73)
Cost per day$0.0072$0$0.0302$0.24 at list price
Wall time per day14.6s (4 workers)294.2s (1 worker, paging)29.3s (4 workers)24.0s (6 workers; median day 13.7s)
Cost a day added to Google + TinyFish$0.0374 total$0.2472 total
Median call latency0.91s3.35s0.69s0.99s

DeepSeek bills only non-empty responses, so its 313 empty calls cost nothing.

73 of Keenable's 420 week calls (17%) came back empty, 40 of them on the weekend days of Oct 11 and 17.

Keenable at 60 calls a day is about 1,800 requests a month, well inside the 100,000 free requests. It reports per-call credit use, and whether a call came out of the free allowance, only to MCP clients, so over REST we counted calls ourselves. We counted every call at list price anyway, and across the probe, the week, the OR split test and both website lookup runs, that was 909 calls and $3.636.

Keenable's rate limit is 10 requests a second per organization. We ran 6 workers with a short pause and retried 429, 529 and 5xx using the Retry-After header, and all 909 calls succeeded. On Oct 15 six calls took about 69 seconds each before they came back, which is why that day's wall time was 85.5 seconds against 10.7 to 16.9 seconds on the other days.

Spend and timeline

Everything ran on Oct 18, 2026. The Google, TinyFish and DeepSeek week and the first website lookup ran from about 10:45 to 11:28 AM ET, the Keenable probe, week and 5-result lookup were done by 1:49 PM with Keenable grading finished at 1:51 PM, and the full-depth website run went from 5:37 to 6:03 PM.

ItemCallsCost at list price
Google, TinyFish and DeepSeek week and first lookupDeepSeek $1.02, Google $0.14
Grading for the first three APIs74 Codex runs$0 in search
Keenable probe 17, week 420, keyword split test 72, 5-result lookup 200709$2.836
Keenable grading20 Codex runs$0 in search
Full-depth website run, 200 companies on each API800 pages, 600 billable$0.9792 (Google $0.03, DeepSeek $0.1492, Keenable $0.80)

Keenable came to 909 calls and $3.636 at list price across the whole test.

What we'd change

We'd add Keenable as the third source next to Google and TinyFish, with published_after and published_before both set to the day, max_results 50, and multi-site OR queries split one site per call. The headline filter stays in front of it. For website lookup we'd add Keenable next to Google too, since that pair found the right site for 89.5% of companies against 85.5% for what we run now.

Next we want to run realtime mode over a full week, since it returned the same results as pro in a fraction of the time, and we'd also like to try splitting keyword OR on Keenable over a full week along with plain-English queries, which worked best for Exa in our earlier benchmark.

Ready to put these ideas to work? Explore Legion and build your marketing agents.

Bring the GTM job you need done. Build the run you can check.

Get one useful GTM email a week. Then join the community on Skool.