ScreenshotNeo

BlogHow-to

How to Screenshot an Account Page When Login Requires a Magic Link

Complete the magic-link sign-in in the browser that started it, verify the account page has loaded, then capture only the content you need.

By the ScreenshotNeo team4 October 20267 min read

Request the magic link from the account’s normal sign-in page, keep that browser tab open, and complete the link or code flow the service provides. If the service binds the link to the browser that started sign-in, open it there; if it offers a one-time code, enter it on the original sign-in page. Wait until the account content you need is visible, then capture a selected region, the visible page, or the full page. Inspect the image and remove private details before sharing it.

A magic link is an email-delivered authentication credential. Its exact behavior depends on the service: some flows redirect back to the site, some require an explicit confirmation, and some offer an email code as an alternative. [Google’s developer guide] describes magic-link sign-in generally; the steps below distinguish provider-specific behavior from the general workflow.

1. Complete sign-in in the intended browser

  1. Open the account’s official sign-in page and enter the email address associated with the account. Request the sign-in link or code.
  2. Leave the sign-in tab open. Open your email separately and find the newest message for this request. Avoid forwarding the link or copying it into a place where others can see it.
  3. Follow the service’s instructions. If it says to open the link in the browser that started sign-in, return to that browser and open it there. If there is a one-time code option, enter the code on the original sign-in page.
  4. Complete any additional confirmation or second-factor step the service requests. Some implementations redirect back to the site or require a callback step; the exact flow is service-specific. [Magic’s Web SDK reference] documents a redirect URI and a callback method for its own flow.
  5. Wait for the account page to finish loading. Confirm that the account content you intend to capture is present, rather than a sign-in form, spinner, error page, or email message.

M7, for example, says its email request is bound to the browser that began sign-in and offers a code to enter on the original page. That is guidance for M7’s flow, not a universal rule. [M7 email sign-in documentation]

2. Choose what to include in the screenshot

  • Selected region: Best when you need one card, status, or section. It limits unrelated account data in the image.
  • Visible page: Captures what is currently on screen. Scroll to the relevant section first.
  • Full page: Captures content below the fold. Review the whole result carefully; it may include more personal information than intended.
  • Operating-system capture: Captures the displayed screen and may include browser chrome, tabs, or notifications. Close or hide anything unrelated first.

3. Take the screenshot in Firefox

  1. On the authenticated account page, right-click an empty area and choose Take Screenshot. Alternatively, use Ctrl+Shift+S on Windows/Linux or Command+Shift+S on macOS.
  2. Choose a page region, an automatically highlighted part, Save visible, or Save full page.
  3. Select Download to save an image or Copy to place it on the clipboard. Press Esc to cancel.
  4. Open the saved image and check that it contains the intended account content and no accidental private details.

These capture choices and shortcuts are documented by Mozilla Support. If you use another browser, its menus and shortcuts may differ.

4. Capture with Chrome or your operating system

For a visible-page screenshot, use the operating system’s approved screen-capture tool after arranging the page and closing unrelated windows or notifications. For a full-page image in Chrome, a Chrome Community response describes using DevTools and the command “capture full size screenshot”; that is community guidance, so command availability may vary by Chrome version. If the command is unavailable, use a supported local capture method approved for your device. [Chrome Community]

On a managed device, an administrator can disable browser screenshot shortcuts or extension-based capture for policy reasons. Follow your organization’s approved process instead of trying to bypass the restriction. [Chrome Enterprise screenshot policy]

5. Review and protect the image

  • Crop or redact unrelated email addresses, account identifiers, balances, addresses, and other personal information.
  • Never include the email containing the sign-in link, a one-time code, or a URL that contains an authentication credential. Magic’s callback flow uses a credential token; keeping credential-bearing URLs out of shared images follows from that token’s authentication role. [Magic Web SDK]
  • Check the image at full size before sending it. Confirm that redactions cover the actual sensitive content and that the screenshot still explains what you need it to show.
  • Use an approved storage and sharing location, especially for work, financial, health, or identity accounts.

Or skip the browser setup

For a public page or a test account you are authorized to capture, ScreenshotNeo can return a screenshot from one GET request. See the API documentation for options. Do not submit a magic link, one-time code, credential-bearing URL, or private account data to a capture service. A remote capture request does not inherit your current browser’s authenticated session; only use an appropriately authorized route and authentication material you are allowed to send.

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,
)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', res);

ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status. Its MCP server lets AI agents use take_screenshot, get_page_info, and capture_pdf. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.

Troubleshooting

Symptom Likely cause What to do
The link opens a sign-in page in another browser. The provider may bind the request to the original browser or profile. Return to the starting browser and use the code option if offered, or request a fresh link. M7 explicitly requires its original browser; other services vary. [M7 guidance]
The screenshot shows a login form or loading screen. Authentication or the redirect back to the account page has not completed in the browser being captured. Finish the provider’s confirmation/callback flow, then verify the account content is visible before capturing.
The link says expired or already used. It may have expired, been consumed, or been invalidated by a newer request. Expiration and reuse rules vary by provider. Start again from the official sign-in page and use the newest message. Do not assume another provider has the same expiration period as M7.
The email link seems to do nothing. The email app may preview or open it in an embedded browser, or the provider may require an explicit confirmation. Use the browser the sign-in began in, inspect the provider’s confirmation page, and follow its instructions. Avoid repeatedly clicking an old link.
The full-page image is cut off or has blank areas. Dynamic content, very long pages, or content that loads only while scrolling can affect full-page captures. Wait for content to settle, try the visible or selected-region option, or capture separate sections if a complete image is not reliable.
Screenshot shortcut or capture command is blocked. A managed-browser policy may restrict screenshot capture. Ask the administrator for an approved capture path. Chrome’s policy documentation describes restrictions on shortcuts and extension APIs. [Chrome Enterprise]
A remote API capture returns an unauthenticated page. The request does not share your local browser session. Capture a public/test route or configure an authorized request using the service’s supported authentication options. Never place a magic link or one-time code in a screenshot URL.

Reliability, privacy, and cost considerations

  • Authentication reliability: Treat the email link or code as a short-lived credential. Keep the initiating browser profile and its site storage available until sign-in completes; avoid clearing site data or closing a private session mid-flow.
  • Capture reliability: Confirm the final account state before taking the image. For pages with content that changes as you scroll, use a selected region or capture sections separately and inspect the result.
  • Privacy: A local browser or OS capture keeps the capture step on your device, but the resulting file still needs secure handling. Sharing it can expose all visible details.
  • Cost: Built-in browser and operating-system capture tools do not require a screenshot API subscription. A remote API can be useful for authorized repeatable captures, but account authentication and the sensitivity of the resulting image should determine whether remote processing is appropriate. ScreenshotNeo’s listed free allowance and plan prices are described above.

FAQ

No. It depends on the service’s implementation. Some bind a request to the original browser; others may use a different flow. Follow the provider’s instructions.

Avoid it. The link is an authentication credential. Capture the authenticated account page instead, and do not share credential-bearing URLs, links, or codes.

Should I use a full-page screenshot?

Use one only when below-the-fold content matters and you have checked for additional private details. A region or visible-page capture is usually easier to limit.

Can ScreenshotNeo capture the signed-in page from my current browser?

Not merely by receiving the page URL: a remote request does not inherit your local browser session. Use only an authorized route and authentication method that is appropriate to send, and never send the magic link or code.