Chatgpt Prompt Actor - GEO Analyse with Citation Data
Pricing
$15.00/month + usage
Chatgpt Prompt Actor - GEO Analyse with Citation Data
This Actor automates interactions with ChatGPT by sending prompts and extracting responses. it opens the web interface, dismisses pop-ups, sends prompts, waits for responses (up to 2 minutes), and extracts generated results including citations for further use.
Pricing
$15.00/month + usage
Rating
5.0
(2)
Developer
Egon Maier
Maintained by CommunityActor stats
6
Bookmarked
94
Total users
1
Monthly active users
86 days
Issues response
19 hours ago
Last modified
Categories
Share
ChatGPT Prompt Actor
This Actor automates interactions with ChatGPT by sending prompts and extracting responses. It uses PlaywrightCrawler with Camoufox - a stealthy fork of Firefox - to navigate ChatGPT's web interface and perform automated conversations.
What this Actor does:
- Navigates to ChatGPT: Opens the ChatGPT web interface at https://chatgpt.com/
- Handles UI Elements: Automatically closes any modal dialogs that might appear
- Processes Multiple Prompts: Sequentially sends all prompts from your input array
- Sends Prompts: Enters each prompt into ChatGPT's text input field
- Waits for Response: Monitors the page until ChatGPT completes its response (up to 2 minutes)
- Extracts Results: Captures the AI-generated response text and also citations, and news items
- Saves Data: Stores all prompts, responses, and metadata in a structured dataset
Input Parameters:
prompts(array): Messages/questions to send to ChatGPT — each runs in its own fresh conversationmaxConcurrency(integer, default 1): How many browser sessions to run in parallel (see "Parallel processing" below)maxRequestRetries(integer, default 3): Retries per session on failure — each retry uses a fresh browser and IP; already-answered prompts in the session are skippedpromptsPerSession(integer, default 10): How many prompts to answer in one browser before starting a fresh browser/IP. Higher = faster (a running ChatGPT answers follow-ups in ~5s vs ~25s to start a new browser); those prompts share one IPblockResources(boolean, default true): Block images/fonts/media to cut residential proxy traffic (the biggest cost driver). JS/CSS/XHR are kept, so response extraction is unaffectedproxyCountry(string): Select which country the proxy should be located in (optional, auto-selects if empty)
Parallel processing (chunking)
Prompts are grouped into sessions (chunks) of promptsPerSession. One session = one browser on one IP that answers its prompts one after another (reusing the browser via "new chat" — much faster than starting a new browser per prompt). maxConcurrency controls how many sessions run in parallel.
- Number of sessions = ⌈ number of prompts ÷
promptsPerSession⌉ - Run in parallel = up to
maxConcurrencysessions at a time
Each parallel session needs its own browser (~1 GB RAM), so raise the Actor's memory when you increase maxConcurrency. Parallelism makes the result arrive faster (less wall-clock time) for only a slight increase in usage cost — the total compute is roughly the same.
Examples (25 prompts):
| Config | Sessions | Behaviour | Memory |
|---|---|---|---|
promptsPerSession: 10, maxConcurrency: 1 | 3 sessions of 10 / 10 / 5 | run one after another (1 browser at a time) | 2 GB (default) |
promptsPerSession: 10, maxConcurrency: 3 | 3 sessions of 10 / 10 / 5 | run all 3 at once — fastest | ~4 GB (≈ 1 GB per parallel session) |
Note: the chunk size is set purely by
promptsPerSession. WithpromptsPerSession: 10and 10 prompts you always get one session of 10 —maxConcurrencyonly matters once there is more than one session. For two parallel sessions of 5, setpromptsPerSession: 5.
Output:
The Actor saves one dataset item per prompt:
- prompt: Original input prompt
- success:
trueif a response was extracted,falseotherwise - error:
nullon success, otherwise an error message (e.g.EMPTY_RESPONSE,REQUEST_FAILED_AFTER_RETRIES) - attempts: Number of tries it took (including the final one)
- responseText: ChatGPT's response as plain text
- responseMarkdown: ChatGPT's response with formatting preserved (headings, lists, tables, code blocks) — ideal for further processing
- sources: Web sources as
{ position, text, url, domain, type }, deduplicated by URL. The actor opens ChatGPT's full "Sources" sidebar, so bundled/hidden citations are included — not just the 2–3 inline pills. Thetypefield tells you where each link came from:citation— cited inline in the answer textsource— listed in the sources sidebarmore— additionally searched by ChatGPT but not directly cited
- sourceDomains: Unique host names of cited sources (
citation/sourceonly, e.g.["www.nike.com", "bbc.com"]) — the aggregated GEO metric. Host names are kept as-is (nowww/subdomain stripping), sowww.nike.comandnike.comcount separately - newsListing: Array of news items if present in responses
- responseTimeMs: How long the response generation took
- promptIndex: Index of current prompt (0-based)
- totalPrompts: Total number of prompts in batch
- timestamp: ISO timestamp of when the interaction occurred
Breaking change (v0.1):
responsewas replaced byresponseText/responseMarkdown,citationswas renamed tosources(now withdomainandposition, and now includes bundled/hidden citations — not just inline pills),sourceDomainswas added, theurlfield was removed, andsuccess/errorare now present on every item.
Features:
- Stealth Browsing: Uses Camoufox to avoid detection and blocking
- Proxy Support: Automatically uses Apify proxy configuration when running on the platform
- Country Selection: Choose proxy location from 35+ countries for geo-specific responses
- Error Handling: Gracefully handles timeouts and extraction failures
- Modal Handling: Automatically closes ChatGPT's welcome dialogs and popups