ChatGPT Marketplace Scraper avatar

ChatGPT Marketplace Scraper

Pricing

from $2.60 / 1,000 custom gpts

Go to Apify Store
ChatGPT Marketplace Scraper

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é

Maxime Dupré

Maintained by Community

Actor 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

📦 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.

Quick start

  1. Add one or more public GPT URLs, marketplace page URLs, search phrases, category names, or tag names.
  2. Keep maxItems small for a smaller discovery run, or use a direct URL for one known listing.
  3. Choose relevance, popular, or newest when you need a specific discovery order.
  4. 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

FieldTypeWhat it does
targetsarray of stringsAdds up to 100 public GPT listing URLs, marketplace page URLs, search phrases, category names, or tag names.
sortBystringChooses relevance, popular, or newest for discovery order when the source provides an order.
maxItemsinteger, optionalSets 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

FieldTypeWhat it does
gptIdstringStable public ID for the custom GPT.
namestringName shown in the public listing.
descriptionstring or nullPublic listing description, or null when unavailable.
imageUrlstring or nullPublic listing image or icon URL, or null when unavailable.
creatorobjectPublic creator, builder, or organization details.
creator.namestring or nullCreator or builder name shown in the listing.
creator.urlstring or nullPublic creator or builder page URL.
creator.verifiedboolean or nullWhether the source marks the creator as verified.
creator.organizationstring or nullOrganization name shown by the source.
categoriesarray of stringsPublic marketplace categories in source order.
tagsarray of stringsPublic listing tags in source order.
capabilitiesarray of stringsCapability labels, tool badges, or feature tags shown by the source.
modelstring or nullModel or version label shown by the source.
voicestring or nullVoice label shown by the source.
promptExamplesarray of stringsPublic prompt examples shown in the listing.
conversationCountinteger or nullConversation or usage count from the source.
ratingnumber or nullRating from the source.
reviewCountinteger or nullReview count from the source.
reviewSummarystring or nullReview summary text shown by the source.
listingStatusstring or nullListing state from the source.
publishedAtstring or nullPublication date from the source.
updatedAtstring or nullUpdate date from the source.
discoveryobject or nullTarget and source position for a discovered listing, or null for a direct lookup.
discovery.targetstringSubmitted target that led to the saved row.
discovery.sourceUrlstring or nullPublic page URL that produced the row.
discovery.rankinteger or nullPosition 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 🫡

Made with ❤️ by Maxime Dupré