ChatGPT Marketplace Scraper
Pricing
from $2.60 / 1,000 custom gpts
ChatGPT Marketplace Scraper
Scrape public ChatGPT GPT marketplace listings from URLs, search phrases, categories, or tags. Export GPT names, descriptions, creators, verification, categories, capabilities, usage metrics, images, and listing context.
Pricing
from $2.60 / 1,000 custom gpts
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
🔎 Search the ChatGPT marketplace for public GPT data
ChatGPT Marketplace Scraper is for researchers, marketers, developers, and directory builders who need public custom GPT listings. It finds listings from ChatGPT using search phrases, category or tag names, marketplace pages, and direct public URLs. It saves one structured row for each accepted listing. Rows can include names, descriptions, creator details, source-native labels, usage facts, and discovery context. Use these rows to study the marketplace, compare listings, or build a GPT directory.
Use it for GPT marketplace research, AI tool directories, creator research, category monitoring, competitor lists, and repeatable public GPT exports.
Use cases
- Search public GPT listings with ChatGPT Marketplace Search.
- Build a public custom GPT directory with Custom GPT Directory.
- Collect public listing details with GPT Listing Scraper.
- Export GPT Store listings with GPT Store Scraper.
- Gather marketplace data with ChatGPT Marketplace Scraper.
📦 Public custom GPT listing data
Each saved row is one accepted public custom GPT listing. A row can include the GPT ID, name, description, image URL, creator details, source-native categories, tags, capabilities, model, voice, prompt examples, usage counts, review facts, listing status, dates, and discovery context. Missing source facts stay null or empty arrays.
Search phrase discovery uses public search discovery, then enriches accepted rows from ChatGPT public listing details. Unavailable or unsupported targets are skipped instead of added as error rows. The Actor does not infer popularity, category, sentiment, recommendation quality, or review meaning.
A direct listing lookup has discovery: null. A discovered row keeps the first submitted target and source rank that saved it.
▶️ Run a ChatGPT marketplace search
Quick start
- Add one or more public GPT URLs, marketplace page URLs, search phrases, category names, or tag names.
- Keep
maxItemssmall for a smaller discovery run, or use a direct URL for one known listing. - Choose
relevance,popular, ornewestwhen you need a specific discovery order. - Run the Actor and open the default dataset.
⚙️ Input
Use one target value per entry. A target can be a direct GPT listing URL, a marketplace page URL, a search phrase, a category name, or a tag name.
Input fields
| Field | Type | What it does |
|---|---|---|
targets | array of strings | Adds up to 100 public GPT listing URLs, marketplace page URLs, search phrases, category names, or tag names. |
sortBy | string | Chooses relevance, popular, or newest for discovery order when the source provides an order. |
maxItems | integer, optional | Sets how many accepted public GPT listings to save for each discovery target. Leave it empty to return all available results until the source is exhausted. Direct listing URLs can return one matching GPT. |
Discovery order
relevance keeps the source's default result order. popular sorts discovered listings by source-native conversation count when available. newest uses source-supported date order for search and source-native update dates for other discovery rows.
Hosted default input
This example is the public input saved for the hosted default run:
{"targets": ["https://chatgpt.com/g/g-2fkFE8rbu-dall-e","data analysis","productivity"],"sortBy": "relevance","maxItems": 25}
🧾 Output
The default dataset has one output shape: one object for each accepted public custom GPT listing. Arrays keep source order. ChatGPT may leave fields as null or empty arrays when it does not expose a fact.
Use the results link in the Output tab to open the default dataset overview.
Output fields
| Field | Type | What it does |
|---|---|---|
gptId | string | Stable public ID for the custom GPT. |
name | string | Name shown in the public listing. |
description | string or null | Public listing description, or null when unavailable. |
imageUrl | string or null | Public listing image or icon URL, or null when unavailable. |
creator | object | Public creator, builder, or organization details. |
creator.name | string or null | Creator or builder name shown in the listing. |
creator.url | string or null | Public creator or builder page URL. |
creator.verified | boolean or null | Whether the source marks the creator as verified. |
creator.organization | string or null | Organization name shown by the source. |
categories | array of strings | Public marketplace categories in source order. |
tags | array of strings | Public listing tags in source order. |
capabilities | array of strings | Capability labels, tool badges, or feature tags shown by the source. |
model | string or null | Model or version label shown by the source. |
voice | string or null | Voice label shown by the source. |
promptExamples | array of strings | Public prompt examples shown in the listing. |
conversationCount | integer or null | Conversation or usage count from the source. |
rating | number or null | Rating from the source. |
reviewCount | integer or null | Review count from the source. |
reviewSummary | string or null | Review summary text shown by the source. |
listingStatus | string or null | Listing state from the source. |
publishedAt | string or null | Publication date from the source. |
updatedAt | string or null | Update date from the source. |
discovery | object or null | Target and source position for a discovered listing, or null for a direct lookup. |
discovery.target | string | Submitted target that led to the saved row. |
discovery.sourceUrl | string or null | Public page URL that produced the row. |
discovery.rank | integer or null | Position on the source page that produced the row. |
Genuine current-beta row
This complete row comes from a successful run of the current beta build and shows a listing found by the data analysis target.
{"gptId": "g-6a35fa7c73048191ad0736dc4a420db5","name": "Data Analysis & Insight Discovery","description": "Analyze data, discover trends, identify opportunities, uncover insights, and improve business decisions with advanced analytics. #dataanalyticsgpt #businessintelligencegpt #dataanalysisgpt #analyticsgpt #datainsightsgpt #businessstrategygpt","imageUrl": "https://chatgpt.com/backend-api/estuary/content?id=file-TrWS7cuGWamZQs3U1YKVPY&gizmo_id=g-6a35fa7c73048191ad0736dc4a420db5&ts=496636&p=gpp&cid=1&sig=cd391cc9608ab6ccb34e3c929bf7a8ed60e0b0fd6f155ca32a568f992c36e2b1&v=0","creator": {"name": "nhprj.com","url": "https://nhprj.com","verified": true,"organization": "org-M7n09Un4EdZVBozlUy2TJZAA"},"categories": ["research"],"tags": ["interactions_disabled"],"capabilities": [],"model": null,"voice": "ember","promptExamples": ["Analyze this dataset and identify key insights","Help uncover trends hidden in my business data","Analyze uploaded spreadsheets for opportunities","Help identify anomalies affecting performance","Analyze customer data to discover patterns","Help transform raw data into actionable insights","Analyze survey results and summarize findings","Help identify factors driving business performance","Analyze metrics and recommend improvements","Help discover growth opportunities from data","Analyze uploaded reports and dashboards","Recommend prompts for advanced data analytics"],"conversationCount": 0,"rating": null,"reviewCount": null,"reviewSummary": null,"listingStatus": "active","publishedAt": "2026-06-20T02:27:08.449369+00:00","updatedAt": "2026-06-20T02:30:51.023909+00:00","discovery": {"target": "data analysis","sourceUrl": "https://cse.google.com/cse?cx=b0b573346627a4812#gsc.tab=0&gsc.q=data+analysis&gsc.page=1","rank": 2}}
💳 Pricing
Accepted listing event
This Actor uses pay-per-event pricing. You are charged once for each accepted public custom GPT listing saved to the dataset. A failed target, private target, unavailable listing, unsupported input, skipped duplicate, or zero-row outcome does not create a saved listing or charge this event.
See the Pricing tab for the current prices for your Apify plan.
🔌 Integrations
Use the data
- Run the Actor through the Apify API and read rows from the default dataset.
- Schedule repeat runs and send completed-run data through Apify webhooks or integrations.
- Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.
❓ FAQ
What can I submit?
Add a public ChatGPT GPT listing URL, marketplace page URL, search phrase, category name, or tag name. Use one value per entry.
Should I use a direct listing URL or a discovery target?
Use a direct URL when you know the GPT you want. Use a search phrase, category, tag, or marketplace page when you want the source to discover listings. Direct listing targets return discovery: null, while discovered rows include their target and source rank when available.
Can I search for GPTs by keyword?
Yes. Add a plain search phrase such as data analysis, sales assistant, or seo. Search phrase discovery uses public search discovery, then enriches accepted rows from ChatGPT public listing details.
How can I collect all available listings?
Leave Maximum GPTs per discovery target empty. The Actor returns all available results until the source is exhausted. The source or run capacity can still end the run sooner.
How are duplicate GPTs handled?
The first eligible occurrence is saved. If another target finds the same stable public GPT ID later in the run, that later match is skipped.
Why are some fields null or empty?
ChatGPT does not expose every field for every public listing. The Actor keeps unavailable facts as null or empty arrays instead of guessing. Source-native metrics can be missing, delayed, rounded, or unavailable for some listings.
Do I need a ChatGPT login or API key?
No. You do not need a ChatGPT account, OpenAI API key, cookies, private token, or browser extension. The Actor reads public custom GPT listings only.
Can it read private GPTs or builder settings?
No. It focuses on public listing facts only. It does not scrape private chats, private GPT configuration, builder dashboards, account analytics, or logged-in-only workspace data. It does not use your private ChatGPT or OpenAI account state.
📝 Changelog
1.0: Broader GPT marketplace discovery and richer listing data
- Search direct GPT URLs, marketplace pages, categories, tags, and phrases with relevance, popularity, or newest ordering.
- Export richer source-backed listing metadata, including capabilities, usage and review facts, dates, and discovery context.
- Preserve the single submitted discovery target for each saved listing and skip unavailable targets.
0.0: Initial release
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- ChatGPT Conversation Scraper - Archive public shared ChatGPT conversations with messages and source metadata.
- RapidAPI Scraper - Research public API marketplace listings, providers, pricing labels, and endpoint metadata.
- Chrome Extensions Scraper - Compare public Chrome Web Store listings, publisher details, ratings, and permissions.
- HubSpot Marketplace Scraper - Research public HubSpot apps and solutions partners with listing and provider details.
- Zoom Marketplace Scraper - Research public Zoom apps with developer facts, ratings, product rank, and public permission scopes.
Made with ❤️ by Maxime Dupré