Discover/ChatGPT API
live

ChatGPT APIchatgpt.com

Access the public ChatGPT GPT store via API. Browse featured and trending GPTs by category, retrieve chat URLs, descriptions, tools, and prompt starters.

This API takes change requests — .
Endpoint health
monitored
discover_gpts
get_gpt
Checks pendingself-healing
Endpoints
2
Updated
3h ago

What is the ChatGPT API?

This API exposes data from the public ChatGPT GPT store across 2 endpoints, covering fields like chat URLs, prompt starters, author details, tool lists, and category tags. The discover_gpts endpoint returns a structured list of GPTs organized by store sections such as Featured, Trending, Writing, and Research, while get_gpt delivers granular detail on any individual GPT by ID.

Try it
Filter results to a specific store category section. Omitting returns GPTs from all categories.
api.parse.bot/scraper/35859e39-21df-4a62-934d-268ccd939eb5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/35859e39-21df-4a62-934d-268ccd939eb5/discover_gpts?category=top_picks' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace chatgpt-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: ChatGPT Public API — bounded, re-runnable; every call capped."""
from parse_apis.chatgpt_com_api import ChatGPT, GptCategory, GptNotFound

client = ChatGPT()

# Discover trending GPT chat links from the public store
for gpt in client.gpts.discover(category=GptCategory.TRENDING, limit=3):
    print(gpt.name, gpt.chat_url)

# Get the first writing GPT to drill into details
writing_gpt = client.gpts.discover(category=GptCategory.WRITING, limit=1).first()

# Fetch full details for a specific GPT by ID
if writing_gpt:
    try:
        detail = client.gpts.get(id=writing_gpt.id)
        print(detail.name, detail.description)
        print("Tools:", detail.tools)
        print("Starters:", detail.prompt_starters[:2])
    except GptNotFound as e:
        print(f"GPT gone: {e.gpt_id}")

print("exercised: gpts.discover, gpts.get")
All endpoints · 2 totalmissing one? ·

Returns GPT chat links from the public ChatGPT store, organized by category sections (Featured, Trending, Writing, Research, etc.). Each result includes the GPT's chat URL, name, description, author, and category. Results come from a single upstream page with all categories; filtering narrows to one section.

Input
ParamTypeDescription
categorystringFilter results to a specific store category section. Omitting returns GPTs from all categories.
Response
{
  "type": "object",
  "fields": {
    "gpts": "array of GPT chat link objects with id, name, description, chat_url, author info, and category",
    "total": "integer count of returned GPTs"
  },
  "sample": {
    "data": {
      "gpts": [
        {
          "id": "g-kZ0eYXlJe",
          "name": "Scholar GPT",
          "chat_url": "https://chatgpt.com/g/g-kZ0eYXlJe-scholar-gpt",
          "short_url": "g-kZ0eYXlJe-scholar-gpt",
          "categories": [
            "research"
          ],
          "created_at": "2023-11-15T09:04:21.004009+00:00",
          "updated_at": "2026-07-16T21:54:09.088598+00:00",
          "author_name": "awesomegpts.ai",
          "description": "Enhance research with 200M+ resources and built-in critical reading skills.",
          "author_verified": true,
          "category_section": "Trending"
        }
      ],
      "total": 6
    },
    "status": "success"
  }
}

About the ChatGPT API

What the API Covers

The ChatGPT store API provides structured access to publicly listed GPTs on chatgpt.com. The discover_gpts endpoint returns an array of GPT objects, each containing id, name, description, chat_url, author info, and category. An optional category parameter lets you filter results to a single store section (e.g. "Writing" or "Research"); omitting it returns GPTs across all categories in one response.

GPT Detail Retrieval

Once you have a GPT ID from discover_gpts results, pass it to get_gpt to retrieve a richer record. The response includes the chat_url and short_url for direct linking, an array of tools the GPT has access to, categories tags, created_at and updated_at ISO 8601 timestamps, and the description text. This endpoint is useful for building GPT directories, comparison tools, or monitoring changes to a specific GPT's configuration over time.

Data Scope and Structure

All data comes from the publicly accessible GPT store — no authentication or ChatGPT account is required to consume these endpoints. The total field in discover_gpts responses gives you an integer count of returned records. GPT IDs follow the format g-XXXXXXXXXX and are stable identifiers you can store and reuse across subsequent get_gpt calls.

Reliability & maintenance

The ChatGPT API is a managed, monitored endpoint for chatgpt.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when chatgpt.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official chatgpt.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a GPT directory site using name, description, chat_url, and category fields from discover_gpts
  • Monitor changes to a specific GPT's tools, description, or updated_at timestamp over time with get_gpt
  • Aggregate trending GPTs by category to surface popular tools in a newsletter or dashboard
  • Generate a comparison table of GPTs in a given category using author, description, and tool fields
  • Track new GPT releases by polling created_at timestamps returned from get_gpt
  • Populate a search index with GPT names, descriptions, and prompt starters for discoverability tooling
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ChatGPT have an official developer API?+
OpenAI offers the OpenAI API (platform.openai.com/docs) for generating completions and working with GPT models programmatically. That API is separate from the GPT store directory data exposed here, which covers store listings, chat URLs, and GPT metadata rather than inference.
What does `discover_gpts` return and how does the `category` filter work?+
The endpoint returns an array of GPT objects — each with id, name, description, chat_url, author info, and category — plus a total count. All categories are fetched from a single store page, so the optional category parameter filters that result set on the API side rather than making separate upstream requests per category.
Does the API expose user ratings, usage counts, or conversation counts for GPTs?+
Not currently. The API covers descriptive metadata: name, description, author, tools, categories, timestamps, and chat URLs. You can fork this API on Parse and revise it to add an endpoint targeting rating or usage data if the store surfaces those fields publicly.
Are GPTs that require a ChatGPT account to access included in the results?+
The API reflects the public GPT store listings, which are browsable without authentication. Chat URLs are included in every result, but whether a specific GPT requires a logged-in session to actually chat is determined by ChatGPT itself at the time the link is opened — that access state is not a field in the API response.
Does the API support pagination or returning large result sets incrementally?+
The current discover_gpts endpoint returns all results from the store page in a single response, filtered optionally by category. There is no page or offset parameter. If you need paginated access to a larger or different slice of the store, you can fork this API on Parse and revise it to add pagination support.
Page content last updated . Spec covers 2 endpoints from chatgpt.com.
Related APIs in Developer ToolsSee all →
learn.chatgpt.com API
Access data from learn.chatgpt.com.
parsepad.com API
Access data from parsepad.com.
g2.com API
Search G2.com to discover software products, compare pricing and categories, and read customer reviews all in one place. Get detailed product overviews and ratings to make informed decisions about business software.
TGStat API
Search and discover Telegram channels and groups by keyword or category, view detailed channel ratings and performance metrics, and access comprehensive profile information including subscriber counts and engagement data. Monitor top-performing channels and groups to find the most popular content across categories and regions.
gumroad.com API
Browse and extract data from the Gumroad marketplace. Search products by keyword, category, price, and rating; retrieve full product details; and look up seller profiles and their listed products.
toolify.ai API
Search and browse premium .ai domain names available on the Toolify marketplace, filtering by keywords, categories, prices, and domain attributes to find the perfect domain for your project. Explore curated domain listings organized by category to discover valuable .ai domains suited to your needs.
openai.com API
Access data from openai.com.
getapp.com API
Search and compare software solutions while accessing detailed information like pricing, features, integrations, reviews, and alternatives all in one place. Get category leaders, read industry research from their blog, and make informed software decisions based on comprehensive data.