Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Keenable API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkeenable.ai%2Fkeenable" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fkeenable.ai%2Fkeenable" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Keenable API.
Search the web by query, restricted to one site and filtered by published_after, published_before, acquired_after, or acquired_before
Run a point-in-time search with query_time so pages newer than that moment are excluded
Return up to 50 results per search with snippet_max_length between 180 and 10000 characters
Fetch a URL as clean Markdown, capped with max_chars and optionally refreshed with live set to true
GET STARTED
Pass a prompt to fetch so an LLM returns only the requested extraction, such as pricing tiers, instead of the whole page
Pay per request with an x402 PAYMENT-SIGNATURE in place of an API key on the x402 search and fetch endpoints
Patterns agents use Keenable API for, with concrete tasks.
★ Live Web Grounding Through Jentic
An AI agent answering a question about recent events searches Keenable with a published_after filter, picks the strongest sources, and fetches each as Markdown before writing a cited answer. Through Jentic the agent discovers search and fetch by intent and calls them with your API key, which is injected at call time and never placed in the agent's context.
Search with query 'EU AI Act enforcement' and published_after '7d', fetch the top three result URLs with max_chars 20000, and summarise them with citations
Targeted Page Extraction
Rather than pulling a full page into context, an agent fetches a URL with a prompt such as 'List all pricing tiers with their monthly price' and receives only that extraction. This keeps context small when comparing many product pages.
Fetch a product pricing page URL with prompt 'List all pricing tiers with their monthly price' and return the result as a table
Point-in-Time Research
An analyst checking what was knowable on a past date runs a search with query_time set to that moment, which excludes every page newer than it. The spec notes query_time sets no lower bound, so it is not a recency filter: published_after is the field for recent results.
Search for 'company X layoffs' with query_time '2025-01-01' and site 'reuters.com' and list the results with their publish dates
Account-Free Pay-Per-Request Search
An agent without a Keenable account calls the x402 search or fetch endpoint. The unpaid request returns a 402 offer in the PAYMENT-REQUIRED header, the agent retries with a signed payment in PAYMENT-SIGNATURE, and the result arrives with a receipt in PAYMENT-RESPONSE. Failed requests are not charged.
Call POST /v1/x402/search with query 'open source vector databases', read the 402 offer, and retry with a signed PAYMENT-SIGNATURE header
5 endpoints — the keenable api searches the web and fetches pages as clean markdown for agents that need live sources.
METHOD
PATH
DESCRIPTION
/v1/search
Search the web
/v1/fetch
Fetch page content as Markdown
/v1/x402/search
Search the web, paid per request
/v1/x402/fetch
Fetch page content, paid per request
/v1/auth/user
Get API key identity
/v1/search
Search the web
/v1/fetch
Fetch page content as Markdown
/v1/x402/search
Search the web, paid per request
/v1/x402/fetch
Fetch page content, paid per request
/v1/auth/user
Get API key identity
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Keenable by hand means choosing between the X-API-Key header, a bearer JWT from its OAuth sign-in, or the x402 payment handshake, and learning which date filter does what. Through Jentic you install once, import the Keenable API from the API Directory, store the key once, and your agent calls it.
Permission scoping
Keenable carries the search query and the fetch URL in the request body or query string, so rules bound which operations your agent may call, such as search and fetch, not which sites it reaches. You choose the operations it may call, so the x402 paid endpoints are not included unless you add them.
Credential isolation
Your Keenable API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'search the web for recent news' or 'fetch a page as markdown', and Jentic returns the matching Keenable operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Keenable API through Jentic.
What authentication does the Keenable API use?
Per its OpenAPI spec, the Keenable API accepts an API key from the Keenable dashboard in the X-API-Key header, and POST /v1/search and GET /v1/fetch also accept a bearer JWT from Keenable's OAuth sign-in. The x402 endpoints need no account: they take an x402 signed payment in the PAYMENT-SIGNATURE header instead. Through Jentic your API key is stored encrypted by your own Jentic One instance and injected at call time.
Is there a Keenable MCP server?
You don't need an MCP server to give your agent Keenable. Jentic connects the API directly from the API Directory: import it, store your API key once, and your agent calls search and fetch, discovering them on demand instead of loading a server's tool definitions into its context.
Can I limit what my agent is allowed to do with the Keenable API?
Yes. Write a rule that allows only POST /v1/search and GET /v1/fetch on your API key, so the agent can research but cannot call the x402 paid endpoints or the identity lookup. Every call it makes is logged, giving you a record of each query and URL it touched.
How much does a Keenable x402 request cost?
Per the spec, the price is stated in the 402 offer returned to an unpaid request, $0.01 per request by default, paid in USDC. Failed requests are not charged, and the receipt comes back in the PAYMENT-RESPONSE header.
What is the difference between query_time and published_after in Keenable search?
query_time is an upper bound for point-in-time search: it shows the web as it stood at that moment and excludes newer pages, but sets no lower bound. published_after is the filter to use for recent results. Date filters accept YYYY-MM-DD, ISO 8601, or relative values like 7d.
What are the rate limits for the Keenable API?
The OpenAPI spec does not specify rate limits. Check the Keenable dashboard at https://keenable.ai for the limits on your plan.
How do I fetch a web page as Markdown with Keenable through Jentic?
Search Jentic for an intent like 'fetch a web page as markdown', import the Keenable API from the API Directory, and store your API key. Your agent calls GET /v1/fetch with the url, an optional max_chars cap, and an optional prompt to extract only what it needs. To run it on your own infrastructure, install Jentic One from its GitHub repo.
For Agents
Search the web with date and site filters or point-in-time query_time, and fetch any URL as clean Markdown with an optional extraction prompt. Pay with an API key or per request over x402.
Use for: Search the web for news about this company from the last 7 days, Find pages on docs.python.org about asyncio, Get the content of this article as Markdown, Extract the pricing tiers from this product page
Not supported: Does not crawl whole sites, host a search index for your own documents, or generate embeddings. Use for web search and single-page fetch and extraction only.
The Keenable API searches the web and fetches pages as clean Markdown for agents that need live sources. Search takes a query with filters for publish date, acquisition date, and a single site, returns up to 50 results with adjustable snippet length, and supports point-in-time search with query_time to see the web as it stood at a past moment. Fetch extracts a page's content up to a character limit, can request live content, and accepts an optional prompt so an LLM returns only the extracted answer instead of the full page. Both operations are also offered pay-per-request over x402 with no account needed.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>