ChatGPT to PDF — Convert Conversations to PDF
Pricing
from $100.00 / 1,000 results
ChatGPT to PDF — Convert Conversations to PDF
Special handling for ChatGPT share pages (`/share/...`) adds turn detection, role labels (You/ChatGPT), and styled formatting. Other pages use a clean A4 layout with cover, headers, and page numbers. JS-heavy sites are rendered —auto-enabled for ChatGPT links, optional for others.
Pricing
from $100.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
url2pdf — Apify Actor
Convert any URL (or local HTML) into a polished, HD-quality PDF.
- Special handling for ChatGPT share pages (
https://chatgpt.com/share/...) — turns are detected, role-tagged (You / ChatGPT), styled, and laid out with proper typography, code blocks, and tables. - Generic web pages fall back to a clean readable layout (cover page, A4, page numbers, running header).
- JS-rendered / SPA pages are loaded through headless Chromium (Playwright). ChatGPT URLs auto-trigger this; other sites can be forced via the input toggle.
- Typography is fully self-contained: KaTeX + Inter / Source Serif 4 / JetBrains Mono are baked into the Docker image at build time, so each run is offline and deterministic.
Getting a ChatGPT share link
The actor takes a public share URL, not a private chat URL. Your private chat URL (https://chatgpt.com/c/...) won't work — the actor isn't logged in as you. You need to publish the conversation as a share link first; this takes about five seconds.
From the ChatGPT web app (desktop)
- Go to https://chatgpt.com and open the conversation you want to export.
- In the top-right corner of the chat, click the share icon (an arrow pointing up out of a box, next to your avatar).
- A "Share public link to chat" dialog opens. Decide what should appear:
- Your name — toggle on/off as you prefer.
- Anonymize — replaces your name with "Anonymous" in the shared copy.
- Click Create link (or Update link if one already exists).
- Click Copy link. The URL looks like
https://chatgpt.com/share/abc12345-6789-.... - Paste it into the actor's
urlsfield and run.
Heads up: the share link is a frozen snapshot taken at the moment you click Create link. New messages sent in the conversation afterwards are not included. If you keep chatting and want the new turns in your PDF, click the share icon again and choose Update link.
From the ChatGPT mobile app (iOS / Android)
- Open the conversation.
- Tap the ⋯ (three dots) menu in the top-right.
- Tap Share.
- Tap Create link, then Copy Link.
- Paste it into the actor input.
Privacy notes
- Anyone with the share link can view the conversation — treat it like a public Google Doc.
- You can revoke a share link at any time: profile menu → Settings → Data controls → Shared links → trash icon next to the link. Once revoked, the link 404s and the actor will record an error row for it.
- If your conversation contains images, custom GPT system prompts, file attachments, or memories, those typically don't show up in the share view — only the visible text turns. The PDF will reflect what the share page actually contains.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
urls | array | (required) | List of URLs. Accepts ["https://..."] or [{"url": "..."}]. |
forceBrowser | boolean | false | Render every URL with headless Chromium. Auto-on for known SPA hosts. |
filenameTemplate | string | "{title}" | KV-store key template. Placeholders: {title}, {domain}. Sanitized. |
Example input:
{"urls": [{ "url": "https://chatgpt.com/share/abc-123" },{ "url": "https://en.wikipedia.org/wiki/PDF" }],"forceBrowser": false,"filenameTemplate": "{title}_{domain}"}
Output
Each PDF is saved to the run's default key-value store, and a metadata row is pushed to the default dataset:
{"url": "https://chatgpt.com/share/abc-123","title": "How transformers work","kind": "chatgpt","key": "How_transformers_work.pdf","sizeKb": 412,"pdfUrl": "https://api.apify.com/v2/key-value-stores/<id>/records/How_transformers_work.pdf"}