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
95
Total users
1
Monthly active users
8 days 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


