Web Search & Page Markdown for AI Agents
Pricing
Pay per event
Web Search & Page Markdown for AI Agents
Web search plus each result page, or your own URLs, as clean markdown in one call. For AI agents and RAG, payable per request via x402. Charged per search with results and per page delivered; failed pages are free. Each search also runs an Apify search actor, billed by Apify to your account.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Frameskim Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Give it a question, get back the top web pages already turned into clean markdown, ranked as the search engine ranked them. Built for AI agents, RAG pipelines and assistants that need to read the web in one call and pay per request.
- Search one or many queries and read the top 1 to 10 result pages of each as markdown.
- Turn your own list of URLs into markdown, no search needed.
- Main content only: menus, footers and cookie banners are left out; headings, lists, tables and links stay.
- Frameskim charges only per search with results and per page delivered; failed, blocked or empty pages are free. Each search also runs Apify's Google Search Results Scraper, billed by Apify to your account.
- Payable by AI agents per request: pay-per-event only, limited permissions, no Standby.
What you get
One dataset item per result page or URL:
{"source": "search","query": "how does robots.txt work","rank": 1,"url": "https://www.rfc-editor.org/rfc/rfc9309.html","title": "RFC 9309: Robots Exclusion Protocol","markdown": "# Robots Exclusion Protocol\n\n...","truncated": false}
sourceissearchfor a search result andurlfor a page you listed.rankis the position in the results (1 is the first);queryandrankarenullfor listed URLs.truncatedistruewhen the page passed 3 MB or the markdown passed 200,000 characters and was cut.- A page that could not be delivered has
errorinstead ofmarkdown, with the reason, and is not charged.
Input
| Field | What it does |
|---|---|
queries | Up to 20 queries per run. |
query | One query as plain text, handy for agents; runs first. |
maxResults | Pages to read per query, 1 to 10 (default 5). |
urls | Up to 50 pages to convert without searching. |
Example for the API or an agent: {"query": "markdown table syntax", "maxResults": 3}.
Pricing
This actor bills per event, nothing else (each search also runs an Apify actor that Apify bills apart, see below):
search: one per query that returned results.page: one per page delivered as markdown.
A query that fails or finds nothing, and every page that fails, is blocked by its site or has no readable text, is not charged. A query with at least one result is charged even if none of its pages can be delivered, and what was delivered stays charged if the run later stops or fails. The run never charges more than the maximum you set; what does not fit comes back as an item that says so. Current prices are on the Pricing tab.
The search itself
Each query runs Apify's Google Search Results Scraper (apify/google-search-scraper) once, on your own Apify account, for one page of results. Apify bills that run to you apart, at that actor's prices (one search-page-scraped event at your plan's rate and one actor start), also when the query finds nothing. The run asks for one page with every paid add-on off (no ads, no AI overview, no AI engines, no HTML snapshots) and caps its time and charge. Apify does not count it in the maximum you set for this run, so this run takes what each search may cost off that maximum before it starts the next query. The search run, its input and its results stay in your account like any other run.
How pages are read
- Pages are fetched over HTTP with the user agent
FrameskimFetch. JavaScript is not run, so pages that only render in a browser may come back without text (and are not charged). robots.txtis respected forFrameskimFetchand for*, for the page and again on every redirect, with therobots.txtof the host it lands on. If a site'srobots.txtcannot be read because of a server error or timeout, its pages are skipped.- Each page gets 10 seconds, at most 5 redirects and 3 MB.
- Pages go through Apify's datacenter proxy, and a run without it stops instead of connecting directly. Before the page and each redirect, the addresses its host name resolves to are checked and private or local network addresses are refused. The proxy resolves the name again on its side, so through the proxy this check is best-effort, not a guarantee.
Limits
- One results page per query, so at most 10 results per query; results come from the United States edition of Google.
- No crawling: only the result pages and the URLs you list.
- The search interface runs in English; which results come back is up to the search engine.
Site owners
To keep your pages out, disallow FrameskimFetch in your robots.txt. Each run reads a host's robots.txt once, so a run already in progress may not see the change; runs that start after it read the new file. Rights holders and people whose personal data appears in a page can also write to support@frameskim.dev. Neither a robots.txt rule nor a request removes pages from datasets that users already hold.
Terms and privacy
Web Search & Page Markdown for AI Agents is operated by Emttn LLC and is not affiliated with, endorsed by or sponsored by any search engine or by the sites it reads. You need a lawful basis to request, fetch and use each page, and you are responsible for following Google's terms, each site's terms, copyright and privacy law; a public page or a robots.txt allow is not a license to its content. The markdown is an automatic extraction and may be incomplete or inaccurate. Terms: https://frameskim.dev/terms. Privacy: https://frameskim.dev/privacy. Questions: support@frameskim.dev.