Web Search & Page Markdown for AI Agents avatar

Web Search & Page Markdown for AI Agents

Pricing

Pay per event

Go to Apify Store
Web Search & Page Markdown for AI Agents

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

Frameskim Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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
}
  • source is search for a search result and url for a page you listed.
  • rank is the position in the results (1 is the first); query and rank are null for listed URLs.
  • truncated is true when the page passed 3 MB or the markdown passed 200,000 characters and was cut.
  • A page that could not be delivered has error instead of markdown, with the reason, and is not charged.

Input

FieldWhat it does
queriesUp to 20 queries per run.
queryOne query as plain text, handy for agents; runs first.
maxResultsPages to read per query, 1 to 10 (default 5).
urlsUp 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.txt is respected for FrameskimFetch and for *, for the page and again on every redirect, with the robots.txt of the host it lands on. If a site's robots.txt cannot 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.