Free GPTs Scraper
No credit card required
This Actor may be unreliable while under maintenance. Would you like to try a similar Actor instead?
See alternative ActorsFree GPTs Scraper
No credit card required
Gets you GPT data from Openai. Download your data as JSON, HTML Table, CSV, Execl, RSS Feed
The GPTs Scraper is an automated tool that allows extracting detailed information about any public GPT via its unique gizmoId. By simply inputting a gizmoId, the scraper will output a structured JSON file containing metadata about the target GPT. This provides an easy way to gather intel on ChatGPT extensions for analysis or research purposes.
You might like other scrapers.
Inputting A Gizmo ID
The GPTs Scraper accepts a single input – the unique gizmoId associated with a public GPT. This ID is contained in the GPT's URL on ChatGPT, after “/g/”.
For example, for the GPT at https://chat.openai.com/g/g-EgRT6abr4-gpt-explorer, which is a GPT explorer, that can help you find out the best GPT on ChatGPT and developed by GPTsApp.io the gizmoId would be:
g-EgRT6abr4
Sample JSON Input
1{ 2 "gizmoIds": [ 3 "g-dILj1kvrl", 4 "g-EgRT6abr4", 5 "g-bo0FiWLY7" 6 ], 7 "retries": 3, 8 "proxies": { 9 "useApifyProxy": true 10 } 11}
By inputting this ID into the scraper, it can locate the target GPT and extract its metadata.
Understanding The JSON Output
The scraper outputs a JSON file containing comprehensive information about the GPT. This includes:
- GPT name, description, author details
- Configuration like model used, instructions
- Metadata like creation date, usage stats
- Associated tools and services
- And more
Having all this data in a structured, machine-readable JSON format makes it easy to parse and analyze programmatically.
Sample JSON Output
Here is an example of the JSON output for a hypothetical GPT:
1[ 2{ 3 "id": "g-4baFe8Ncj", 4 "status": "success", 5 "org_id": "org-xuKWNnX96DafKvNFeKOFRM5U", 6 "name": "SaaS Navigator", 7 "description": "A strategic SaaS analyst for CXOs, with a focus on market trends and benchmarks.", 8 "avatar_url": "https://files.oaiusercontent.com/file-6Ee9tfC2hI8WTZtVAzsaf0J6?se=2123-10-18T07%3A29%3A03Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D31536000%2C%20immutable&rscd=attachment%3B%20filename%3D5f791eb3-c84b-4939-8e14-ddfba19562a2.png&sig=tpxgXq5wCUGO1xljSax1F/GwouGjYThhQsargRJp0Cs%3D", 9 "full_url": "https://chat.openai.com/g/g-4baFe8Ncj-saas-navigator", 10 "short_url": "g-4baFe8Ncj-saas-navigator", 11 "author_id": "user-eXHl81npe3vjbhegYRh0Q8Mm", 12 "author_name": "FAN DAYONG", 13 "detail": { 14 "gizmo": { 15 "id": "g-4baFe8Ncj", 16 "organization_id": "org-xuKWNnX96DafKvNFeKOFRM5U", 17 "short_url": "g-4baFe8Ncj-saas-navigator", 18 "author": { 19 "user_id": "user-eXHl81npe3vjbhegYRh0Q8Mm", 20 "display_name": "FAN DAYONG", 21 "link_to": null, 22 "selected_display": "name", 23 "is_verified": true, 24 "will_receive_support_emails": null 25 }, 26 "voice": { 27 "id": "ember" 28 }, 29 "workspace_id": null, 30 "model": null, 31 "instructions": null, 32 "settings": null, 33 "display": { 34 "name": "SaaS Navigator", 35 "description": "A strategic SaaS analyst for CXOs, with a focus on market trends and benchmarks.", 36 "welcome_message": "Hi! Let's navigate SaaS trends and benchmarks for your strategic edge.", 37 "prompt_starters": [ 38 "Compare my CRM's performance to competitors", 39 "Identify emerging HR software trends", 40 "Analyze new technologies in marketing tools", 41 "Prepare a benchmarking report for my SaaS" 42 ], 43 "profile_picture_url": "https://files.oaiusercontent.com/file-6Ee9tfC2hI8WTZtVAzsaf0J6?se=2123-10-18T07%3A29%3A03Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D31536000%2C%20immutable&rscd=attachment%3B%20filename%3D5f791eb3-c84b-4939-8e14-ddfba19562a2.png&sig=tpxgXq5wCUGO1xljSax1F/GwouGjYThhQsargRJp0Cs%3D", 44 "categories": [] 45 }, 46 "share_recipient": "marketplace", 47 "updated_at": "2023-11-14T07:50:01.136656+00:00", 48 "last_interacted_at": null, 49 "tags": [ 50 "public", 51 "reportable", 52 "uses_function_calls" 53 ], 54 "version": null, 55 "live_version": null, 56 "training_disabled": null, 57 "allowed_sharing_recipients": null, 58 "review_info": null, 59 "appeal_info": null, 60 "vanity_metrics": { 61 "num_conversations_str": "32", 62 "num_pins": 0, 63 "num_users_interacted_with": 0 64 } 65 }, 66 "tools": [ 67 { 68 "id": "gzm_cnf_JDLC9egYwU0bpOGl8qexN4CN~gzm_tool_jIzyqG1hlal9nzJTKXf8bOHz", 69 "type": "python", 70 "settings": null, 71 "metadata": null 72 }, 73 { 74 "id": "gzm_cnf_JDLC9egYwU0bpOGl8qexN4CN~gzm_tool_FNs61mZaOqaaGpgxgNJ5RFZg", 75 "type": "plugins_prototype", 76 "settings": null, 77 "metadata": { 78 "action_id": "g-542aec5cf9cfff21486087bdb221302fc88bd982", 79 "domain": null, 80 "raw_spec": null, 81 "json_schema": null, 82 "auth": { 83 "type": "none" 84 }, 85 "privacy_policy_url": "https://gpts.webpilot.ai/privacy_policy.html" 86 } 87 }, 88 { 89 "id": "gzm_cnf_JDLC9egYwU0bpOGl8qexN4CN~gzm_tool_wP96yM2hKw4JfjGzphGzn52g", 90 "type": "dalle", 91 "settings": null, 92 "metadata": null 93 } 94 ], 95 "files": [], 96 "product_features": { 97 "attachments": { 98 "type": "retrieval", 99 "accepted_mime_types": [ 100 "application/msword", 101 "text/x-sh", 102 "text/x-c", 103 "text/x-csharp", 104 "text/x-php", 105 "text/html", 106 "text/x-tex", 107 "application/json", 108 "text/javascript", 109 "text/x-script.python", 110 "text/markdown", 111 "text/x-typescript", 112 "application/pdf", 113 "text/x-ruby", 114 "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 115 "text/x-c++", 116 "application/vnd.openxmlformats-officedocument.presentationml.presentation", 117 "text/plain", 118 "text/x-java", 119 "application/x-latext" 120 ], 121 "image_mime_types": [ 122 "image/webp", 123 "image/png", 124 "image/jpeg", 125 "image/gif" 126 ], 127 "can_accept_all_mime_types": true 128 } 129 } 130 }, 131 "crawled_at": "2024-01-06T16:36:05.565Z" 132 }, 133 { 134 "id": "g-UVkIU3eDc", 135 "status": "success", 136 "org_id": "org-v4LifF6Kyxzc3eZZ0YTR1WBZ", 137 "name": "Nightly Noteable Notebooks", 138 "description": "🌃 Nightly Updates Edition 🌃 Create notebooks in Python, SQL, and Markdown to explore data, visualize, and share notebooks with everyone.", 139 "avatar_url": "https://files.oaiusercontent.com/file-BxYvhRaSP02Fgr5REPFxfFlq?se=2123-10-15T19%3A05%3A38Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D31536000%2C%20immutable&rscd=attachment%3B%20filename%3Davatar%25202%25201.png&sig=SPAq8L%2BePQATqig/mcu3cJ9kNaLXpldyihcXdduxHuU%3D", 140 "full_url": "https://chat.openai.com/g/g-UVkIU3eDc-nightly-noteable-notebooks", 141 "short_url": "g-UVkIU3eDc-nightly-noteable-notebooks", 142 "author_id": "user-wKBQIf9DGagtaGxMJWkjNeTx", 143 "author_name": "9.tapgpts.com", 144 "detail": { 145 "gizmo": { 146 "id": "g-UVkIU3eDc", 147 "organization_id": "org-v4LifF6Kyxzc3eZZ0YTR1WBZ", 148 "short_url": "g-UVkIU3eDc-nightly-noteable-notebooks", 149 "author": { 150 "user_id": "user-wKBQIf9DGagtaGxMJWkjNeTx", 151 "display_name": "9.tapgpts.com", 152 "link_to": "https://9.tapgpts.com", 153 "selected_display": "website", 154 "is_verified": true, 155 "will_receive_support_emails": null 156 }, 157 "voice": { 158 "id": "ember" 159 }, 160 "workspace_id": null, 161 "model": null, 162 "instructions": null, 163 "settings": null, 164 "display": { 165 "name": "Nightly Noteable Notebooks", 166 "description": "🌃 Nightly Updates Edition 🌃 Create notebooks in Python, SQL, and Markdown to explore data, visualize, and share notebooks with everyone.", 167 "welcome_message": "Hello", 168 "prompt_starters": [ 169 "Start a Python Notebook", 170 "Start a TypeScript Notebook" 171 ], 172 "profile_picture_url": "https://files.oaiusercontent.com/file-BxYvhRaSP02Fgr5REPFxfFlq?se=2123-10-15T19%3A05%3A38Z&sp=r&sv=2021-08-06&sr=b&rscc=max-age%3D31536000%2C%20immutable&rscd=attachment%3B%20filename%3Davatar%25202%25201.png&sig=SPAq8L%2BePQATqig/mcu3cJ9kNaLXpldyihcXdduxHuU%3D", 173 "categories": [] 174 }, 175 "share_recipient": "marketplace", 176 "updated_at": "2023-11-24T10:34:18.923002+00:00", 177 "last_interacted_at": null, 178 "tags": [ 179 "public", 180 "reportable", 181 "uses_function_calls" 182 ], 183 "version": null, 184 "live_version": null, 185 "training_disabled": null, 186 "allowed_sharing_recipients": null, 187 "review_info": null, 188 "appeal_info": null, 189 "vanity_metrics": { 190 "num_conversations_str": "10", 191 "num_pins": 0, 192 "num_users_interacted_with": 0 193 } 194 }, 195 "tools": [ 196 { 197 "id": "gzm_cnf_5dHvB7o1bFio7OqwJdeAgeNu~gzm_tool_HgKwWU54JRhMaehvUh4TbEsJ", 198 "type": "plugins_prototype", 199 "settings": null, 200 "metadata": { 201 "action_id": "g-1841b60675d10b7e85cfab7222b5dc3f1672ad11", 202 "domain": "nightly.noteable.io", 203 "raw_spec": "{\n \"openapi\": \"3.1.0\",\n \"info\": {\n \"title\": \"Origamist\",\n \"description\": \"ChatGPT Plugin server for creating computational notebooks (in Python!), allowing you to execute code, explore data, and visualize results.\",\n \"version\": \"0.41.1\"\n },\n \"servers\": [\n {\n \"url\": \"https://nightly.noteable.io\",\n \"description\": \"Origamist server on https://nightly.noteable.io\"\n }\n ],\n \"paths\": {\n \"/api/origami/about/\": {\n \"get\": {\n \"summary\": \"About\",\n \"description\": \"About the plugin and runtime environment.\",\n \"operationId\": \"about\",\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n }\n },\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ]\n }\n },\n \"/api/origami/p/default\": {\n \"put\": {\n \"summary\": \"Set Default Project\",\n \"description\": \"Configure the user's default project.\",\n \"operationId\": \"set_default_project\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"new_default_project_id\",\n \"in\": \"query\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"New Default Project Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/p/file_list\": {\n \"get\": {\n \"summary\": \"Get Default Project Files\",\n \"description\": \"Get a list of files in the user's default Project.\\nOptionally filter by space-delimited list of file extensions and/or filename fuzzy match.\",\n \"operationId\": \"get_default_project_files\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_extensions\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"File Extensions\",\n \"type\": \"string\"\n }\n },\n {\n \"name\": \"sort_by\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"updated_at\",\n \"name\"\n ],\n \"type\": \"string\",\n \"default\": \"updated_at\",\n \"title\": \"Sort By\"\n }\n },\n {\n \"name\": \"sort_descending\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"title\": \"Sort Descending\"\n }\n },\n {\n \"name\": \"project_id\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"Project Id\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/p/file_list/{project_id}\": {\n \"get\": {\n \"summary\": \"Get Project Files\",\n \"description\": \"Get a list of files in a specific Project.\\nOptionally filter by space-delimited list of file extensions and/or filename fuzzy match.\",\n \"operationId\": \"get_project_files\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"project_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"title\": \"Project Id\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n }\n },\n {\n \"name\": \"file_extensions\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"File Extensions\",\n \"type\": \"string\"\n }\n },\n {\n \"name\": \"sort_by\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"enum\": [\n \"updated_at\",\n \"name\"\n ],\n \"type\": \"string\",\n \"default\": \"updated_at\",\n \"title\": \"Sort By\"\n }\n },\n {\n \"name\": \"sort_descending\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"type\": \"boolean\",\n \"default\": false,\n \"title\": \"Sort Descending\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/p/kernel_list\": {\n \"get\": {\n \"summary\": \"Get Default Project Kernels\",\n \"description\": \"Get a list of Kernel names and hardware sizes that can be used when starting Notebooks in the\\nuser's default Project.\",\n \"operationId\": \"get_default_project_kernels\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"project_id\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"Project Id\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/p/kernel_list/{project_id}\": {\n \"get\": {\n \"summary\": \"Get Project Kernels\",\n \"description\": \"Get a list of Kernel names and hardware sizes that can be used when starting Notebooks in a\\nspecific Project.\",\n \"operationId\": \"get_project_kernels\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"project_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"Project Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/\": {\n \"post\": {\n \"summary\": \"Create Notebook\",\n \"description\": \"Creates a new notebook. If no project ID is provided, the user's default project will be used.\",\n \"operationId\": \"create_notebook\",\n \"requestBody\": {\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/CreateNotebookRequest\"\n }\n }\n },\n \"required\": true\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n },\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ]\n }\n },\n \"/api/origami/f/{file_id}\": {\n \"get\": {\n \"summary\": \"Get Content\",\n \"description\": \"Get the content of a Notebook or other file type. The after_cell_id optional parameter is for\\nretrieving partial content of a Notebook if the full Notebook content gets truncated\",\n \"operationId\": \"get_content\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n },\n {\n \"name\": \"after_cell_id\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"After Cell Id\",\n \"type\": \"string\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\"\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/metadata/{file_id}\": {\n \"get\": {\n \"summary\": \"Get File Metadata\",\n \"description\": \"Get metadata about a file including its file id, filepath, and the project id it is in.\\nImportant! Notebooks can only read in files located in the same project, specify the project_id\\non Notebook creation if working with this file.\",\n \"operationId\": \"get_file_metadata\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/File\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/{file_id}/datasources\": {\n \"get\": {\n \"summary\": \"Get Datasources\",\n \"description\": \"Get the databases for a notebook file by UUID.\",\n \"operationId\": \"get_datasources\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"description\": \"The ID of the notebook to get the datasources for.\",\n \"title\": \"File Id\"\n },\n \"description\": \"The ID of the notebook to get the datasources for.\"\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/DataSourceForLLM\"\n },\n \"title\": \"Response Get Datasources\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/{file_id}/run_cells\": {\n \"post\": {\n \"summary\": \"Run Multiple Cells\",\n \"description\": \"Execute an individual cell_id, run all cells in the Notebook, or run all before / after a cell\",\n \"operationId\": \"run_cells\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n }\n ],\n \"requestBody\": {\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ExecuteCellsRequest\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"text/plain\": {\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/{file_id}/c/{cell_id}\": {\n \"get\": {\n \"summary\": \"Get Cell\",\n \"description\": \"Return Cell model details\",\n \"operationId\": \"get_cell\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n },\n {\n \"name\": \"cell_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"title\": \"Cell Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"text/plain\": {\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n },\n \"post\": {\n \"summary\": \"Change Cell Type\",\n \"description\": \"Endpoint to allow updating the type of a cell. Currently only supports changing\\nbetween Code, Markdown, and SQL cells.\",\n \"operationId\": \"change_cell_type\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n },\n {\n \"name\": \"cell_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"title\": \"Cell Id\"\n }\n }\n ],\n \"requestBody\": {\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/ChangeCellTypeRequest\"\n }\n }\n }\n },\n \"responses\": {\n \"204\": {\n \"description\": \"Successful Response\"\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n },\n \"put\": {\n \"summary\": \"Update Cell\",\n \"description\": \"Replace the source code of a cell.\",\n \"operationId\": \"update_cell\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n },\n {\n \"name\": \"cell_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"title\": \"Cell Id\"\n }\n }\n ],\n \"requestBody\": {\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/UpdateCellRequest\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"text/plain\": {\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/{file_id}/c\": {\n \"post\": {\n \"summary\": \"Create Cell\",\n \"description\": \"Create a code or markdown cell.\",\n \"operationId\": \"create_cell\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n }\n ],\n \"requestBody\": {\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/CreateCellRequest\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"text/plain\": {\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/f/{file_id}/c/{cell_id}/run\": {\n \"post\": {\n \"summary\": \"Run Cell\",\n \"description\": \"Run a Cell within a Notebook by ID.\",\n \"operationId\": \"run_cell\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"file_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n }\n },\n {\n \"name\": \"cell_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"title\": \"Cell Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"text/plain\": {\n \"schema\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/u/me\": {\n \"get\": {\n \"summary\": \"Get User Info\",\n \"description\": \"Get the current user's id, email, auth type, and default project details\",\n \"operationId\": \"get_user_info\",\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n }\n },\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ]\n }\n },\n \"/api/origami/k/\": {\n \"get\": {\n \"summary\": \"Get Active Kernel Sessions\",\n \"description\": \"Returns a list of the user's active kernel sessions.\",\n \"operationId\": \"get_active_kernel_sessions\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n }\n }\n },\n \"post\": {\n \"summary\": \"Start Kernel\",\n \"description\": \"Start a Kernel for a Notebook file\",\n \"operationId\": \"start_kernel\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"project_id\",\n \"in\": \"query\",\n \"required\": false,\n \"schema\": {\n \"title\": \"Project Id\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n }\n }\n ],\n \"requestBody\": {\n \"required\": true,\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/StartKernelRequest\"\n }\n }\n }\n },\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n },\n \"/api/origami/k/{kernel_session_id}\": {\n \"delete\": {\n \"summary\": \"Shutdown Kernel\",\n \"description\": \"Shutdown the kernel for a notebook.\",\n \"operationId\": \"shutdown_kernel\",\n \"security\": [\n {\n \"HTTPBearer\": []\n }\n ],\n \"parameters\": [\n {\n \"name\": \"kernel_session_id\",\n \"in\": \"path\",\n \"required\": true,\n \"schema\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"Kernel Session Id\"\n }\n }\n ],\n \"responses\": {\n \"200\": {\n \"description\": \"Successful Response\",\n \"content\": {\n \"application/json\": {\n \"schema\": {}\n }\n }\n },\n \"422\": {\n \"description\": \"Validation Error\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"$ref\": \"#/components/schemas/HTTPValidationError\"\n }\n }\n }\n }\n }\n }\n }\n },\n \"components\": {\n \"schemas\": {\n \"ChangeCellTypeRequest\": {\n \"properties\": {\n \"cell_type\": {\n \"type\": \"string\",\n \"enum\": [\n \"code\",\n \"markdown\",\n \"sql\"\n ],\n \"title\": \"Cell Type\"\n },\n \"db_connection\": {\n \"title\": \"Db Connection\",\n \"type\": \"string\"\n },\n \"assign_results_to\": {\n \"title\": \"Assign Results To\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\",\n \"required\": [\n \"cell_type\"\n ],\n \"title\": \"ChangeCellTypeRequest\"\n },\n \"CreateCellRequest\": {\n \"properties\": {\n \"cell_id\": {\n \"title\": \"Cell Id\",\n \"type\": \"string\"\n },\n \"cell_type\": {\n \"type\": \"string\",\n \"enum\": [\n \"code\",\n \"markdown\",\n \"sql\"\n ],\n \"title\": \"Cell Type\",\n \"description\": \"The type of cell to create.\",\n \"default\": \"code\"\n },\n \"and_run\": {\n \"type\": \"boolean\",\n \"title\": \"Run Cell\",\n \"description\": \"Whether to run the cell after creating it. Only applies to code and sql cells.\",\n \"default\": false\n },\n \"source\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"title\": \"Source\",\n \"description\": \"Lines of source code to place in the cell.\"\n },\n \"before_cell_id\": {\n \"title\": \"Before Cell ID\",\n \"description\": \"The ID of a cell to insert new cell before. If null, new cell is added to the end of the notebook.\",\n \"type\": \"string\"\n },\n \"datasource_id\": {\n \"title\": \"SQL cell datasource ID\",\n \"description\": \"datasource_id to run SQL against if this is a SQL cell\",\n \"type\": \"string\"\n },\n \"assign_results_to\": {\n \"title\": \"SQL cell results variable name\",\n \"description\": \"The variable name to assign SQL query results (as a Dataframe)\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\",\n \"title\": \"CreateCellRequest\"\n },\n \"CreateNotebookRequest\": {\n \"properties\": {\n \"notebook_name\": {\n \"type\": \"string\",\n \"title\": \"Notebook Name\",\n \"description\": \"The name of the notebook to create. Must end with .ipynb file extension.\",\n \"default\": \"UntitledGPT.ipynb\"\n },\n \"project_id\": {\n \"title\": \"Project ID\",\n \"description\": \"The ID of the project to create the notebook in. Defaults to the user's default project.\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n },\n \"start_kernel\": {\n \"type\": \"boolean\",\n \"title\": \"Start Kernel\",\n \"description\": \"Whether to start the kernel after creating the notebook.\",\n \"default\": true\n },\n \"kernel_name\": {\n \"type\": \"string\",\n \"title\": \"Kernel Name\",\n \"description\": \"The name of the kernel to start.\",\n \"default\": \"python3\"\n },\n \"hardware_size\": {\n \"type\": \"string\",\n \"title\": \"Hardware Size\",\n \"description\": \"The size/type of the hardware to use for the kernel. When using a kernel_namewith a -gpu suffix, it is good practice to also use a hardware_size with a -gpu suffix.\",\n \"default\": \"small\"\n }\n },\n \"type\": \"object\",\n \"title\": \"CreateNotebookRequest\"\n },\n \"DataSourceForLLM\": {\n \"properties\": {\n \"name\": {\n \"type\": \"string\",\n \"title\": \"Data Source Name\",\n \"description\": \"Name of the data source.\"\n },\n \"description\": {\n \"type\": \"string\",\n \"title\": \"Data Source Description\",\n \"description\": \"The description of the data source.\"\n },\n \"type_id\": {\n \"type\": \"string\",\n \"title\": \"Type of database\",\n \"description\": \"Type of Data Source\"\n },\n \"sql_cell_handle\": {\n \"type\": \"string\",\n \"title\": \"db_connection string\",\n \"description\": \"db_connection in the Noteable cell metadata for the database\"\n }\n },\n \"type\": \"object\",\n \"required\": [\n \"name\",\n \"description\",\n \"type_id\",\n \"sql_cell_handle\"\n ],\n \"title\": \"DataSourceForLLM\"\n },\n \"ExecuteCellsRequest\": {\n \"properties\": {\n \"cell_id\": {\n \"title\": \"Cell Id\",\n \"type\": \"string\"\n },\n \"before_id\": {\n \"title\": \"Before Id\",\n \"type\": \"string\"\n },\n \"after_id\": {\n \"title\": \"After Id\",\n \"type\": \"string\"\n },\n \"all\": {\n \"title\": \"All\",\n \"type\": \"boolean\"\n }\n },\n \"type\": \"object\",\n \"title\": \"ExecuteCellsRequest\"\n },\n \"File\": {\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"Id\"\n },\n \"created_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"title\": \"Created At\"\n },\n \"updated_at\": {\n \"type\": \"string\",\n \"format\": \"date-time\",\n \"title\": \"Updated At\"\n },\n \"deleted_at\": {\n \"title\": \"Deleted At\",\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"filename\": {\n \"type\": \"string\",\n \"title\": \"Filename\"\n },\n \"path\": {\n \"type\": \"string\",\n \"format\": \"path\",\n \"title\": \"Path\"\n },\n \"project_id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"Project Id\"\n },\n \"space_id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"Space Id\"\n },\n \"size\": {\n \"title\": \"Size\",\n \"type\": \"integer\"\n },\n \"mimetype\": {\n \"title\": \"Mimetype\",\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\",\n \"enum\": [\n \"file\",\n \"notebook\"\n ],\n \"title\": \"Type\"\n },\n \"current_version_id\": {\n \"title\": \"Current Version Id\",\n \"type\": \"string\",\n \"format\": \"uuid\"\n },\n \"presigned_download_url\": {\n \"title\": \"Presigned Download Url\",\n \"type\": \"string\"\n },\n \"url\": {\n \"title\": \"Url\",\n \"type\": \"string\"\n }\n },\n \"type\": \"object\",\n \"required\": [\n \"id\",\n \"created_at\",\n \"updated_at\",\n \"filename\",\n \"path\",\n \"project_id\",\n \"space_id\",\n \"type\"\n ],\n \"title\": \"File\"\n },\n \"HTTPValidationError\": {\n \"properties\": {\n \"detail\": {\n \"items\": {\n \"$ref\": \"#/components/schemas/ValidationError\"\n },\n \"type\": \"array\",\n \"title\": \"Detail\"\n }\n },\n \"type\": \"object\",\n \"title\": \"HTTPValidationError\"\n },\n \"StartKernelRequest\": {\n \"properties\": {\n \"file_id\": {\n \"type\": \"string\",\n \"format\": \"uuid\",\n \"title\": \"File Id\"\n },\n \"kernel_name\": {\n \"title\": \"Kernel Name\",\n \"type\": \"string\"\n },\n \"hardware_size\": {\n \"type\": \"string\",\n \"title\": \"Hardware Size\",\n \"default\": \"small\"\n }\n },\n \"type\": \"object\",\n \"required\": [\n \"file_id\"\n ],\n \"title\": \"StartKernelRequest\"\n },\n \"UpdateCellRequest\": {\n \"properties\": {\n \"source\": {\n \"items\": {\n \"type\": \"string\"\n },\n \"type\": \"array\",\n \"title\": \"Source\",\n \"description\": \"Lines of source code to replace the cell with.\",\n \"default\": []\n },\n \"and_run\": {\n \"type\": \"boolean\",\n \"title\": \"Run Cell\",\n \"description\": \"Whether to run the cell after updating it. Only applies to code and sql cells.\",\n \"default\": false\n }\n },\n \"type\": \"object\",\n \"title\": \"UpdateCellRequest\"\n },\n \"ValidationError\": {\n \"properties\": {\n \"loc\": {\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"integer\"\n }\n ]\n },\n \"type\": \"array\",\n \"title\": \"Location\"\n },\n \"msg\": {\n \"type\": \"string\",\n \"title\": \"Message\"\n },\n \"type\": {\n \"type\": \"string\",\n \"title\": \"Error Type\"\n }\n },\n \"type\": \"object\",\n \"required\": [\n \"loc\",\n \"msg\",\n \"type\"\n ],\n \"title\": \"ValidationError\"\n }\n },\n \"securitySchemes\": {\n \"HTTPBearer\": {\n \"type\": \"http\",\n \"scheme\": \"bearer\"\n }\n }\n }\n}", 204 "json_schema": null, 205 "auth": { 206 "type": "oauth", 207 "instructions": "", 208 "client_url": "https://nightly.noteable.io/origami/authorize", 209 "scope": "offline_access openid email profile", 210 "authorization_url": "https://nightly.noteable.io/origami/token", 211 "authorization_content_type": "application/x-www-form-urlencoded", 212 "verification_tokens": {}, 213 "pkce_required": false, 214 "token_exchange_method": "default_post" 215 }, 216 "privacy_policy_url": "https://noteable.io/legal/terms-and-conditions/" 217 } 218 }, 219 { 220 "id": "gzm_cnf_5dHvB7o1bFio7OqwJdeAgeNu~gzm_tool_BGu8FCW3RGwFdIywCFu9S645", 221 "type": "dalle", 222 "settings": null, 223 "metadata": null 224 }, 225 { 226 "id": "gzm_cnf_5dHvB7o1bFio7OqwJdeAgeNu~gzm_tool_rZyytwsCukvHsNsHaQtaH8zo", 227 "type": "browser", 228 "settings": null, 229 "metadata": null 230 } 231 ], 232 "files": [], 233 "product_features": { 234 "attachments": { 235 "type": "retrieval", 236 "accepted_mime_types": [ 237 "text/html", 238 "text/javascript", 239 "application/json", 240 "application/msword", 241 "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 242 "text/x-typescript", 243 "text/x-csharp", 244 "text/x-c", 245 "text/x-script.python", 246 "text/x-ruby", 247 "text/markdown", 248 "text/x-c++", 249 "application/vnd.openxmlformats-officedocument.presentationml.presentation", 250 "application/pdf", 251 "text/x-java", 252 "text/plain", 253 "text/x-sh", 254 "text/x-php", 255 "application/x-latext", 256 "text/x-tex" 257 ], 258 "image_mime_types": [ 259 "image/png", 260 "image/jpeg", 261 "image/gif", 262 "image/webp" 263 ], 264 "can_accept_all_mime_types": true 265 } 266 } 267 }, 268 "crawled_at": "2024-01-06T16:36:06.211Z" 269 } 270]
This covers all the key details exposed by the scraper ranging from authorship information to tool integrations.
Sample JSON Output - 404
1[ 2 { 3 "id": "g-404", 4 "status": "failure", 5 "full_url": "https://chat.openai.com/g/g-404", 6 "crawled_at": "2024-01-10T13:29:35.241Z" 7 } 8]
Information Contained In The JSON File
The main sections of information included in the JSON output are:
gizmo – Metadata about the GPT itself like name, description, author, stats etc.
tools – Any tools associated with the GPT like plugins, Python scripts etc.
files – References to files uploaded for the GPT.
product_features – Configuration of features like attachments.
This comprehensive set of details enables thoroughly analyzing and understanding a GPT's purpose, creation, configuration and usage based on the JSON output.
Getting Started With The Scraper
To start using the GPTs Scraper:
- Obtain the gizmoId of the target GPT, contained in its ChatGPT URL
- Input this ID when prompted by the scraper
- The scraper will fetch the GPT's metadata and output it as a JSON file
- The JSON contains a wealth of information about the GPT as covered in this guide
Using the scraper requires no coding or technical expertise. Simply pass a valid gizmoId and receive structured GPT intel via JSON.
Use Cases
The GPTs Scraper enables several useful applications:
GPT analysis – Study GPT configurations, usage patterns, authorship trends GPT archiving – Create dataset of GPT metadata for research Competitive intel – Analyze competitors' GPT strategies and offerings GPT discovery – Search for GPTs like GPT store based on metadata like tags, author etc Sentiment analysis – Extract unstructured text from GPTs for text analysis
These are just some examples of how the structured JSON output can inform both analysis of broader GPT trends as well as individual GPT performance and characteristics.
Limitations
While powerful, the GPTs Scraper does have some key limitations to note:
- Only works for public GPTs – private or restricted GPTs cannot be scraped
- Requires knowing the exact gizmoId, not just name or URL
- Only extracts data exposed by ChatGPT's API
- Does not capture conversation logs or usage data
- May fail if ChatGPT API changes
Despite these constraints, the scraper provides extremely useful metadata for the majority of public GPTs via an easy-to-ingest JSON format.
FAQs
Does the scraper work for private GPTs?
No, it can only access information about public GPTs available on ChatGPT.
What if I don't know the exact gizmoId?
You need the full unique gizmoId contained in the GPT's URL in order for the scraper to locate it and extract metadata.
What format is the output in?
The scraper returns a JSON file containing the GPT metadata. This allows programmatic processing and analysis of the data.
What can I analyze with the scraped GPT data?
Many aspects like author trends, tool usage, configurations, tags, temporal analysis and more. The structured JSON enables flexibly slicing and dicing the data.
Can I scrape conversation logs too?
No, the scraper only returns metadata exposed through ChatGPT's API, not actual conversations or usage logs.
This covers the key capabilities and value proposition of the GPTs Scraper for easily extracting a wealth of knowledge about public ChatGPT extensions. With some clever effort, the JSON output can unlock even deeper GPT insights.