ScreenshotNeo

BlogComparisons

Microlink vs ScreenshotOne for Full-Page Screenshots and PDFs

Compare Microlink and ScreenshotOne for full-page screenshots and PDFs, with documented options, runnable requests, tradeoffs, and a practical evaluation checklist.

By the ScreenshotNeo team4 October 202611 min read

Microlink and ScreenshotOne both provide APIs for capturing webpages as full-page screenshots and PDFs. The right choice depends on the output you need: a tall image, a conventional paginated PDF, or a single-page PDF that resembles the screen layout. Their documentation describes different controls, but the available evidence does not establish which service is faster, more reliable, or more faithful on the same page. Test representative URLs with your required settings before choosing.

ScreenshotNeo is another website screenshot API to consider first: it removes cookie and consent banners, newsletter popups, and chat widgets before capture, bills only clean shots, and its paid plans start at $5 for 3,000 shots.

1. Choose the output before choosing the API

What you need What it means What to check
Full-page screenshot One image spanning the page’s scrollable content. Scrolling behavior, lazy-loaded content, sticky elements, animations, output dimensions, and image format.
Single-page PDF A PDF with one tall sheet fitted to the webpage, often closer to a screenshot. Whether fitting makes text too small, whether backgrounds print, and whether screen styles are used.
Paginated PDF A conventional document split across pages. Paper size, margins, print styles, page ranges, and whether important content is clipped at page breaks.

These outputs are not interchangeable. A print-oriented PDF can apply print CSS and paginate content, while a one-page PDF may preserve a screen-like layout at the cost of making a long page difficult to read at normal zoom.

2. At a glance

Area Microlink ScreenshotOne
Full-page capture screenshot.fullPage: true captures the entire scrollable page. full_page=true enables full-page capture and scrolling by default; offers a default algorithm and by_sections.
PDF controls PDF options include paper format, margin, scale, and page ranges. Print media is the default; screen media can be selected. Documents PDF format, screen media, printed backgrounds, and fitting the document onto one page.
Delivery Generated assets are exposed through a hosted CDN URL and metadata; the API can also return a PDF directly. Use the response mode and integration documented for your account and endpoint.
Evaluation allowance in reviewed sources Its PDF guide states 25 free requests per day without an API key. Pricing page accessed 2026-10-03 lists 100 free screenshots per month.
Same-page benchmark No head-to-head quality, latency, or reliability benchmark is available in the research for this article.

Vendor defaults, allowances, and pricing can change. Check each provider’s current documentation and pricing before relying on these figures.

Full-page screenshot

Microlink’s screenshot guide accepts a target URL and a screenshot option. Set fullPage to true to capture the full scrollable page. The response includes a hosted screenshot asset and metadata such as type, dimensions, and file size. PNG/JPEG formats and element capture are documented in the SDK methods reference.

curl -G 'https://api.microlink.io' \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'screenshot.fullPage=true'

For production use, inspect the JSON response and consume the generated asset URL; do not assume the response itself is raw image bytes. Refer to the Microlink screenshot guide and SDK methods reference for current parameter syntax and response details.

PDF generation

A basic PDF request uses a URL and pdf=true. An options object can configure paper format, margins, scale, and page ranges. Microlink documents print media styles as the default; choose screen media when the on-screen appearance is the desired output. The result is exposed as a hosted CDN asset with metadata, and the API can also be configured to return the PDF directly.

curl -G 'https://api.microlink.io' \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'pdf=true'

For a customized PDF, use the current option names and accepted values in the Microlink PDF guide. Its guide documents paper format, margin, scale, page ranges, media type, direct PDF delivery, and disabling metadata extraction. For PDF-only requests, the guide describes disabling metadata extraction as usually the biggest speedup; this is vendor guidance, not a measured comparison.

Python and Node.js integration pattern

These examples call Microlink’s documented API endpoint and print the response so you can inspect its asset URL and metadata. Confirm the exact response schema and any options against the current guide before wiring the result into a download pipeline.

import requests

params = {
    "url": "https://example.com",
    "screenshot.fullPage": "true",
}
response = requests.get("https://api.microlink.io", params=params, timeout=90)
response.raise_for_status()
print(response.json())
const params = new URLSearchParams({
  url: 'https://example.com',
  'screenshot.fullPage': 'true',
});
const response = await fetch(`https://api.microlink.io?${params}`);
if (!response.ok) throw new Error(`Microlink request failed: ${response.status}`);
console.log(await response.json());

4. ScreenshotOne: full-page screenshot and PDF requests

Full-page screenshot

ScreenshotOne documents full_page=true. It turns on scrolling by default to help load lazy images. The documented algorithms include the default and by_sections, which captures sections and combines them into one image. ScreenshotOne says section capture can help with more complex pages, including pages with animations. It recommends experimenting with viewport size, algorithms, scrolling, reduced motion, and added wait time.

curl -G 'https://api.screenshotone.com/take' \
  --data-urlencode 'access_key=YOUR_ACCESS_KEY' \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'full_page=true' \
  -o page.png

Check the current ScreenshotOne options reference for output format and algorithm parameter names. Use an access key appropriate to your account; keep it out of client-side code if it grants usage against a billable account.

PDF that resembles a full-page screenshot

For a single tall PDF with screen-like styling, ScreenshotOne documents this combination:

curl -G 'https://api.screenshotone.com/take' \
  --data-urlencode 'access_key=YOUR_ACCESS_KEY' \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'format=pdf' \
  --data-urlencode 'media_type=screen' \
  --data-urlencode 'pdf_print_background=true' \
  --data-urlencode 'pdf_fit_one_page=true' \
  -o page.pdf

Printed backgrounds are off by default. pdf_fit_one_page is also off by default; enabling it attempts to fit the rendered website onto a single PDF page. That suits a screenshot-like artifact, not necessarily a document that should be readable as a standard multipage printout. See the options reference and full-page guide.

Python and Node.js examples

import requests

params = {
    "access_key": "YOUR_ACCESS_KEY",
    "url": "https://example.com",
    "full_page": "true",
}
response = requests.get("https://api.screenshotone.com/take", params=params, timeout=90)
response.raise_for_status()
with open("page.png", "wb") as output:
    output.write(response.content)
const params = new URLSearchParams({
  access_key: 'YOUR_ACCESS_KEY',
  url: 'https://example.com',
  full_page: 'true',
});
const response = await fetch(`https://api.screenshotone.com/take?${params}`);
if (!response.ok) throw new Error(`ScreenshotOne request failed: ${response.status}`);
const bytes = new Uint8Array(await response.arrayBuffer());
await import('node:fs/promises').then(fs => fs.writeFile('page.png', bytes));

For PDF, replace the full-page option with the PDF parameters above and save the response as page.pdf. Verify that the returned content is the expected file type before storing it. See the options reference for the current endpoint and supported settings.

5. Compare the controls that affect real pages

Loading, scrolling, and lazy content

A full-page flag does not guarantee every lazy image, infinite-scroll feed, or script-generated section will appear. Scrolling can trigger content loading, but the page may need additional time after each scroll or a site-specific wait condition. Use a stable representative URL and inspect the bottom of the result, not just the first viewport.

ScreenshotOne explicitly enables scrolling by default with full-page capture and exposes algorithm and wait tuning. Microlink’s cited screenshot guide documents full-page capture, but the sources reviewed here do not establish a directly equivalent set of scrolling algorithm controls. Confirm the latest Microlink options if those controls are a requirement.

PDF page behavior

  • For a readable print document, start with normal pagination, print styles, suitable paper dimensions, and margins.
  • For a screen-like archive, compare screen media and background printing, then decide whether one tall sheet is acceptable.
  • Check page ranges when only selected pages belong in the result.
  • Inspect headers, footers, fixed-position elements, and page breaks; sites may style print output differently from the browser view.

Hosted assets versus direct file handling

Microlink documents hosted CDN assets and metadata, and says the PDF can also be returned directly when configured. That affects your storage and delivery path: a hosted URL is easy to pass through a pipeline, while a direct file response can be saved by your service immediately. Check URL lifetime and caching requirements in the current plan and docs before treating a hosted asset as permanent storage.

6. Run a fair evaluation on your URLs

  1. Choose 5–10 representative pages: short and long articles, pages with lazy-loaded images, sticky navigation, animation, and any authenticated or region-specific content your workflow requires.
  2. Write down the desired artifact for each: full-page image, one-page PDF, or paginated PDF.
  3. Keep viewport dimensions, URL, and wait conditions equivalent where the providers allow them.
  4. Capture each URL more than once. Check whether output changes due to animation, rotating content, or late network requests.
  5. Inspect dimensions, missing sections, image quality, PDF page count, text legibility, backgrounds, and file size.
  6. Record request outcome, latency, and billed unit from your own runs. The research for this article contains no same-page benchmark.
  7. Price the projected monthly volume using each provider’s current plan, quota, overage rules, and required features.

ScreenshotOne’s own full-page guide cautions that “Rendering full-page screenshots reliably is a real challenge. And even after a lot of tuning, it might not work for all the pages.” Treat this as a vendor warning about rendering complexity, not evidence that one provider outperforms the other.

7. Pricing and usage notes

Microlink’s PDF guide states that the API works without an API key and includes 25 free requests per day. It also describes production-plan features such as configurable TTL, stale-while-revalidate caching, custom filenames, custom headers, and proxy. The reviewed passage does not give current plan prices.

ScreenshotOne’s pricing page accessed 2026-10-03 listed 100 free screenshots per month, then Basic at $17/month for 2,000, Growth at $79/month for 10,000, and Scale at $259/month for 50,000. Displayed overage rates were $0.009, $0.006, and $0.004 per extra screenshot, respectively. The page said only successful requests are billed, prices exclude VAT, and extra usage is opt-in with a monthly hard limit. Its credit guide says that currently screenshots, scrolling screenshots, PDFs, and videos each cost one credit, and unused monthly credits do not roll over. These terms can change; confirm the live [pricing page](https://screenshotone.com/pricing/) and [credits guide](https://screenshotone.com/docs/credits/) before budgeting.

Do not compare value from headline quotas alone. Normalize the number of successful outputs, included features, extra-use policy, and your needed delivery mode. Microlink’s daily free allowance and ScreenshotOne’s monthly allowance are different units.

8. Reliability, performance, and cost controls

  • Keep waits purposeful. Waiting longer can help slow scripts and late images, but increases end-to-end time. Prefer a condition tied to the content you need when the service supports one.
  • Reduce unnecessary work. Microlink says disabling metadata extraction is usually its biggest PDF-only speedup. This is a documented recommendation, not a measured cross-provider result.
  • Choose the simplest fitting output. A one-page PDF and a tall image can be large and cumbersome. A paginated PDF may be more practical for reading and printing.
  • Use caching for repeat URLs. Microlink’s production features include configurable TTL and stale-while-revalidate caching. Ensure the cache policy fits how quickly source pages change.
  • Make your integration retry-aware. Use finite request timeouts, capture status and error details, and avoid unlimited retries that can multiply latency or usage.
  • Validate artifacts. Check response status, content type, file size, and whether the output opens before treating a request as successful in your own pipeline.

Neither the sources reviewed here nor the research establish comparative uptime or speed. Reliability decisions should come from your own URL set, repeated captures, and each vendor’s current service terms.

9. Troubleshooting

Symptom Likely cause What to try
Bottom of the page is missing Lazy content was not triggered, or the page needed more time. Enable full-page scrolling where available, add a suitable wait, and verify the target page does not require user interaction or endless scrolling.
Repeated or misaligned sections Sticky headers, animations, or page layout changes interfere with scroll-and-stitch capture. Try ScreenshotOne’s documented by_sections algorithm, test reduced motion, and compare against a fresh capture. Check current Microlink controls for the same page.
PDF has no background colors Background printing is disabled. For ScreenshotOne, set pdf_print_background=true. For Microlink, check PDF options and the page’s print CSS.
PDF is one extremely long sheet or text is tiny One-page fitting was enabled for a long document. Disable one-page fitting and use normal pagination, or accept a tall sheet only when screenshot-like output is the goal.
PDF appearance differs from the browser Print media styles are active or the site defines separate print CSS. Use screen media when supported and desired; compare screen and print rendering on the target page.
Response is JSON instead of image or PDF bytes The request is using an API response mode that returns an asset URL and metadata. Parse the response and fetch its asset URL, or configure direct file delivery where documented.
Request succeeds but expected content is absent The target may render content conditionally, require authentication, or block automated browsers. Check the URL in a normal browser, verify access and region requirements, and consult current options for headers or authentication support.
Unexpected usage or cost Retries, repeat requests, overages, or changed pricing terms. Set timeouts and retry limits, monitor usage, configure hard limits where offered, and recheck provider pricing and credit rules.

10. Or skip the browser setup

For a direct URL-to-image or URL-to-PDF API, [ScreenshotNeo](https://screenshotneo.com) returns a clean capture in one GET request. See the ScreenshotNeo API documentation for the available formats and parameters.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie and consent banners, newsletter popups, and chat widgets are removed before the shot; each cleanup step can be turned off.
  • Bot checks, blank pages, timeouts, failed loads, and cache hits are never billed; response headers report the page verdict and billing status.
  • An MCP server gives AI agents tools for screenshots, page information, and PDF capture.
  • 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000. Every feature is on every plan.

Start with 1,000 free screenshots a month, no card required.

11. FAQ

The documented options differ, and there is no same-page comparative result in the reviewed sources. Evaluate your actual pages for completeness, layout artifacts, output size, and latency.

Does a PDF of a webpage always look like a full-page screenshot?

No. A print-oriented PDF can paginate and apply print styles. A one-page PDF can resemble a tall screenshot but make text hard to read when the page is long.

Which service is cheaper?

The available figures are not enough for a complete price comparison: Microlink’s cited PDF guide gives a daily free allowance but no current paid prices, while ScreenshotOne’s published plans and quotas are changeable. Compare current plans against your successful monthly capture volume and required features.

Can I compare output without committing to a plan?

The Microlink PDF guide states 25 free requests per day, and ScreenshotOne’s pricing page accessed 2026-10-03 listed 100 free screenshots per month. Confirm current evaluation limits directly with each provider.

Sources