{
  "openapi": "3.1.0",
  "info": {
    "title": "Brightdata API",
    "description": "API for interaction with datasets marketplace",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.brightdata.com"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/datasets/filter": {
      "post": {
        "description": "Create a dataset snapshot based on a provided filter",
        "parameters": [
          {
            "name": "dataset_id",
            "in": "query",
            "description": "ID of the dataset to filter (required in multipart/form-data mode)",
            "required": false,
            "schema": {
              "type": "string",
              "example": "gd_l1viktl72bvl7bjuj0"
            }
          },
          {
            "name": "records_limit",
            "description": "Limit the number of records to be included in the snapshot",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1000
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "dataset_id",
                  "filter"
                ],
                "properties": {
                  "dataset_id": {
                    "type": "string",
                    "description": "ID of the dataset to filter",
                    "example": "gd_l1viktl72bvl7bjuj0"
                  },
                  "records_limit": {
                    "type": "integer",
                    "description": "Limit the number of records to be included in the snapshot",
                    "example": 1000
                  },
                  "filter": {
                    "$ref": "#/components/schemas/DatasetFilter"
                  }
                }
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/FilterDatasetBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Job of creating the snapshot successfully started",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_id": {
                      "type": "string",
                      "description": "ID of the snapshot"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorBody"
                },
                "example": {
                  "validation_errors": [
                    "\"filter.filters[0].invalid_prop\" is not allowed",
                    "\"records_limit\" must be a positive number"
                  ]
                }
              }
            }
          },
          "402": {
            "description": "Not enough funds to create the snapshot",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                },
                "example": {
                  "error": "Your current balance is insufficient to process this data collection request. Please add funds to your account or adjust your request to continue. ($1 is missing)"
                }
              }
            }
          },
          "422": {
            "description": "Provided filter did not match any records",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                },
                "example": {
                  "error": "Provided filter did not match any records"
                }
              }
            }
          },
          "429": {
            "description": "Too many parallel jobs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                },
                "example": {
                  "error": "Maximum limit of 100 jobs per dataset has been exceeded"
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url 'https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w' \\\n  --header \"Authorization: Bearer YOUR_API_KEY\" \\\n  --header \"Content-Type: application/json\" \\\n  --data '{\"filter\": {\"name\": \"url\", \"operator\": \"=\", \"value\": \"https://www.instagram.com/natgeo/\"}, \"records_limit\": 10}'"
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "import requests\n\nurl = \"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\"\nheaders = {\n    \"Authorization\": \"Bearer YOUR_API_KEY\",\n    \"Content-Type\": \"application/json\",\n}\npayload = {\n    \"filter\": {\n        \"name\": \"url\",\n        \"operator\": \"=\",\n        \"value\": \"https://www.instagram.com/natgeo/\"\n    },\n    \"records_limit\": 10\n}\n\nresponse = requests.post(url, headers=headers, json=payload)\nprint(response.text)"
          },
          {
            "lang": "py",
            "label": "Python SDK",
            "source": "# Install: pip install brightdata-sdk\nimport asyncio\nfrom brightdata import BrightDataClient\n\n\nasync def main():\n    async with BrightDataClient(token=\"YOUR_API_KEY\", auto_create_zones=False) as client:\n        # Request a sample snapshot from a dataset\n        snapshot_id = await client.datasets.imdb_movies.sample(records_limit=5)\n\n        # Same pattern works on every dataset\n        await client.datasets.amazon_products.sample(records_limit=10)\n        await client.datasets.linkedin_profiles.sample(records_limit=10)\n\n\nasyncio.run(main())"
          },
          {
            "lang": "javascript",
            "label": "JavaScript",
            "source": "const response = await fetch(\"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\", {\n  method: \"POST\",\n  headers: {\n    \"Authorization\": \"Bearer YOUR_API_KEY\",\n    \"Content-Type\": \"application/json\",\n  },\n  body: JSON.stringify({\n    \"filter\": {\n        \"name\": \"url\",\n        \"operator\": \"=\",\n        \"value\": \"https://www.instagram.com/natgeo/\"\n    },\n    \"records_limit\": 10\n}),\n});\n\nconst data = await response.text();\nconsole.log(data);"
          },
          {
            "lang": "js",
            "label": "JavaScript SDK",
            "source": "// Install: npm install @brightdata/sdk\nimport { bdclient } from '@brightdata/sdk';\n\nconst client = new bdclient({ apiKey: 'YOUR_API_KEY' });\n\nconst ds = client.datasets;\n\n// Query a dataset and return a snapshot_id you can download\nconst snapshotId = await ds.instagramProfiles.query(\n  { url: 'https://www.instagram.com/natgeo/' },\n  { records_limit: 10 },\n);\n\n// Same pattern works on all 126+ datasets\nawait ds.amazonProducts.query({ url: 'https://amazon.com/dp/B123' });\nawait ds.imdbMovies.query({}, { records_limit: 50 });\n\nawait client.close();"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "<?php\n$ch = curl_init(\"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"POST\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\n    \"Authorization: Bearer YOUR_API_KEY\",\n    \"Content-Type: application/json\",\n]);\ncurl_setopt($ch, CURLOPT_POSTFIELDS, json_encode({\n    \"filter\": {\n        \"name\": \"url\",\n        \"operator\": \"=\",\n        \"value\": \"https://www.instagram.com/natgeo/\"\n    },\n    \"records_limit\": 10\n}));\n\n$response = curl_exec($ch);\ncurl_close($ch);\necho $response;"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\tpayload := []byte(\"{\\\"filter\\\": {\\\"name\\\": \\\"url\\\", \\\"operator\\\": \\\"=\\\", \\\"value\\\": \\\"https://www.instagram.com/natgeo/\\\"}, \\\"records_limit\\\": 10}\")\n\treq, _ := http.NewRequest(\"POST\", \"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\", bytes.NewBuffer(payload))\n\treq.Header.Set(\"Authorization\", \"Bearer YOUR_API_KEY\")\n\treq.Header.Set(\"Content-Type\", \"application/json\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil { panic(err) }\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\npublic class Main {\n    public static void main(String[] args) throws Exception {\n        String body = \"{\\\"filter\\\": {\\\"name\\\": \\\"url\\\", \\\"operator\\\": \\\"=\\\", \\\"value\\\": \\\"https://www.instagram.com/natgeo/\\\"}, \\\"records_limit\\\": 10}\";\n        HttpRequest request = HttpRequest.newBuilder()\n            .uri(URI.create(\"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\"))\n            .header(\"Authorization\", \"Bearer YOUR_API_KEY\")\n            .header(\"Content-Type\", \"application/json\")\n            .method(\"POST\", HttpRequest.BodyPublishers.ofString(body))\n            .build();\n\n        HttpResponse<String> response = HttpClient.newHttpClient()\n            .send(request, HttpResponse.BodyHandlers.ofString());\n        System.out.println(response.body());\n    }\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'net/http'\nrequire 'json'\nrequire 'uri'\n\nuri = URI.parse(\"https://api.brightdata.com/datasets/filter?dataset_id=gd_l1vikfnt1wgvvqz95w\")\nrequest = Net::HTTP::Post.new(uri)\nrequest[\"Authorization\"] = \"Bearer YOUR_API_KEY\"\nrequest[\"Content-Type\"] = \"application/json\"\nrequest.body = {\"filter\": {\"name\": \"url\", \"operator\": \"=\", \"value\": \"https://www.instagram.com/natgeo/\"}, \"records_limit\": 10}.to_json\n\nresponse = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }\nputs response.body"
          }
        ]
      }
    },
    "/datasets/list": {
      "get": {
        "description": "Retrieve a list of available datasets",
        "operationId": "listDatasets",
        "tags": [
          "Datasets"
        ],
        "responses": {
          "200": {
            "description": "List of available datasets",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DatasetListItem"
                  },
                  "example": [
                    {
                      "id": "gd_l1vijqt9jfj7olije",
                      "name": "Crunchbase companies information",
                      "size": 2300000
                    },
                    {
                      "id": "gd_l1vikfch901nx3by4",
                      "name": "Instagram - Profiles",
                      "size": 620000000
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Unauthorized"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Internal server error"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/snapshots": {
      "get": {
        "description": "Get dataset snapshots metadata",
        "parameters": [
          {
            "in": "query",
            "name": "dataset_id",
            "description": "Dataset ID",
            "required": false,
            "schema": {
              "type": "string",
              "example": "gd_l1viktl72bvl7bjuj0"
            }
          },
          {
            "in": "query",
            "name": "view_id",
            "description": "View ID",
            "required": false,
            "schema": {
              "type": "string",
              "example": "v_m6iezgld2c56zjwchm"
            }
          },
          {
            "in": "query",
            "name": "status",
            "description": "Snapshot status",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/DatasetSnapshotStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetSnapshotsMeta"
                }
              }
            }
          }
        }
      }
    },
    "/datasets/snapshots/{id}": {
      "get": {
        "description": "Get dataset snapshot metadata",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "A Snapshot ID is a unique identifier for a specific data snapshot, used to retrieve results from a data collection job triggered via the API. Read more about [Snapshot ID](/api-reference/terminology#snapshot-id).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "snap_m2bxug4e2o352v1jv1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetSnapshotMeta"
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "snapshot not found"
                }
              }
            }
          }
        }
      }
    },
    "/datasets/snapshots/{id}/parts": {
      "get": {
        "description": "Get dataset snapshot delivery parts. All query parameters used here need to match those used when downloading the snapshot to get accurate parts",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "A Snapshot ID is a unique identifier for a specific data snapshot, used to retrieve results from a data collection job triggered via the API. Read more about [Snapshot ID](/api-reference/terminology#snapshot-id).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak"
            }
          },
          {
            "in": "query",
            "name": "format",
            "description": "Format of the response",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "jsonl",
                "csv"
              ],
              "default": "json"
            }
          },
          {
            "in": "query",
            "name": "compress",
            "description": "Whether or not the response will be compressed in gzip format",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "in": "query",
            "name": "batch_size",
            "description": "Number of records that will be included in each response batch",
            "schema": {
              "type": "integer",
              "minimum": 1000
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetSnapshotParts"
                }
              }
            }
          },
          "400": {
            "description": "Snapshot is not ready",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "Snapshot is not ready"
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "snapshot not found"
                }
              }
            }
          }
        }
      }
    },
    "/datasets/snapshots/{id}/download": {
      "get": {
        "description": "Get dataset snapshot content",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "A Snapshot ID is a unique identifier for a specific data snapshot, used to retrieve results from a data collection job triggered via the API. Read more about [Snapshot ID](/api-reference/terminology#snapshot-id).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "snap_m2bxug4e2o352v1jv1"
            }
          },
          {
            "in": "query",
            "name": "format",
            "description": "Format of the response",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "jsonl",
                "csv"
              ],
              "default": "jsonl"
            }
          },
          {
            "in": "query",
            "name": "compress",
            "description": "Compress the response in gzip format",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "in": "query",
            "name": "batch_size",
            "description": "Number of records to include in each response batch",
            "schema": {
              "type": "integer",
              "minimum": 1000
            }
          },
          {
            "in": "query",
            "name": "part",
            "description": "Number of batch to return. The numbering starts from 1.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DatasetSnapshotContent"
                }
              }
            }
          },
          "202": {
            "description": "Snapshot not ready",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "Snapshot is building. Try again in a few minutes"
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Snapshot not found"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ErrorBody",
                      "example": {
                        "error": "Snapshot not ready"
                      }
                    },
                    {
                      "$ref": "#/components/schemas/ValidationErrorBody",
                      "example": {
                        "validation_errors": [
                          "\"format\" must be one of [json, ndjson, jsonl, csv]",
                          "\"compress\" must be a boolean",
                          "\"batch_size\" must be greater than or equal to 1000",
                          "\"part\" must be greater than or equal to 1"
                        ]
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json' \\\n  --header \"Authorization: Bearer YOUR_API_KEY\""
          },
          {
            "lang": "python",
            "label": "Python",
            "source": "import requests\n\nurl = \"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\"\nheaders = {\"Authorization\": \"Bearer YOUR_API_KEY\"}\n\nresponse = requests.get(url, headers=headers)\nprint(response.text)"
          },
          {
            "lang": "py",
            "label": "Python SDK",
            "source": "# Install: pip install brightdata-sdk\nimport asyncio\nfrom brightdata import BrightDataClient\nfrom brightdata.datasets import export\n\n\nasync def main():\n    async with BrightDataClient(token=\"YOUR_API_KEY\", auto_create_zones=False) as client:\n        snapshot_id = await client.datasets.imdb_movies.sample(records_limit=5)\n        data = await client.datasets.imdb_movies.download(snapshot_id)\n\n        # Optional: export to file\n        export(data, \"results.json\")\n\n\nasyncio.run(main())"
          },
          {
            "lang": "javascript",
            "label": "JavaScript",
            "source": "const response = await fetch(\"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\", {\n  method: \"GET\",\n  headers: { \"Authorization\": \"Bearer YOUR_API_KEY\" },\n});\n\nconst data = await response.text();\nconsole.log(data);"
          },
          {
            "lang": "js",
            "label": "JavaScript SDK",
            "source": "// Install: npm install @brightdata/sdk\nimport { bdclient } from '@brightdata/sdk';\n\nconst client = new bdclient({ apiKey: 'YOUR_API_KEY' });\n\nconst ds = client.datasets;\n\n// Download a previously-prepared snapshot\nconst rows = await ds.instagramProfiles.download('s_abc123');\nconsole.log(rows);\n\nawait client.close();"
          },
          {
            "lang": "php",
            "label": "PHP",
            "source": "<?php\n$ch = curl_init(\"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\");\ncurl_setopt($ch, CURLOPT_CUSTOMREQUEST, \"GET\");\ncurl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\ncurl_setopt($ch, CURLOPT_HTTPHEADER, [\"Authorization: Bearer YOUR_API_KEY\"]);\n\n$response = curl_exec($ch);\ncurl_close($ch);\necho $response;"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"io\"\n\t\"net/http\"\n)\n\nfunc main() {\n\treq, _ := http.NewRequest(\"GET\", \"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\", nil)\n\treq.Header.Set(\"Authorization\", \"Bearer YOUR_API_KEY\")\n\n\tres, err := http.DefaultClient.Do(req)\n\tif err != nil { panic(err) }\n\tdefer res.Body.Close()\n\n\tbody, _ := io.ReadAll(res.Body)\n\tfmt.Println(string(body))\n}"
          },
          {
            "lang": "java",
            "label": "Java",
            "source": "import java.net.URI;\nimport java.net.http.HttpClient;\nimport java.net.http.HttpRequest;\nimport java.net.http.HttpResponse;\n\npublic class Main {\n    public static void main(String[] args) throws Exception {\n        HttpRequest request = HttpRequest.newBuilder()\n            .uri(URI.create(\"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\"))\n            .header(\"Authorization\", \"Bearer YOUR_API_KEY\")\n            .method(\"GET\", HttpRequest.BodyPublishers.noBody())\n            .build();\n\n        HttpResponse<String> response = HttpClient.newHttpClient()\n            .send(request, HttpResponse.BodyHandlers.ofString());\n        System.out.println(response.body());\n    }\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'net/http'\nrequire 'uri'\n\nuri = URI.parse(\"https://api.brightdata.com/datasets/snapshots/s_abc123/download?format=json\")\nrequest = Net::HTTP::Get.new(uri)\nrequest[\"Authorization\"] = \"Bearer YOUR_API_KEY\"\n\nresponse = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }\nputs response.body"
          }
        ]
      }
    },
    "/datasets/snapshots/{id}/deliver": {
      "post": {
        "description": "Deliver the dataset snapshot",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "description": "The Snapshot ID to deliver. This is the unique identifier returned when you trigger a collection, filter a dataset, or run a subscription. \n\n> Learn more about [Snapshot ID](/api-reference/terminology#snapshot-id).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "snap_m2bxug4e2o352v1jv1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliverSnapshotBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The delivery job ID. Use this ID to track the delivery status (see [Tracking delivery status](/api-reference/marketplace-dataset-api/deliver-snapshot#tracking-delivery-status))."
                    }
                  }
                },
                "example": {
                  "id": "del_abc123xyz"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Batch size exceeds 5GB limit"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found or isn't in ready status.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Snapshot not found"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/delivery_settings/options": {
      "get": {
        "description": "Returns the options available for configuring delivery settings on a dataset view, including supported destination types, filename templates, and batch size.",
        "responses": {
          "200": {
            "description": "Delivery settings options",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "deliver": {
                      "type": "object",
                      "properties": {
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "type": "string"
                        },
                        "deliver_types": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          },
                          "example": [
                            "api_pull",
                            "webhook",
                            "email",
                            "gcs",
                            "gcp_pubsub",
                            "s3",
                            "snowflake",
                            "ali_oss",
                            "sftp",
                            "azure"
                          ]
                        }
                      }
                    },
                    "flatten_csv": {
                      "type": "object",
                      "properties": {
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "type": "string"
                        }
                      }
                    },
                    "delivery_type": {
                      "type": "object",
                      "properties": {
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "type": "string"
                        },
                        "default": {
                          "type": "string"
                        }
                      }
                    },
                    "filename": {
                      "type": "object",
                      "properties": {
                        "required": {
                          "type": "boolean"
                        },
                        "template": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "default": {
                              "type": "string"
                            }
                          }
                        },
                        "extension": {
                          "type": "object",
                          "properties": {
                            "values": {
                              "type": "array",
                              "items": {
                                "type": "string"
                              },
                              "example": [
                                "json",
                                "csv",
                                "xlsx",
                                "ndjson",
                                "parquet",
                                "jsonl"
                              ]
                            },
                            "default": {
                              "type": "string"
                            }
                          }
                        },
                        "tz_offset": {
                          "type": "object",
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "pattern": {
                              "type": "string"
                            },
                            "default": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "batch_size": {
                      "type": "object",
                      "properties": {
                        "required": {
                          "type": "boolean"
                        },
                        "type": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "deliver": {
                    "required": true,
                    "type": "object",
                    "deliver_types": [
                      "api_pull",
                      "webhook",
                      "email",
                      "gcs",
                      "gcp_pubsub",
                      "s3",
                      "snowflake",
                      "ali_oss",
                      "sftp",
                      "azure"
                    ]
                  },
                  "flatten_csv": {
                    "required": false,
                    "type": "boolean"
                  },
                  "delivery_type": {
                    "required": false,
                    "type": "string",
                    "default": "deliver_results"
                  },
                  "filename": {
                    "required": false,
                    "template": {
                      "type": "string",
                      "default": "bd_{[datetime]}"
                    },
                    "extension": {
                      "values": [
                        "json",
                        "csv",
                        "xlsx",
                        "ndjson",
                        "parquet",
                        "jsonl"
                      ],
                      "default": "json"
                    },
                    "tz_offset": {
                      "type": "string",
                      "pattern": "[+-](0\\d|1[01]):[0-5]\\d+",
                      "default": "+00:00"
                    }
                  },
                  "batch_size": {
                    "required": true,
                    "type": "number"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Unauthorized"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/delivery_settings/{destination_type}/schema": {
      "get": {
        "description": "Returns the exact fields required for a specific delivery destination type (for example `s3`, `sftp`, `gcs`, `webhook`). Use this to discover which credentials and parameters must be supplied when updating a view's delivery settings.",
        "parameters": [
          {
            "name": "destination_type",
            "in": "path",
            "description": "The identifier of the delivery strategy. Supported values: `api_pull`, `webhook`, `email`, `gcs`, `gcp_pubsub`, `s3`, `snowflake`, `ali_oss`, `sftp`, `azure`.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Schema for the requested destination type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "properties": {
                      "type": "object"
                    }
                  }
                },
                "example": {
                  "name": "s3",
                  "properties": {
                    "bucket": {
                      "type": "string",
                      "required": true
                    },
                    "credentials": {
                      "type": "object",
                      "required": false,
                      "or": [
                        {
                          "aws-access-key": {
                            "type": "string",
                            "required": true
                          },
                          "aws-secret-key": {
                            "type": "string",
                            "required": true
                          }
                        },
                        {
                          "role_arn": {
                            "type": "string",
                            "required": true
                          },
                          "external_id": {
                            "type": "string",
                            "required": true
                          }
                        }
                      ]
                    },
                    "region": {
                      "type": "string",
                      "required": false
                    },
                    "directory": {
                      "type": "string",
                      "required": false
                    },
                    "endpoint_url": {
                      "type": "string",
                      "required": false
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Unknown destination type",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Destination type not found"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/views": {
      "get": {
        "description": "Retrieves the customer's dataset views. A dataset view represents a saved filtered subscription to a dataset that can be delivered on a schedule. Use the returned `id` with the view delivery settings endpoints.",
        "responses": {
          "200": {
            "description": "List of dataset views",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Unique identifier for the dataset view"
                      },
                      "name": {
                        "type": "string",
                        "description": "Customer-assigned name for the view"
                      },
                      "dataset_id": {
                        "type": "string",
                        "description": "ID of the underlying dataset"
                      },
                      "dataset_name": {
                        "type": "string",
                        "description": "Name of the underlying dataset"
                      },
                      "domain": {
                        "type": "string",
                        "description": "Primary domain of the dataset"
                      }
                    }
                  }
                },
                "example": [
                  {
                    "id": "v_id1",
                    "name": "test1",
                    "dataset_id": "gd_id1",
                    "dataset_name": "Dataset One",
                    "domain": "datasetonename.com"
                  },
                  {
                    "id": "v_id2",
                    "name": "test2",
                    "dataset_id": "gd_id2",
                    "dataset_name": "Dataset Two",
                    "domain": "datasettwoname.com"
                  }
                ]
              }
            }
          },
          "401": {
            "description": "Unauthorized - Invalid or missing API key",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Unauthorized"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/views/{view_id}/delivery_settings": {
      "get": {
        "description": "Retrieves the current delivery configuration for a specific dataset view.",
        "parameters": [
          {
            "name": "view_id",
            "in": "path",
            "description": "Unique identifier for the dataset view.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "v_id1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current delivery configuration for the view",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewDeliverySettings"
                },
                "example": {
                  "deliver": {
                    "type": "s3",
                    "bucket": "bucket_name",
                    "credentials": {
                      "aws-access-key": "AWS_ACCESS_KEY",
                      "aws-secret-key": "AWS_SECRET_KEY"
                    },
                    "region": "us-east-1"
                  },
                  "filename": {
                    "extension": "json",
                    "template": "bd_{[datetime]}",
                    "tz_offset": "+04:00"
                  },
                  "flatten_csv": false,
                  "tar": false,
                  "compress": false,
                  "batch_size": 400
                }
              }
            }
          },
          "404": {
            "description": "View not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "View not found"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Updates the delivery configuration for a specific dataset view. Returns the id of the updated view.",
        "parameters": [
          {
            "name": "view_id",
            "in": "path",
            "description": "Unique identifier for the dataset view.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "v_id1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewDeliverySettings"
              },
              "example": {
                "filename": {
                  "extension": "json",
                  "template": "bd_{[datetime]}",
                  "tz_offset": "+00:00"
                },
                "flatten_csv": false,
                "deliver": {
                  "type": "s3",
                  "bucket": "my-bucket",
                  "credentials": {
                    "aws-access-key": "AKIAIOSFODNN7",
                    "aws-secret-key": "wJalrXUtnFEMI"
                  },
                  "region": "us-east-1",
                  "directory": "my/directory"
                },
                "tar": true,
                "compress": true,
                "batch_size": 1000
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "View delivery settings updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "view_id": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "view_id": "v_id1"
                }
              }
            }
          },
          "400": {
            "description": "Invalid delivery settings payload",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Invalid delivery settings"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "View not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "View not found"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/views/delivery_settings/bulk": {
      "put": {
        "description": "Updates delivery configurations for multiple dataset views in a single request. All listed views receive the same configuration. Returns the ids of the updated views.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "views"
                    ],
                    "properties": {
                      "views": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        },
                        "description": "The list of view IDs to update.",
                        "example": [
                          "v_id1",
                          "v_id2"
                        ]
                      }
                    }
                  },
                  {
                    "$ref": "#/components/schemas/ViewDeliverySettings"
                  }
                ]
              },
              "example": {
                "views": [
                  "v_id1",
                  "v_id2"
                ],
                "filename": {
                  "extension": "json",
                  "template": "bd_{[datetime]}",
                  "tz_offset": "+00:00"
                },
                "flatten_csv": false,
                "deliver": {
                  "type": "s3",
                  "bucket": "bucket_name",
                  "credentials": {
                    "aws-access-key": "AWS_ACCESS_KEY",
                    "aws-secret-key": "AWS_SECRET_KEY"
                  },
                  "region": "us-east-1"
                },
                "tar": true,
                "compress": true,
                "batch_size": 1000
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Views updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "view_ids": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "example": {
                  "view_ids": [
                    "v_id1",
                    "v_id2"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Invalid delivery settings payload",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Invalid delivery settings"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/log/{snapshot_id}": {
      "get": {
        "description": "Retrieve the logs for a specific dataset snapshot",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_mcd3rc6l2md984eoij"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotDataResponse"
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "example": "Snapshot not found"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/trigger": {
      "post": {
        "description": "Scrape the target website based on the inputs provided in body",
        "parameters": [
          {
            "name": "dataset_id",
            "description": "Dataset ID for which data collection is triggered.",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "gd_l1vikfnt1wgvvqz95w"
            }
          },
          {
            "name": "custom_output_fields",
            "description": "List of output columns, separated by `|` (e.g., `url|about.updated_on`). Filters the response to include only the specified fields.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "url|about.updated_on"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "discover_new"
              ]
            },
            "description": "Set it to \"discover_new\" to trigger a collection that includes a discovery phase."
          },
          {
            "name": "discover_by",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Specifies which discovery method to use. Available options: \"keyword\", \"best_sellers_url\", \"category_url\", \"location\" and more (according to the specific API). Relevant only for collections that include a discovery phase."
          },
          {
            "name": "include_errors",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "Include errors report with the results."
          },
          {
            "name": "limit_per_input",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1
            },
            "description": "Limit the number of results per input. Sending `limit_per_input` in the request body, next to `input`, is recommended. The query parameter also caps results on `/scrape` and `/trigger` (verified September 30, 2026)."
          },
          {
            "name": "limit_multiple_results",
            "in": "query",
            "schema": {
              "type": "number",
              "minimum": 1
            },
            "description": "Limit the total number of results."
          },
          {
            "name": "notify",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "URL where the notification will be sent once the collection is finished. Notification will contain snapshot_id and status."
          },
          {
            "name": "endpoint",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Webhook URL where data will be delivered."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "jsonl",
                "csv"
              ]
            },
            "description": "Format of the delivered data: `json`, `ndjson`, `jsonl` or `csv`. To download the snapshot instead, set `format` on the download request; without it the download is NDJSON. For a Parquet file, deliver to storage with `deliver.filename.extension` set to `parquet`. See [output formats](/products/scrapers/scrapers-library/data-delivery#which-output-formats-can-i-use)."
          },
          {
            "name": "auth_header",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Authorization header to be used when sending notification to notify URL or delivering data via webhook endpoint."
          },
          {
            "name": "uncompressed_webhook",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "By default, the data will be sent to the webhook compressed. Pass true to send it uncompressed."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/TriggerAndDeliverBody",
                    "title": "Deliver config and inputs"
                  },
                  {
                    "$ref": "#/components/schemas/TriggerInput",
                    "title": "Only inputs"
                  }
                ]
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "string",
                "description": "A CSV file, in a field called data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collection job successfully started",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_id": {
                      "type": "string",
                      "description": "ID of your request that can be used in the next APIs",
                      "example": "s_m4x7enmven8djfqak"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}": {
      "get": {
        "description": "Download the snapshot content. This endpoint allows you to retrieve the collected dataset once the snapshot status is `ready`. Data can be downloaded in multiple formats and optionally split into batches.",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak"
            },
            "description": "The ID that was returned when the collection was triggered"
          },
          {
            "name": "format",
            "in": "query",
            "description": "Format of the data to be received. Without `format` the snapshot downloads as NDJSON, one record per line; set `json` for a JSON array.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "jsonl",
                "csv"
              ]
            },
            "example": "json"
          },
          {
            "name": "compress",
            "in": "query",
            "description": "Whether the result should be compressed or not",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "name": "batch_size",
            "in": "query",
            "description": "Divide the snapshot into batches of X records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1000
            },
            "example": 1000
          },
          {
            "name": "part",
            "in": "query",
            "description": "If `batch_size` was provided, specifies which batch part to download",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Snapshot data in the requested format",
                  "$ref": "#/components/schemas/DatasetSnapshotContent"
                },
                "examples": {
                  "snapshot_data": {
                    "value": {
                      "about": "Bitstamp is the world\u2019s longest-running cryptocurrency exchange, continuously supporting the Bitcoin economy since 2011. With a proven track record and mature approach to the industry, Bitstamp provides a secure and transparent venue to over four million customers and enables partners to access emerging crypto markets through time-proven infrastructure. NMLS ID: 1905429 View more on the NMLS website here: https://www.nmlsconsumeraccess.org/EntityDetails.aspx/COMPANY/1905429",
                      "affiliated": [],
                      "company_id": "2734818",
                      "company_size": "501-1,000 employees",
                      "country_code": "LU",
                      "crunchbase_url": "https://www.crunchbase.com/organization/bitstamp?utm_source=linkedin&utm_medium=referral&utm_campaign=linkedin_companies&utm_content=profile_cta_anon&trk=funding_crunchbase",
                      "description": "Bitstamp | 30,341 followers on LinkedIn. World&#39;s longest-running crypto exchange | Bitstamp is the world\u2019s longest-running cryptocurrency exchange, continuously supporting the Bitcoin economy since 2011. With a proven track record and mature approach to the industry, Bitstamp provides a secure and transparent venue to over four million customers and enables partners to access emerging crypto markets through time-proven infrastructure.\n\n\n\n\nNMLS ID:\t1905429\nView more on the NMLS website here: https://www.nmlsconsumeraccess.org/EntityDetails.aspx/COMPANY/1905429",
                      "employees": [
                        {
                          "img": "https://media.licdn.com/dms/image/D4E03AQGixwSI9R6RuQ/profile-displayphoto-shrink_100_100/0/1701888289576?e=2147483647&v=beta&t=JCC9EZgKl5VWFcV_qdHIlvE7ZScFDTQeMOcrMrmU5TA",
                          "link": "https://ae.linkedin.com/in/jsgreenwood?trk=org-employees",
                          "subtitle": "Executive leadership & digital transformation",
                          "title": "James Greenwood"
                        },
                        {
                          "img": "https://media.licdn.com/dms/image/C4E03AQGD22qBJsQ-qw/profile-displayphoto-shrink_100_100/0/1524161393516?e=2147483647&v=beta&t=OSS74hoSvrpwsPjEuuF0AmafkMxX9gf_-j5w4XHXG8o",
                          "link": "https://uk.linkedin.com/in/benjamin-parr-940491?trk=org-employees",
                          "subtitle": "Global CMO in Crypto.",
                          "title": "Benjamin Parr"
                        },
                        {
                          "img": "https://media.licdn.com/dms/image/C4D03AQFdUs4Av5rygg/profile-displayphoto-shrink_100_100/0/1516264422356?e=2147483647&v=beta&t=UOtNggS62Q8IyXGN4PosDnhqOhQjJN8AHRBB78zLlXs",
                          "link": "https://si.linkedin.com/in/dominikznidar?trk=org-employees",
                          "subtitle": "Senior backend developer",
                          "title": "Dominik Znidar"
                        },
                        {
                          "img": "https://media.licdn.com/dms/image/C4D03AQFFTmCpr_pIJQ/profile-displayphoto-shrink_100_100/0/1619005680916?e=2147483647&v=beta&t=Waxiqdk9WwM6YR2zD9c_k3KphlAocoylB8k2FU832pY",
                          "link": "https://lu.linkedin.com/in/stephen-bearpark-27aa5b?trk=org-employees",
                          "subtitle": "Chief Financial Officer at Bitstamp",
                          "title": "Stephen Bearpark"
                        }
                      ],
                      "employees_in_linkedin": 365,
                      "followers": 30341,
                      "formatted_locations": [
                        "Luxembourg, Luxembourg L-2520, LU"
                      ],
                      "founded": 2011,
                      "funding": {
                        "last_round_date": "2023-06-24T00:00:00.000Z",
                        "last_round_type": "Corporate round",
                        "rounds": 3
                      },
                      "get_directions_url": [
                        {
                          "directions_url": "https://www.bing.com/maps?where=Luxembourg+L-2520+Luxembourg+LU&trk=org-locations_url"
                        }
                      ],
                      "headquarters": "Luxembourg, Luxembourg",
                      "id": "bitstamp",
                      "image": "https://media.licdn.com/dms/image/D4D3DAQFefkROuFwk5A/image-scale_191_1128/0/1697616530874/bitstamp_cover?e=2147483647&v=beta&t=R9eU5nQ8J-F3kbGES6-aVLhyLnQQ22lTFwhcNOd0fvg",
                      "industries": "Financial Services",
                      "input": {
                        "url": "https://www.linkedin.com/company/2734818"
                      },
                      "investors": [
                        "Ripple"
                      ],
                      "locations": [
                        "Luxembourg, Luxembourg L-2520, LU"
                      ],
                      "logo": "https://media.licdn.com/dms/image/D4D0BAQF_ZNbRZzKn0Q/company-logo_200_200/0/1704443361832/bitstamp_logo?e=2147483647&v=beta&t=ON2r3XfdPTbdlCABksfDNCedtHSkO2z9ReQCEI3ihN0",
                      "name": "Bitstamp",
                      "organization_type": "Privately Held",
                      "similar": [
                        {
                          "Links": "https://www.linkedin.com/company/krakenfx?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "Kraken Digital Asset Exchange"
                        },
                        {
                          "Links": "https://vg.linkedin.com/company/bitfinex?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "Bitfinex"
                        },
                        {
                          "Links": "https://sc.linkedin.com/company/kucoin?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "KuCoin Exchange"
                        },
                        {
                          "Links": "https://www.linkedin.com/company/bybitexchange?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "Bybit"
                        },
                        {
                          "Links": "https://www.linkedin.com/company/geminitrust?trk=similar-pages",
                          "location": "New York, NY",
                          "subtitle": "Financial Services",
                          "title": "Gemini"
                        },
                        {
                          "Links": "https://www.linkedin.com/company/coinbase?trk=similar-pages",
                          "subtitle": "Internet Publishing",
                          "title": "Coinbase"
                        },
                        {
                          "Links": "https://www.linkedin.com/company/binance?trk=similar-pages",
                          "subtitle": "Software Development",
                          "title": "Binance"
                        },
                        {
                          "Links": "https://www.linkedin.com/company/okxofficial?trk=similar-pages",
                          "subtitle": "IT Services and IT Consulting",
                          "title": "OKX"
                        },
                        {
                          "Links": "https://ky.linkedin.com/company/gateio?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "Gate.io"
                        },
                        {
                          "Links": "https://sc.linkedin.com/company/htxglobalofficial?trk=similar-pages",
                          "subtitle": "Financial Services",
                          "title": "HTX"
                        }
                      ],
                      "slogan": "World's longest-running crypto exchange",
                      "specialties": null,
                      "sphere": "Financial Services",
                      "stock_info": null,
                      "type": "Privately Held",
                      "updates": [
                        {
                          "comments_count": 5,
                          "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fen%2Ethebigwhale%2Eio%2Farticle-en%2Fjean-baptiste-graftieaux-bitstamp-we-are-going-to-launch-a-fully-regulated-derivatives-offering&urlhash=0UL3&trk=organization_guest_main-feed-card_feed-article-content",
                          "images": [
                            "https://media.licdn.com/dms/image/sync/D4E27AQEZaBxV1lGFPQ/articleshare-shrink_800/0/1707981346426?e=2147483647&v=beta&t=Y3ZngwpKLa7Xoz6TzgVNzJZYmMk6Fdom59LHlvbZ3Ns"
                          ],
                          "likes_count": 89,
                          "text": "In an exclusive interview with The Big Whale our CEO, JB Graftieaux discusses our commitment to expanding services for businesses announcing \"We are going to launch a fully regulated derivatives offering.\" JB Graftieaux highlights Bitstamp's role in driving the evolution of payment technology, particularly for businesses looking to embrace cryptocurrencies. With a focus on expanding services for both B2B and B2B2C clients, Bitstamp provides comprehensive solutions to empower businesses with the tools and resources they need to thrive in today's rapidly evolving financial landscape. From partnering with market players like the Stuttgart Stock Exchange and Revolut to offering white-label solutions for banks, Bitstamp is at the forefront of facilitating institutional adoption of cryptocurrencies. With a commitment to regulatory compliance and a customer-centric approach, we're dedicated to providing trusted, secure, and innovative solutions that meet the diverse needs of our clients. Read the full interview here: https://lnkd.in/dgW8FPtN",
                          "time": "5d",
                          "title": "Bitstamp"
                        },
                        {
                          "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fconsensus2024%2Ecoindesk%2Ecom%2Fcommunity-session-voting%2F&urlhash=BzoD&trk=organization_guest_main-feed-card_reshare_feed-article-content",
                          "images": [
                            "https://media.licdn.com/dms/image/sync/D5627AQE38PPAJZjCag/articleshare-shrink_800/0/1708030264958?e=2147483647&v=beta&t=pv8BCKVgL_XH4cEPcCCGrqax1jHeAGPQ1f16oSN24Bc"
                          ],
                          "likes_count": 1,
                          "text": "\ud83d\udd14 Today is the last day to vote for our \"DeFi for Capital Markets\" panel at CoinDesk Consensus 2024! If you haven't had the chance to vote yet, we encourage you to cast your vote now! Your vote can make the difference. \ud83d\uddf3\ufe0f #DeFi #Consensus2024",
                          "time": "5d 3w",
                          "title": "Bitstamp"
                        },
                        {
                          "likes_count": 22,
                          "text": "From emerging talents to industry leaders. We're committed to empowering each individual's career development. Want to hear from our team members? Check out the video. Want to nurture your potential with us? Explore our current open roles. \ud83d\udd39 Crypto Team Lead (Slovenia & Croatia): https://lnkd.in/dnMm3XWW \ud83d\udd39 Senior Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d38sC7Ui \ud83d\udd39 Senior Technical Support Engineer (Slovenia & Croatia): https://lnkd.in/dv3vmP3P \ud83d\udd39 Cloud Operations Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d7M7_f5h \ud83d\udd39 Pricing, Liquidity and Markets Manager (Slovenia & UK): https://lnkd.in/dNSB4Tjp \ud83d\udd39 Business Operations and Strategy Manager - Asset Listing (Slovenia & UK): https://lnkd.in/g_7n_e3T Explore our career page: https://lnkd.in/d6MTnSFi #WorkingAtBitstamp",
                          "time": "6d",
                          "title": "Bitstamp",
                          "videos": [
                            null
                          ]
                        },
                        {
                          "comments_count": 1,
                          "likes_count": 31,
                          "text": "We're introducing our latest listing: LMWR, PEPE, BLUR, and VEXT. LMWR empowers content creators, PEPE adds fun to crypto, BLUR brings novelty to the NFTs and VEXT fuels community decisions. Each carefully selected crypto assets enriches our platform, showcasing our commitment to providing a wide range of options. Learn more about the assets and the listing schedule here: https://lnkd.in/dykJtR4a",
                          "time": "1w",
                          "title": "Bitstamp",
                          "videos": [
                            null
                          ]
                        },
                        {
                          "comments_count": 1,
                          "images": [
                            "https://media.licdn.com/dms/image/D4E22AQEKWK29cExlpw/feedshare-shrink_2048_1536/0/1707825435726?e=2147483647&v=beta&t=Iv0y53aveHyYisxmD0PdAiOKe5t15QSrgfR7n5GO2p4",
                            "https://media.licdn.com/dms/image/D4E22AQEVuGD2tPJufA/feedshare-shrink_800/0/1707825436409?e=2147483647&v=beta&t=jAc4jsRxdEUHfV4Z7jy7JwbaZBieFDRq63UBz9l9tkk",
                            "https://media.licdn.com/dms/image/D4E22AQE4-eD8H1CzDA/feedshare-shrink_800/0/1707825440601?e=2147483647&v=beta&t=RbJSdDRDxL4mT5-j1UdR4YWjplzdlDBlexmQZTfU8qk",
                            "https://media.licdn.com/dms/image/D4E22AQEX_VenEJ3dPQ/feedshare-shrink_800/0/1707825438877?e=2147483647&v=beta&t=0bHUwuFXFmgslpdrMxFbdjznxnWpNRPhfhleS_PP3nw",
                            "https://media.licdn.com/dms/image/D4E22AQEQyP-Yyo1CyQ/feedshare-shrink_800/0/1707825439584?e=2147483647&v=beta&t=EG4XLvIM2-Y7LMTmpoIgG5zerGEVrWkyDG6lUW9mPqo"
                          ],
                          "likes_count": 59,
                          "text": "Last week marked an exciting chapter for Bitstamp as we co-hosted a groundbreaking roundtable titled \"The Evolution of Payment Technology for a New Global and Digital Era\" in collaboration with Brunel University London , spearheaded by Qi . During this dynamic event, we explored the future landscape of payments, bridging the worlds of traditional finance and crypto. A heartfelt thank you to our speakers who ignited enlightening discussions: Mann Matharu and Gurnam Selvarajah from Qi , Monomita Nandy from Brunel University London , Nic Verdino from Cardstream , Nick Philpott from Zodia Markets , Charles Kerrigan from CMS Law Firm LLC , Kari Chaudhry from The Atlantic Society , and our very own James Sullivan and Lenart Dol\u017ean from Bitstamp . Our mission? To pave the way for widespread adoption of crypto payments in today's market. With the inaugural roundtable of this series, we've set the stage for transformative change. In partnership with Qi , we're driving the evolution of payment technology, unlocking new possibilities for businesses and consumers alike. With insightful discussions and strategic collaborations, we're shaping the future of finance together. Come join us!",
                          "time": "1w",
                          "title": "Bitstamp"
                        },
                        {
                          "comments_count": 2,
                          "likes_count": 26,
                          "text": "Are you looking for a place where your work is challenging and your time is respected? Where you're encouraged to excel professionally without sacrificing your personal life? That's what we aim for at Bitstamp. Watch the video to see how balance is part of our everyday reality. If this sounds like a perfect environment where you can thrive, check our current open roles: \u25fc Product Operations Manager (Slovenia): https://lnkd.in/d2vQ9tPi \u25fc Crypto Team Lead (Slovenia & Croatia): https://lnkd.in/dnMm3XWW \u25fc Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/dxqXTKpk \u25fc Senior Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d38sC7Ui \u25fc Senior Technical Support Engineer (Slovenia & Croatia): https://lnkd.in/dv3vmP3P \u25fc QA Engineer - Trading (Slovenia & Croatia): https://lnkd.in/dsQVU7ji \u25fc Cloud Operations Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d7M7_f5h \u25fc Pricing, Liquidity and Markets Manager (Slovenia & UK): https://lnkd.in/dNSB4Tjp \u25fc Business Operations and Strategy Manager - Asset Listing (Slovenia & UK): https://lnkd.in/g_7n_e3T Explore our career page: https://lnkd.in/d6MTnSFi #WorkingAtBitstamp",
                          "time": "1w",
                          "title": "Bitstamp",
                          "videos": [
                            null
                          ]
                        },
                        {
                          "images": [
                            "https://media.licdn.com/dms/image/D5622AQGaDA-jWHS00w/feedshare-shrink_800/0/1707396968499?e=2147483647&v=beta&t=Edse9Bu4qZfP8yWlB6XM6xhLQYS0D1UUNlyusH-afiM"
                          ],
                          "likes_count": 19,
                          "text": "We can't wait for tonight's event with Copper.co , where we'll be hosting an exclusive panel and wine tasting experience for our guests. Get ready to explore the latest insights about how to navigate the crypto vineyard. Our Head of Strategic Partnerships and Corp Dev, Eva Gartner , will join our expert panelists in diving deep into key topics such as security, risk mitigation, and liquidity in crypto custody. Raise your glass to a sophisticated blend of insights, as we pair the complexity of crypto custody with the finesse of wine appreciation, creating a symphony of success in the world of digital assets! Please note this evening's event is currently at full capacity. If you are interested in attending, please reach out to the team and you'll be added to the waitlist.",
                          "time": "1w Edited",
                          "title": "Bitstamp"
                        },
                        {
                          "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fblog%2Ebitstamp%2Enet%2Fpost%2Fbitstamp-monthly-briefing-january-2024%2F&urlhash=q2zL&trk=organization_guest_main-feed-card_feed-article-content",
                          "images": [
                            "https://media.licdn.com/dms/image/sync/D4D27AQHQLNtdTnqyXA/articleshare-shrink_800/0/1707322864200?e=2147483647&v=beta&t=ln_cWSvNOtrGWj2CqbsT2wwV5b-Mx0M44JlUOFmHE2s"
                          ],
                          "likes_count": 19,
                          "text": "January's crypto insights from Bitstamp are here. \u2b07 In this month\u2019s briefing, we delve into the market dynamics reshaping the crypto world and take an in-depth look at the nuances of crypto lending and borrowing. We aim to provide valuable insights into these key areas, preparing our readers for informed decision-making in 2024. Discover our latest insights in the monthly briefing: https://lnkd.in/dEuMg8Rz",
                          "time": "1w",
                          "title": "Bitstamp"
                        },
                        {
                          "comments_count": 2,
                          "images": [
                            "https://media.licdn.com/dms/image/D4D22AQF-6xcJCu5tyQ/feedshare-shrink_800/0/1707307881815?e=2147483647&v=beta&t=SeY1P70tTqomRvQanx4bGWuoRQYvVaACw1VzmEwvMDs"
                          ],
                          "likes_count": 29,
                          "text": "Reminder to Register for Our First LinkedIn Audio Event! \ud83d\udce2 \ud83d\uddd3\ufe0f Coming Up: Thursday, February 8th at 3 PM GMT! Join us as we dive into \"Institutional Adoption of Crypto: Regulations and Growth Opportunities in 2024\" Featuring an exceptional lineup of speakers: \ud83c\udf99\ufe0f Simon Barnby , Chlo\u00e9 Nightingale , Amor Sexton , Soledad Contreras , Kevin de Patoul , Danny Bailey , Coby L. , Radoslav Poljasevic and Olly Wilson \ud83e\udd1d Sponsored by Blockchain.com \ud83d\udd17 Be sure to click \"attend\" in the event link below https://lnkd.in/dYNDebUY",
                          "time": "2w",
                          "title": "Zebu Live - London Web3 Conference"
                        },
                        {
                          "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fcryptonews%2Ecom%2Fexclusives%2Fbobby-zagotta-ceo-of-bitstamp-on-bitcoin-etf-the-halving-defi-for-capital-markets-and-2024-predictions-ep-304%2Ehtm&urlhash=72HL&trk=organization_guest_main-feed-card_feed-article-content",
                          "images": [
                            "https://media.licdn.com/dms/image/sync/D5627AQEzMtolOYZaJg/articleshare-shrink_800/0/1708013936402?e=2147483647&v=beta&t=crppgb7R5w6HQ0GUEpkXYLhFsVWBu-K1Y9ta7I7Idn4"
                          ],
                          "likes_count": 38,
                          "text": "I recently sat down with Matt Zahab from Cryptonews to discuss a range of topics, including the potential of Bitcoin ETFs, the impact of the upcoming Halving, and how DeFi is shaping the future of capital markets. I also shared some thoughts on what 2024 might hold for the crypto space. It was a thought-provoking conversation that I believe offers valuable insights for anyone interested in the future of finance. Dive into the full interview: https://lnkd.in/gtyUtMGt #Podcast #Bitcoin Bitstamp",
                          "time": "2w",
                          "title": "Bobby Zagotta"
                        }
                      ],
                      "url": "https://www.linkedin.com/company/bitstamp",
                      "website": "https://www.bitstamp.net/"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameters\n\nMessages:\n- `{validation_errors: [ERRORS]}`\n- Snapshot is expired\n- Snapshot is empty",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "invalid_request": {
                    "value": {
                      "error": "Invalid request parameters"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "User authentication is required",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "unauthorized": {
                    "value": {
                      "error": "User authentication is required"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found\n\nMessages:\n- Snapshot does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "snapshot_not_found": {
                    "value": {
                      "error": "Snapshot not found"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Snapshot is not ready for download",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "snapshot_not_ready": {
                    "value": {
                      "error": "Snapshot is not ready for download"
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Snapshot is not ready yet. The body is one of:\n- `{status: \"STATUS\", message: \"Snapshot is not ready yet, try again in 10s\"}`\n- `{status: \"building\", message: \"Snapshot is building, try again in 10s\"}`"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/deliver/{snapshot_id}": {
      "post": {
        "description": "Deliver the snapshot content to the specified storage",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          },
          {
            "name": "notify",
            "in": "query",
            "schema": {
              "type": "string",
              "example": "https://notify-me.com/"
            },
            "description": "URL where a notification will be sent once the delivery is finished"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliverSnapshotBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "ID of your delivery request that can be used in Monitor Delivery API"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- `{validation_errors: [ERRORS]}`\n- Snapshot is not ready\n- Snapshot is expired\n- Deliver options are missing\n- Snapshot is empty\n- Snapshot is too big for single file delivery\n- Batch size should be at least `MIN_BATCH_SIZE`"
          },
          "404": {
            "description": "Messages:\n- Snapshot does not exist"
          },
          "500": {
            "description": "Messages:\n- Failed to deliver snapshot\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/progress/{snapshot_id}": {
      "get": {
        "description": "The Monitor Progress API is designed to track the current status of a data collection job, also known as a snapshot, indicating whether it is collecting data, processing it, or ready for download.",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak"
            },
            "description": "The ID that was returned when the collection was triggered"
          }
        ],
        "responses": {
          "200": {
            "description": "Running\n\nWhen `status` is `failed`, `error_message` is one of:\n- Something went wrong. Bright Data is looking into it.\n- Account is suspended\n- Account is new, please activate it in account settings. URL\n- No data found in discovery\n- Snapshot is empty\n- Failed to deliver snapshot\n- Failed to download response\n- Failed to trigger collector\n- Internal Server Error\n- Input validation failed: DETAILS",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_id": {
                      "type": "string"
                    },
                    "dataset_id": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the snapshot",
                      "enum": [
                        "starting",
                        "running",
                        "ready",
                        "failed",
                        "canceled"
                      ]
                    }
                  }
                },
                "examples": {
                  "running_snapshot": {
                    "value": {
                      "snapshot_id": "s_m4x7enmven8djfqak",
                      "dataset_id": "ds_123456789",
                      "status": "running"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "User authentication is required",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "unauthorized": {
                    "value": {
                      "error": "User authentication is required"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found\n\nMessages:\n- Snapshot does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                },
                "examples": {
                  "snapshot_not_found": {
                    "value": {
                      "error": "Snapshot not found"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/snapshots": {
      "get": {
        "description": "Get a list of triggered collections, the list contains only snapshots created for a specific dataset",
        "parameters": [
          {
            "name": "dataset_id",
            "in": "query",
            "description": "The dataset identifier (can be found in the specific API page)",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "gd_l1vikfnt1wgvvqz95w"
          },
          {
            "name": "status",
            "in": "query",
            "description": "List only snapshots with a specific status",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "starting",
                "running",
                "ready",
                "failed",
                "canceled"
              ]
            },
            "example": "ready"
          },
          {
            "name": "skip",
            "in": "query",
            "description": "Skip the first `x` snapshots",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "example": 0
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of snapshots to return",
            "required": false,
            "schema": {
              "type": "integer",
              "default": 1000,
              "maximum": 5000
            },
            "example": 0
          },
          {
            "name": "from_date",
            "in": "query",
            "description": "List only snapshots that were created after a specific date",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-01-01"
          },
          {
            "name": "to_date",
            "in": "query",
            "description": "List only snapshots that were created before a specific date",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "example": "2024-04-01"
          },
          {
            "name": "with_total",
            "in": "query",
            "description": "Returns the total number of snapshots if this parameter is included",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "trigger_type",
            "in": "query",
            "description": "Filter snapshots by type",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ALL",
                "CP",
                "API"
              ]
            },
            "example": "ALL"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Snapshot ID returned by trigger API"
                      },
                      "created": {
                        "type": "string",
                        "format": "date-time",
                        "description": "When the collection was requested"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "starting",
                          "running",
                          "ready",
                          "failed",
                          "canceled"
                        ],
                        "description": "Status of the collection"
                      },
                      "dataset_id": {
                        "type": "string",
                        "description": "ID of the dataset for which collection was triggered"
                      },
                      "dataset_size": {
                        "type": "integer",
                        "description": "Amount of records collected"
                      },
                      "trigger": {
                        "type": "object",
                        "properties": {
                          "type": {
                            "type": "string",
                            "description": "Snapshot creation method, CP(no code) or API"
                          }
                        }
                      }
                    }
                  }
                },
                "examples": {
                  "collection_status": {
                    "value": [
                      {
                        "id": "<string>",
                        "created": "2023-11-07T05:31:56Z",
                        "status": "running",
                        "dataset_id": "<string>",
                        "dataset_size": 123,
                        "trigger": {
                          "type": "<string>"
                        }
                      }
                    ]
                  }
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "Error message when snapshot is not found"
                    }
                  }
                },
                "examples": {
                  "not_found": {
                    "value": {
                      "error": "Snapshot not found"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- `{validation_errors: [ERRORS]}`"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/scrapers": {
      "get": {
        "parameters": [
          {
            "name": "dataset_id",
            "in": "query",
            "description": "Return only the scraper with this dataset ID. Omit it to return every scraper on the account.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "gd_l7q7dkf244hwjntr0"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "description": "Return only scrapers whose `domain` matches this value. Omit it to return every scraper on the account.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "amazon.com"
            }
          }
        ],
        "description": "Get every scraper available to your account, with the full input schema, output field list and sample payloads for each of its collection methods. Use the returned `id` as the `dataset_id` parameter on the trigger, scrape and snapshot endpoints, and the `input_schema` of the method you plan to run, such as `scrapers.collect_by_url.input_schema`, to build the request body.\n\nThe response is large. It carries one entry per scraper and one nested object per collection method, so expect several megabytes when your account has access to the full library.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScraperListItem"
                  }
                },
                "examples": {
                  "Single collection method": {
                    "summary": "Scraper with one collection method",
                    "description": "A scraper that supports `collect_by_url` only, with no marketplace dataset behind it.",
                    "value": [
                      {
                        "id": "gd_mk57m0301khq4jmsul",
                        "name": "npmjs",
                        "description": null,
                        "domain": "npmjs.com",
                        "scraper_type": [
                          "collect_by_url"
                        ],
                        "scrapers": {
                          "collect_by_url": {
                            "input_schema": [
                              {
                                "name": "package_name",
                                "type": "text",
                                "required": true
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "url",
                                "type": "url"
                              },
                              {
                                "name": "package_name",
                                "type": "text",
                                "description": "NPMjs package name"
                              },
                              {
                                "name": "version",
                                "type": "text",
                                "description": "NPMjs version number"
                              },
                              {
                                "name": "readme_content",
                                "type": "text",
                                "description": "NPMjs README.md content"
                              }
                            ],
                            "sample_input": [
                              {
                                "package_name": "@brightdata/sdk"
                              }
                            ],
                            "sample_output": {},
                            "link": "https://brightdata.com/cp/scrapers/gd_mk57m0301khq4jmsul/pdp/configuration"
                          }
                        }
                      }
                    ]
                  },
                  "With dataset metadata": {
                    "summary": "Scraper backed by a marketplace dataset",
                    "description": "A scraper that also returns `category`, `size` and `use_cases`. The `output_fields`, `sample_input`, `sample_output` and `use_cases` arrays are truncated here; the endpoint returns them in full.",
                    "value": [
                      {
                        "name": "Amazon products",
                        "id": "gd_l7q7dkf244hwjntr0",
                        "description": "eCommerce product Datasets, for amazon.com and product categories",
                        "domain": "amazon.com",
                        "size": 300000000,
                        "use_cases": [
                          {
                            "name": "Electronics products",
                            "description": "This dataset includes detailed information on various electronics products, such as product descriptions, prices, ratings, seller details, and more.",
                            "subsets_ids": [
                              "cs_1727166178207"
                            ],
                            "categories": [
                              "Electronics ",
                              "Products"
                            ]
                          }
                        ],
                        "category": "ecomm",
                        "scraper_type": [
                          "collect_by_url",
                          "discover_by_keyword",
                          "discover_by_category_url",
                          "discover_by_best_sellers_url",
                          "discover_by_upc"
                        ],
                        "scrapers": {
                          "collect_by_url": {
                            "input_schema": [
                              {
                                "name": "url",
                                "type": "url",
                                "required": true
                              },
                              {
                                "name": "asin",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "origin_url",
                                "type": "url",
                                "required": false
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "language",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "all_variations",
                                "type": "boolean",
                                "required": false
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "title",
                                "type": "text",
                                "description": "Product title"
                              },
                              {
                                "name": "seller_name",
                                "type": "text",
                                "description": "Seller name"
                              },
                              {
                                "name": "brand",
                                "type": "text",
                                "description": "Product brand"
                              }
                            ],
                            "sample_input": [
                              {
                                "url": "https://www.amazon.com/Quencher-FlowState-Stainless-Insulated-Smoothie/dp/B0CRMZHDG8",
                                "asin": "B0CRMZHDG8",
                                "origin_url": "https://www.amazon.com/Quencher-FlowState-Stainless-Insulated-Smoothie/dp/B0CRMZHDG8",
                                "zipcode": "94107",
                                "language": ""
                              }
                            ],
                            "sample_output": {
                              "title": "Levi's SUV003 Trunk for Men | Supima Modal Lycra Blend | Breathable Men\u2019s Underwear | 4-Way Stretch | Anti-Roll, No-Dig Waistband | No Ride-Up | Mid Length Fit | Stay Retention | Pack of 3",
                              "seller_name": null,
                              "brand": "Levi's"
                            },
                            "link": "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/pdp/configuration"
                          },
                          "discover_by_keyword": {
                            "input_schema": [
                              {
                                "name": "keyword",
                                "type": "text",
                                "required": true
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "all_variations",
                                "type": "boolean",
                                "required": false
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "asin",
                                "type": "text"
                              },
                              {
                                "name": "url",
                                "type": "url"
                              },
                              {
                                "name": "origin_url",
                                "type": "url"
                              }
                            ],
                            "sample_input": [
                              {
                                "keyword": "light bulb",
                                "zipcode": ""
                              }
                            ],
                            "sample_output": {
                              "asin": "B0DN5W4XTS",
                              "url": "https://www.amazon.in/Levis-Breathable-Underwear-Anti-Roll-Waistband/dp/B0DN5W4XTS?th=1&psc=1&language=en_IN&currency=INR",
                              "origin_url": null
                            },
                            "link": "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/keyword/configuration"
                          },
                          "discover_by_category_url": {
                            "input_schema": [
                              {
                                "name": "url",
                                "type": "text",
                                "required": true
                              },
                              {
                                "name": "sort_by",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "all_variation",
                                "type": "boolean",
                                "required": false
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "asin",
                                "type": "text"
                              },
                              {
                                "name": "url",
                                "type": "url"
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "description": "zipcode"
                              }
                            ],
                            "sample_input": [
                              {
                                "url": "https://www.amazon.com/s?i=luggage-intl-ship",
                                "sort_by": "Best Sellers",
                                "zipcode": "10001"
                              }
                            ],
                            "sample_output": {
                              "asin": "B0DN5W4XTS",
                              "url": "https://www.amazon.in/Levis-Breathable-Underwear-Anti-Roll-Waistband/dp/B0DN5W4XTS?th=1&psc=1&language=en_IN&currency=INR",
                              "zipcode": "******"
                            },
                            "link": "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/category_url/configuration"
                          },
                          "discover_by_best_sellers_url": {
                            "input_schema": [
                              {
                                "name": "category_url",
                                "type": "text",
                                "required": true
                              },
                              {
                                "name": "collect_child_categories",
                                "type": "boolean",
                                "required": false
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "all_variations",
                                "type": "boolean",
                                "required": false
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "asin",
                                "type": "text"
                              },
                              {
                                "name": "url",
                                "type": "url"
                              },
                              {
                                "name": "origin_url",
                                "type": "url"
                              }
                            ],
                            "sample_input": [
                              {
                                "category_url": "https://www.amazon.com/gp/bestsellers/office-products/ref=pd_zg_ts_office-products",
                                "zipcode": ""
                              }
                            ],
                            "sample_output": {
                              "asin": "B0DN5W4XTS",
                              "url": "https://www.amazon.in/Levis-Breathable-Underwear-Anti-Roll-Waistband/dp/B0DN5W4XTS?th=1&psc=1&language=en_IN&currency=INR",
                              "origin_url": null
                            },
                            "link": "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/best_sellers_url/configuration"
                          },
                          "discover_by_upc": {
                            "input_schema": [
                              {
                                "name": "upc",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "required": false
                              },
                              {
                                "name": "all_variations",
                                "type": "boolean",
                                "required": false
                              }
                            ],
                            "output_fields": [
                              {
                                "name": "url",
                                "type": "url",
                                "description": "url"
                              },
                              {
                                "name": "zipcode",
                                "type": "text",
                                "description": "zipcode"
                              },
                              {
                                "name": "all_variations",
                                "type": "boolean",
                                "description": "all_variations"
                              }
                            ],
                            "sample_input": [],
                            "sample_output": {
                              "url": "https://www.amazon.in/Levis-Breathable-Underwear-Anti-Roll-Waistband/dp/B0DN5W4XTS?th=1&psc=1&language=en_IN&currency=INR",
                              "zipcode": "******",
                              "all_variations": false
                            },
                            "link": "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/upc/configuration"
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/scrape": {
      "post": {
        "description": "This endpoint allows users to fetch data efficiently and ensures seamless integration with their applications or workflows.",
        "summary": "Scrape data and return it directly in the response.",
        "parameters": [
          {
            "name": "dataset_id",
            "in": "query",
            "description": "Dataset ID for which data collection is triggered.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom_output_fields",
            "description": "List of output columns, separated by `|` (e.g., `url|about.updated_on`). Filters the response to include only the specified fields.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "url|about.updated_on"
            }
          },
          {
            "name": "include_errors",
            "in": "query",
            "description": "Include errors report with the results.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "format",
            "in": "query",
            "description": "Format of the response: `ndjson` (default, one record per line), `json` (a JSON array) or `csv`. See [output formats](/products/scrapers/scrapers-library/data-delivery#which-output-formats-can-i-use).",
            "schema": {
              "type": "string",
              "enum": [
                "ndjson",
                "json",
                "csv"
              ],
              "default": "ndjson"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ScrapeRequestWithFields",
                    "title": "Inputs with output filter"
                  },
                  {
                    "$ref": "#/components/schemas/ScrapeInput",
                    "title": "Only inputs"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK\n\nA JSON array of records. An empty array means the inputs produced no records; check the input URLs.",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "202": {
            "description": "Request is still in progress, snapshot will be available later.\n\nThe job ran past the 1-minute limit and continues asynchronously. Poll `GET /datasets/v3/progress/{snapshot_id}`, then download the snapshot. A `retry-after` header says how long to wait.",
            "headers": {
              "retry-after": {
                "description": "Time in seconds before retrying the request.",
                "schema": {
                  "type": "integer",
                  "example": 10
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_id": {
                      "type": "string",
                      "description": "ID of the job that continues asynchronously. Pass it to GET /datasets/v3/progress/{snapshot_id} and GET /datasets/v3/snapshot/{snapshot_id}."
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "snapshot_id": "sd_m1a2b3c4d5e6f7g8h",
                  "message": "Your request is still in progress and cannot be retrieved in this call. Use the provided Snapshot ID to track progress via the Monitor Snapshot endpoint and download it once ready via the Download Snapshot endpoint."
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- `{\"error\": \"Invalid input provided\", \"code\": \"validation_error\", \"errors\": [[FIELD, REASON]]}`: An input field failed validation; `errors` names the field and the reason, for example `[\"url\", \"This field must be a valid url\"]`. Fix the input value and resend\n- `{\"error\": \"Parser cannot parse input: ...\", \"code\": \"parse_error\"}`: The request body is not valid JSON. Fix the JSON and resend\n- No data to trigger: The request holds no inputs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Error body"
                },
                "example": {
                  "error": "Invalid input provided",
                  "code": "validation_error",
                  "type": "validation",
                  "line": "{\"url\":\"not-a-url\",\"asin\":\"\",\"zipcode\":\"\",\"language\":\"\"}",
                  "index": 1,
                  "errors": [
                    [
                      "url",
                      "This field must be a valid url"
                    ]
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Messages (plain text):\n- `Credentials are missing`: No `Authorization` header was sent\n- `Auth method is not supported`: The `Authorization` header is not in a supported format\n- `Invalid credentials`: The API key is wrong\n\nSend `Authorization: Bearer YOUR_API_KEY` with a valid API key",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "Invalid credentials"
              }
            }
          },
          "404": {
            "description": "Messages (plain text):\n- `Collector not found`: The request has no `dataset_id` query parameter\n- `dataset does not exist`: No scraper matches the `dataset_id`",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "example": "dataset does not exist"
              }
            }
          },
          "429": {
            "description": "Messages:\n- Too Many Requests: Same limits as the trigger endpoint; see [How to handle 429 errors](/products/scrapers/scrapers-library/async-requests#getting-a-429-too-many-requests-error)"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/delivery/{delivery_id}": {
      "get": {
        "description": "The call returns the delivery status",
        "parameters": [
          {
            "name": "delivery_id",
            "in": "path",
            "description": "The unique delivery id returned from the delivery API endpoint",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "d_lysxl9vf2dobrb6h31"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The delivery job ID"
                    },
                    "delivery_files": {
                      "type": "array",
                      "description": "List of delivered files",
                      "items": {
                        "type": "object",
                        "properties": {
                          "filename": {
                            "type": "string"
                          },
                          "delivery_ts": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "done",
                        "canceled",
                        "failed"
                      ],
                      "description": "Status of the delivery"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Messages:\n- Delivery does not exist"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/parts": {
      "get": {
        "description": "When requesting a delivery in batches (see available delivery APIs) use this endpoint to check how many parts were created. format, compress and batch_size should exactly match what was sent to the delivery/download API calls.",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Format of the data to be received",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "json",
                "ndjson",
                "jsonl",
                "csv"
              ]
            },
            "example": "json"
          },
          {
            "name": "compress",
            "in": "query",
            "description": "Whether the result should be compressed or not",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "example": true
          },
          {
            "name": "batch_size",
            "in": "query",
            "description": "Divide into batches of X records",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1000
            },
            "example": 1000
          },
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "parts": {
                      "type": "integer",
                      "description": "Number of parts that were created"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- `{validation_errors: [ERRORS]}`\n- Snapshot is not ready"
          },
          "404": {
            "description": "Messages:\n- Snapshot does not exist"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/input": {
      "get": {
        "description": "Get the inputs that were used to trigger the collection",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Inputs in CSV format",
            "content": {
              "text/csv": {
                "schema": {
                  "type": "string",
                  "example": "input1,input2\nvalue1,value2"
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- Snapshot input does not exist"
          },
          "404": {
            "description": "Messages:\n- Snapshot does not exist"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/pause": {
      "post": {
        "description": "Pause the running collection",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/resume": {
      "post": {
        "description": "Resume a paused collection",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/cancel": {
      "post": {
        "description": "Cancel the running collection",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID that was returned when the collection was triggered"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "OK"
                }
              }
            }
          },
          "400": {
            "description": "Messages:\n- Snapshot is not running"
          },
          "404": {
            "description": "Messages:\n- Snapshot does not exist"
          },
          "500": {
            "description": "Messages:\n- Internal server error"
          }
        }
      }
    },
    "/datasets/v3/snapshot/{snapshot_id}/rerun": {
      "post": {
        "description": "Rerun previously created snapshot",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "s_m4x7enmven8djfqak",
              "description": "The ID of previously triggered collection"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "snapshot_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Snapshot not found",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "snapshot not found"
                }
              }
            }
          },
          "400": {
            "description": "Snapshots input is expired",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "Snapshot's inputs storage is expired and no longer available"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DatasetFilter": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/DatasetFilterItem",
            "title": "Single field filter"
          },
          {
            "$ref": "#/components/schemas/DatasetFilterGroup",
            "title": "Filters group"
          },
          {
            "$ref": "#/components/schemas/DatasetFilterItemNoVal",
            "title": "Single field filter w/out value"
          }
        ]
      },
      "DatasetFilterGroup": {
        "type": "object",
        "required": [
          "operator",
          "filters"
        ],
        "additionalProperties": false,
        "properties": {
          "operator": {
            "type": "string",
            "enum": [
              "and",
              "or"
            ]
          },
          "combine_nested_fields": {
            "type": "boolean",
            "description": "For arrays of objects: if true, all filters must match within a single object"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DatasetFilter"
            }
          }
        },
        "example": {
          "operator": "and",
          "filters": [
            {
              "name": "name",
              "operator": "=",
              "value": "John"
            },
            {
              "name": "age",
              "operator": ">",
              "value": "30"
            }
          ]
        }
      },
      "DatasetFilterItem": {
        "type": "object",
        "required": [
          "name",
          "operator",
          "value"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name to filter by"
          },
          "operator": {
            "type": "string",
            "enum": [
              "=",
              "!=",
              ">",
              "<",
              ">=",
              "<=",
              "in",
              "not_in",
              "includes",
              "not_includes",
              "array_includes",
              "not_array_includes"
            ]
          },
          "value": {
            "description": "Value to filter by",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "type": "object"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                }
              }
            ]
          }
        },
        "example": {
          "name": "name",
          "operator": "=",
          "value": "John"
        }
      },
      "DatasetFilterItemNoVal": {
        "type": "object",
        "required": [
          "name",
          "operator"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name to filter by"
          },
          "operator": {
            "type": "string",
            "enum": [
              "is_null",
              "is_not_null"
            ]
          }
        },
        "example": {
          "name": "reviews_count",
          "operator": "is_not_null"
        }
      },
      "DatasetListItem": {
        "type": "object",
        "required": [
          "id",
          "name",
          "size"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the dataset",
            "example": "gd_l1vijqt9jfj7olije"
          },
          "name": {
            "type": "string",
            "description": "Human-readable name of the dataset",
            "example": "Crunchbase companies information"
          },
          "size": {
            "type": "integer",
            "description": "Number of records in the dataset",
            "example": 2300000
          }
        }
      },
      "FilterDatasetBody": {
        "type": "object",
        "required": [
          "filter"
        ],
        "properties": {
          "filter": {
            "$ref": "#/components/schemas/DatasetFilter"
          }
        }
      },
      "DatasetDeliveryType": {
        "type": "string",
        "description": "Type of the delivery target",
        "enum": [
          "azure",
          "build",
          "email",
          "gcs",
          "gcp_pubsub",
          "s3",
          "sftp",
          "snowflake",
          "webhook",
          "ali_oss"
        ]
      },
      "DeliveredFileExt": {
        "type": "string",
        "enum": [
          "json",
          "csv",
          "xlsx",
          "ndjson",
          "parquet",
          "jsonl"
        ]
      },
      "DatasetSnapshotsMeta": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "created": {
              "type": "string",
              "format": "date-time"
            },
            "status": {
              "$ref": "#/components/schemas/DatasetSnapshotStatus"
            },
            "dataset_id": {
              "type": "string"
            },
            "view_id": {
              "type": "string"
            },
            "dataset_size": {
              "type": "integer",
              "description": "Number of records in the snapshot"
            }
          },
          "example": {
            "id": "snap_m2bxug4e2o352v1jv1",
            "created": "2024-01-01T00:00:00Z",
            "status": "ready",
            "dataset_id": "gd_l1viktl72bvl7bjuj0",
            "view_id": "v_m6iezgld2c56zjwchm",
            "dataset_size": 1000
          }
        }
      },
      "DatasetSnapshotMeta": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "enum": [
              "scheduled",
              "building",
              "ready",
              "failed"
            ]
          },
          "dataset_id": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "dataset_size": {
            "type": "integer",
            "description": "Number of records in the snapshot"
          },
          "file_size": {
            "type": "integer",
            "description": "Size of the snapshot file in bytes"
          },
          "cost": {
            "type": "number"
          },
          "error": {
            "type": "string"
          },
          "error_code": {
            "type": "string"
          },
          "warning": {
            "type": "string"
          },
          "warning_code": {
            "type": "string"
          },
          "initiation_type": {
            "type": "string"
          }
        }
      },
      "DatasetSnapshotParts": {
        "type": "object",
        "properties": {
          "parts": {
            "type": "number"
          }
        }
      },
      "DatasetSnapshotContent": {
        "type": "object",
        "example": {
          "about": "Bitstamp is the world\u2019s longest-running cryptocurrency exchange, continuously supporting the Bitcoin economy since 2011. With a proven track record and mature approach to the industry, Bitstamp provides a secure and transparent venue to over four million customers and enables partners to access emerging crypto markets through time-proven infrastructure. NMLS ID: 1905429 View more on the NMLS website here: https://www.nmlsconsumeraccess.org/EntityDetails.aspx/COMPANY/1905429",
          "affiliated": [],
          "company_id": "2734818",
          "company_size": "501-1,000 employees",
          "country_code": "LU",
          "crunchbase_url": "https://www.crunchbase.com/organization/bitstamp?utm_source=linkedin&utm_medium=referral&utm_campaign=linkedin_companies&utm_content=profile_cta_anon&trk=funding_crunchbase",
          "description": "Bitstamp | 30,341 followers on LinkedIn. World&#39;s longest-running crypto exchange | Bitstamp is the world\u2019s longest-running cryptocurrency exchange, continuously supporting the Bitcoin economy since 2011. With a proven track record and mature approach to the industry, Bitstamp provides a secure and transparent venue to over four million customers and enables partners to access emerging crypto markets through time-proven infrastructure.\n\n\n\n\nNMLS ID:\t1905429\nView more on the NMLS website here: https://www.nmlsconsumeraccess.org/EntityDetails.aspx/COMPANY/1905429",
          "employees": [
            {
              "img": "https://media.licdn.com/dms/image/D4E03AQGixwSI9R6RuQ/profile-displayphoto-shrink_100_100/0/1701888289576?e=2147483647&v=beta&t=JCC9EZgKl5VWFcV_qdHIlvE7ZScFDTQeMOcrMrmU5TA",
              "link": "https://ae.linkedin.com/in/jsgreenwood?trk=org-employees",
              "subtitle": "Executive leadership & digital transformation",
              "title": "James Greenwood"
            },
            {
              "img": "https://media.licdn.com/dms/image/C4E03AQGD22qBJsQ-qw/profile-displayphoto-shrink_100_100/0/1524161393516?e=2147483647&v=beta&t=OSS74hoSvrpwsPjEuuF0AmafkMxX9gf_-j5w4XHXG8o",
              "link": "https://uk.linkedin.com/in/benjamin-parr-940491?trk=org-employees",
              "subtitle": "Global CMO in Crypto.",
              "title": "Benjamin Parr"
            },
            {
              "img": "https://media.licdn.com/dms/image/C4D03AQFdUs4Av5rygg/profile-displayphoto-shrink_100_100/0/1516264422356?e=2147483647&v=beta&t=UOtNggS62Q8IyXGN4PosDnhqOhQjJN8AHRBB78zLlXs",
              "link": "https://si.linkedin.com/in/dominikznidar?trk=org-employees",
              "subtitle": "Senior backend developer",
              "title": "Dominik Znidar"
            },
            {
              "img": "https://media.licdn.com/dms/image/C4D03AQFFTmCpr_pIJQ/profile-displayphoto-shrink_100_100/0/1619005680916?e=2147483647&v=beta&t=Waxiqdk9WwM6YR2zD9c_k3KphlAocoylB8k2FU832pY",
              "link": "https://lu.linkedin.com/in/stephen-bearpark-27aa5b?trk=org-employees",
              "subtitle": "Chief Financial Officer at Bitstamp",
              "title": "Stephen Bearpark"
            }
          ],
          "employees_in_linkedin": 365,
          "followers": 30341,
          "formatted_locations": [
            "Luxembourg, Luxembourg L-2520, LU"
          ],
          "founded": 2011,
          "funding": {
            "last_round_date": "2023-06-24T00:00:00.000Z",
            "last_round_type": "Corporate round",
            "rounds": 3
          },
          "get_directions_url": [
            {
              "directions_url": "https://www.bing.com/maps?where=Luxembourg+L-2520+Luxembourg+LU&trk=org-locations_url"
            }
          ],
          "headquarters": "Luxembourg, Luxembourg",
          "id": "bitstamp",
          "image": "https://media.licdn.com/dms/image/D4D3DAQFefkROuFwk5A/image-scale_191_1128/0/1697616530874/bitstamp_cover?e=2147483647&v=beta&t=R9eU5nQ8J-F3kbGES6-aVLhyLnQQ22lTFwhcNOd0fvg",
          "industries": "Financial Services",
          "input": {
            "url": "https://www.linkedin.com/company/2734818"
          },
          "investors": [
            "Ripple"
          ],
          "locations": [
            "Luxembourg, Luxembourg L-2520, LU"
          ],
          "logo": "https://media.licdn.com/dms/image/D4D0BAQF_ZNbRZzKn0Q/company-logo_200_200/0/1704443361832/bitstamp_logo?e=2147483647&v=beta&t=ON2r3XfdPTbdlCABksfDNCedtHSkO2z9ReQCEI3ihN0",
          "name": "Bitstamp",
          "organization_type": "Privately Held",
          "similar": [
            {
              "Links": "https://www.linkedin.com/company/krakenfx?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "Kraken Digital Asset Exchange"
            },
            {
              "Links": "https://vg.linkedin.com/company/bitfinex?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "Bitfinex"
            },
            {
              "Links": "https://sc.linkedin.com/company/kucoin?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "KuCoin Exchange"
            },
            {
              "Links": "https://www.linkedin.com/company/bybitexchange?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "Bybit"
            },
            {
              "Links": "https://www.linkedin.com/company/geminitrust?trk=similar-pages",
              "location": "New York, NY",
              "subtitle": "Financial Services",
              "title": "Gemini"
            },
            {
              "Links": "https://www.linkedin.com/company/coinbase?trk=similar-pages",
              "subtitle": "Internet Publishing",
              "title": "Coinbase"
            },
            {
              "Links": "https://www.linkedin.com/company/binance?trk=similar-pages",
              "subtitle": "Software Development",
              "title": "Binance"
            },
            {
              "Links": "https://www.linkedin.com/company/okxofficial?trk=similar-pages",
              "subtitle": "IT Services and IT Consulting",
              "title": "OKX"
            },
            {
              "Links": "https://ky.linkedin.com/company/gateio?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "Gate.io"
            },
            {
              "Links": "https://sc.linkedin.com/company/htxglobalofficial?trk=similar-pages",
              "subtitle": "Financial Services",
              "title": "HTX"
            }
          ],
          "slogan": "World's longest-running crypto exchange",
          "specialties": null,
          "sphere": "Financial Services",
          "stock_info": null,
          "type": "Privately Held",
          "updates": [
            {
              "comments_count": 5,
              "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fen%2Ethebigwhale%2Eio%2Farticle-en%2Fjean-baptiste-graftieaux-bitstamp-we-are-going-to-launch-a-fully-regulated-derivatives-offering&urlhash=0UL3&trk=organization_guest_main-feed-card_feed-article-content",
              "images": [
                "https://media.licdn.com/dms/image/sync/D4E27AQEZaBxV1lGFPQ/articleshare-shrink_800/0/1707981346426?e=2147483647&v=beta&t=Y3ZngwpKLa7Xoz6TzgVNzJZYmMk6Fdom59LHlvbZ3Ns"
              ],
              "likes_count": 89,
              "text": "In an exclusive interview with The Big Whale our CEO, JB Graftieaux discusses our commitment to expanding services for businesses announcing \"We are going to launch a fully regulated derivatives offering.\" JB Graftieaux highlights Bitstamp's role in driving the evolution of payment technology, particularly for businesses looking to embrace cryptocurrencies. With a focus on expanding services for both B2B and B2B2C clients, Bitstamp provides comprehensive solutions to empower businesses with the tools and resources they need to thrive in today's rapidly evolving financial landscape. From partnering with market players like the Stuttgart Stock Exchange and Revolut to offering white-label solutions for banks, Bitstamp is at the forefront of facilitating institutional adoption of cryptocurrencies. With a commitment to regulatory compliance and a customer-centric approach, we're dedicated to providing trusted, secure, and innovative solutions that meet the diverse needs of our clients. Read the full interview here: https://lnkd.in/dgW8FPtN",
              "time": "5d",
              "title": "Bitstamp"
            },
            {
              "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fconsensus2024%2Ecoindesk%2Ecom%2Fcommunity-session-voting%2F&urlhash=BzoD&trk=organization_guest_main-feed-card_reshare_feed-article-content",
              "images": [
                "https://media.licdn.com/dms/image/sync/D5627AQE38PPAJZjCag/articleshare-shrink_800/0/1708030264958?e=2147483647&v=beta&t=pv8BCKVgL_XH4cEPcCCGrqax1jHeAGPQ1f16oSN24Bc"
              ],
              "likes_count": 1,
              "text": "\ud83d\udd14 Today is the last day to vote for our \"DeFi for Capital Markets\" panel at CoinDesk Consensus 2024! If you haven't had the chance to vote yet, we encourage you to cast your vote now! Your vote can make the difference. \ud83d\uddf3\ufe0f #DeFi #Consensus2024",
              "time": "5d 3w",
              "title": "Bitstamp"
            },
            {
              "likes_count": 22,
              "text": "From emerging talents to industry leaders. We're committed to empowering each individual's career development. Want to hear from our team members? Check out the video. Want to nurture your potential with us? Explore our current open roles. \ud83d\udd39 Crypto Team Lead (Slovenia & Croatia): https://lnkd.in/dnMm3XWW \ud83d\udd39 Senior Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d38sC7Ui \ud83d\udd39 Senior Technical Support Engineer (Slovenia & Croatia): https://lnkd.in/dv3vmP3P \ud83d\udd39 Cloud Operations Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d7M7_f5h \ud83d\udd39 Pricing, Liquidity and Markets Manager (Slovenia & UK): https://lnkd.in/dNSB4Tjp \ud83d\udd39 Business Operations and Strategy Manager - Asset Listing (Slovenia & UK): https://lnkd.in/g_7n_e3T Explore our career page: https://lnkd.in/d6MTnSFi #WorkingAtBitstamp",
              "time": "6d",
              "title": "Bitstamp",
              "videos": [
                null
              ]
            },
            {
              "comments_count": 1,
              "likes_count": 31,
              "text": "We're introducing our latest listing: LMWR, PEPE, BLUR, and VEXT. LMWR empowers content creators, PEPE adds fun to crypto, BLUR brings novelty to the NFTs and VEXT fuels community decisions. Each carefully selected crypto assets enriches our platform, showcasing our commitment to providing a wide range of options. Learn more about the assets and the listing schedule here: https://lnkd.in/dykJtR4a",
              "time": "1w",
              "title": "Bitstamp",
              "videos": [
                null
              ]
            },
            {
              "comments_count": 1,
              "images": [
                "https://media.licdn.com/dms/image/D4E22AQEKWK29cExlpw/feedshare-shrink_2048_1536/0/1707825435726?e=2147483647&v=beta&t=Iv0y53aveHyYisxmD0PdAiOKe5t15QSrgfR7n5GO2p4",
                "https://media.licdn.com/dms/image/D4E22AQEVuGD2tPJufA/feedshare-shrink_800/0/1707825436409?e=2147483647&v=beta&t=jAc4jsRxdEUHfV4Z7jy7JwbaZBieFDRq63UBz9l9tkk",
                "https://media.licdn.com/dms/image/D4E22AQE4-eD8H1CzDA/feedshare-shrink_800/0/1707825440601?e=2147483647&v=beta&t=RbJSdDRDxL4mT5-j1UdR4YWjplzdlDBlexmQZTfU8qk",
                "https://media.licdn.com/dms/image/D4E22AQEX_VenEJ3dPQ/feedshare-shrink_800/0/1707825438877?e=2147483647&v=beta&t=0bHUwuFXFmgslpdrMxFbdjznxnWpNRPhfhleS_PP3nw",
                "https://media.licdn.com/dms/image/D4E22AQEQyP-Yyo1CyQ/feedshare-shrink_800/0/1707825439584?e=2147483647&v=beta&t=EG4XLvIM2-Y7LMTmpoIgG5zerGEVrWkyDG6lUW9mPqo"
              ],
              "likes_count": 59,
              "text": "Last week marked an exciting chapter for Bitstamp as we co-hosted a groundbreaking roundtable titled \"The Evolution of Payment Technology for a New Global and Digital Era\" in collaboration with Brunel University London , spearheaded by Qi . During this dynamic event, we explored the future landscape of payments, bridging the worlds of traditional finance and crypto. A heartfelt thank you to our speakers who ignited enlightening discussions: Mann Matharu and Gurnam Selvarajah from Qi , Monomita Nandy from Brunel University London , Nic Verdino from Cardstream , Nick Philpott from Zodia Markets , Charles Kerrigan from CMS Law Firm LLC , Kari Chaudhry from The Atlantic Society , and our very own James Sullivan and Lenart Dol\u017ean from Bitstamp . Our mission? To pave the way for widespread adoption of crypto payments in today's market. With the inaugural roundtable of this series, we've set the stage for transformative change. In partnership with Qi , we're driving the evolution of payment technology, unlocking new possibilities for businesses and consumers alike. With insightful discussions and strategic collaborations, we're shaping the future of finance together. Come join us!",
              "time": "1w",
              "title": "Bitstamp"
            },
            {
              "comments_count": 2,
              "likes_count": 26,
              "text": "Are you looking for a place where your work is challenging and your time is respected? Where you're encouraged to excel professionally without sacrificing your personal life? That's what we aim for at Bitstamp. Watch the video to see how balance is part of our everyday reality. If this sounds like a perfect environment where you can thrive, check our current open roles: \u25fc Product Operations Manager (Slovenia): https://lnkd.in/d2vQ9tPi \u25fc Crypto Team Lead (Slovenia & Croatia): https://lnkd.in/dnMm3XWW \u25fc Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/dxqXTKpk \u25fc Senior Software Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d38sC7Ui \u25fc Senior Technical Support Engineer (Slovenia & Croatia): https://lnkd.in/dv3vmP3P \u25fc QA Engineer - Trading (Slovenia & Croatia): https://lnkd.in/dsQVU7ji \u25fc Cloud Operations Engineer - Crypto (Slovenia & Croatia): https://lnkd.in/d7M7_f5h \u25fc Pricing, Liquidity and Markets Manager (Slovenia & UK): https://lnkd.in/dNSB4Tjp \u25fc Business Operations and Strategy Manager - Asset Listing (Slovenia & UK): https://lnkd.in/g_7n_e3T Explore our career page: https://lnkd.in/d6MTnSFi #WorkingAtBitstamp",
              "time": "1w",
              "title": "Bitstamp",
              "videos": [
                null
              ]
            },
            {
              "images": [
                "https://media.licdn.com/dms/image/D5622AQGaDA-jWHS00w/feedshare-shrink_800/0/1707396968499?e=2147483647&v=beta&t=Edse9Bu4qZfP8yWlB6XM6xhLQYS0D1UUNlyusH-afiM"
              ],
              "likes_count": 19,
              "text": "We can't wait for tonight's event with Copper.co , where we'll be hosting an exclusive panel and wine tasting experience for our guests. Get ready to explore the latest insights about how to navigate the crypto vineyard. Our Head of Strategic Partnerships and Corp Dev, Eva Gartner , will join our expert panelists in diving deep into key topics such as security, risk mitigation, and liquidity in crypto custody. Raise your glass to a sophisticated blend of insights, as we pair the complexity of crypto custody with the finesse of wine appreciation, creating a symphony of success in the world of digital assets! Please note this evening's event is currently at full capacity. If you are interested in attending, please reach out to the team and you'll be added to the waitlist.",
              "time": "1w Edited",
              "title": "Bitstamp"
            },
            {
              "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fblog%2Ebitstamp%2Enet%2Fpost%2Fbitstamp-monthly-briefing-january-2024%2F&urlhash=q2zL&trk=organization_guest_main-feed-card_feed-article-content",
              "images": [
                "https://media.licdn.com/dms/image/sync/D4D27AQHQLNtdTnqyXA/articleshare-shrink_800/0/1707322864200?e=2147483647&v=beta&t=ln_cWSvNOtrGWj2CqbsT2wwV5b-Mx0M44JlUOFmHE2s"
              ],
              "likes_count": 19,
              "text": "January's crypto insights from Bitstamp are here. \u2b07 In this month\u2019s briefing, we delve into the market dynamics reshaping the crypto world and take an in-depth look at the nuances of crypto lending and borrowing. We aim to provide valuable insights into these key areas, preparing our readers for informed decision-making in 2024. Discover our latest insights in the monthly briefing: https://lnkd.in/dEuMg8Rz",
              "time": "1w",
              "title": "Bitstamp"
            },
            {
              "comments_count": 2,
              "images": [
                "https://media.licdn.com/dms/image/D4D22AQF-6xcJCu5tyQ/feedshare-shrink_800/0/1707307881815?e=2147483647&v=beta&t=SeY1P70tTqomRvQanx4bGWuoRQYvVaACw1VzmEwvMDs"
              ],
              "likes_count": 29,
              "text": "Reminder to Register for Our First LinkedIn Audio Event! \ud83d\udce2 \ud83d\uddd3\ufe0f Coming Up: Thursday, February 8th at 3 PM GMT! Join us as we dive into \"Institutional Adoption of Crypto: Regulations and Growth Opportunities in 2024\" Featuring an exceptional lineup of speakers: \ud83c\udf99\ufe0f Simon Barnby , Chlo\u00e9 Nightingale , Amor Sexton , Soledad Contreras , Kevin de Patoul , Danny Bailey , Coby L. , Radoslav Poljasevic and Olly Wilson \ud83e\udd1d Sponsored by Blockchain.com \ud83d\udd17 Be sure to click \"attend\" in the event link below https://lnkd.in/dYNDebUY",
              "time": "2w",
              "title": "Zebu Live - London Web3 Conference"
            },
            {
              "external_link": "https://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fcryptonews%2Ecom%2Fexclusives%2Fbobby-zagotta-ceo-of-bitstamp-on-bitcoin-etf-the-halving-defi-for-capital-markets-and-2024-predictions-ep-304%2Ehtm&urlhash=72HL&trk=organization_guest_main-feed-card_feed-article-content",
              "images": [
                "https://media.licdn.com/dms/image/sync/D5627AQEzMtolOYZaJg/articleshare-shrink_800/0/1708013936402?e=2147483647&v=beta&t=crppgb7R5w6HQ0GUEpkXYLhFsVWBu-K1Y9ta7I7Idn4"
              ],
              "likes_count": 38,
              "text": "I recently sat down with Matt Zahab from Cryptonews to discuss a range of topics, including the potential of Bitcoin ETFs, the impact of the upcoming Halving, and how DeFi is shaping the future of capital markets. I also shared some thoughts on what 2024 might hold for the crypto space. It was a thought-provoking conversation that I believe offers valuable insights for anyone interested in the future of finance. Dive into the full interview: https://lnkd.in/gtyUtMGt #Podcast #Bitcoin Bitstamp",
              "time": "2w",
              "title": "Bobby Zagotta"
            }
          ],
          "url": "https://www.linkedin.com/company/bitstamp",
          "website": "https://www.bitstamp.net/"
        }
      },
      "DatasetSnapshotStatus": {
        "type": "string",
        "enum": [
          "canceled",
          "scheduled",
          "collecting",
          "digesting",
          "validating",
          "building",
          "delivering",
          "pending_discovery_input",
          "pending_pdp_input",
          "pending_developer_review",
          "pending_owner_review",
          "queued_for_developer_review",
          "ready",
          "failed",
          "rolling_back"
        ]
      },
      "DeliverConfigBase": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "$ref": "#/components/schemas/DatasetDeliveryType"
          },
          "filename": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "template": {
                "type": "string",
                "description": "Template for the filename, including placeholders."
              },
              "extension": {
                "$ref": "#/components/schemas/DeliveredFileExt"
              }
            },
            "required": [
              "template",
              "extension"
            ]
          }
        },
        "required": [
          "type",
          "filename"
        ]
      },
      "DeliverConfigWebhook": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "webhook"
                ]
              },
              "endpoint": {
                "type": "string",
                "format": "uri",
                "description": "The endpoint URL for the webhook."
              }
            }
          }
        ]
      },
      "DeliverConfigBuild": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "build"
                ]
              },
              "endpoint": {
                "type": "string",
                "format": "uri",
                "description": "The endpoint URL for the webhook."
              }
            }
          }
        ]
      },
      "DeliverConfigEmail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "email"
                ]
              },
              "address": {
                "type": "string",
                "format": "email",
                "description": "The recipient email address."
              }
            }
          }
        ]
      },
      "DeliverConfigGCS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "gcs"
                ]
              },
              "bucket": {
                "type": "string",
                "description": "Name of the bucket."
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "description": "Credentials for authentication",
                "properties": {
                  "client_email": {
                    "type": "string"
                  },
                  "private_key": {
                    "type": "string"
                  }
                },
                "required": [
                  "client_email",
                  "private_key"
                ]
              },
              "directory": {
                "type": "string",
                "description": "Target path"
              }
            },
            "required": [
              "bucket",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfigGCSPubSub": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "gcp_pubsub"
                ]
              },
              "topic_id": {
                "type": "string"
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "client_email": {
                    "type": "string"
                  },
                  "private_key": {
                    "type": "string"
                  }
                },
                "required": [
                  "client_email",
                  "private_key"
                ]
              }
            },
            "required": [
              "topic_id",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfigS3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "s3"
                ]
              },
              "bucket": {
                "type": "string"
              },
              "endpoint_url": {
                "type": "string",
                "description": "S3 like host url, available only with Access Key auth"
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "minProperties": 2,
                "properties": {
                  "aws-access-key": {
                    "type": "string"
                  },
                  "aws-secret-key": {
                    "type": "string"
                  },
                  "role_arn": {
                    "type": "string"
                  },
                  "external_id": {
                    "type": "string"
                  }
                },
                "oneOf": [
                  {
                    "title": "Role ARN",
                    "required": [
                      "role_arn",
                      "external_id"
                    ]
                  },
                  {
                    "title": "Access Key",
                    "required": [
                      "aws-access-key",
                      "aws-secret-key"
                    ]
                  }
                ]
              },
              "region": {
                "type": "string"
              },
              "directory": {
                "type": "string"
              }
            },
            "required": [
              "bucket",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfigSnowflake": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "snowflake"
                ]
              },
              "database": {
                "type": "string"
              },
              "schema": {
                "type": "string"
              },
              "stage": {
                "type": "string"
              },
              "role": {
                "type": "string"
              },
              "warehouse": {
                "type": "string"
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "type": "string"
                  },
                  "user": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  }
                },
                "required": [
                  "account",
                  "user",
                  "password"
                ]
              }
            },
            "required": [
              "database",
              "schema",
              "stage",
              "role",
              "warehouse",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfigAliOSS": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "ali_oss"
                ]
              },
              "bucket": {
                "type": "string"
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "access-key": {
                    "type": "string"
                  },
                  "secret-key": {
                    "type": "string"
                  }
                },
                "required": [
                  "access-key",
                  "secret-key"
                ]
              },
              "region": {
                "type": "string"
              },
              "directory": {
                "type": "string"
              }
            },
            "required": [
              "bucket",
              "credentials",
              "region"
            ]
          }
        ]
      },
      "DeliverConfigSFTP": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "sftp"
                ]
              },
              "path": {
                "type": "string",
                "format": "hostname"
              },
              "port": {
                "type": "integer",
                "minimum": 0,
                "maximum": 65535
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "username": {
                    "type": "string"
                  },
                  "password": {
                    "type": "string"
                  },
                  "ssh_key": {
                    "type": "string"
                  },
                  "passphrase": {
                    "type": "string"
                  }
                },
                "required": [
                  "username"
                ]
              },
              "directory": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfigAzure": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DeliverConfigBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "enum": [
                  "azure"
                ]
              },
              "container": {
                "type": "string",
                "minLength": 3,
                "pattern": "^[a-z0-9](-?[a-z0-9])*$"
              },
              "credentials": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9]+$"
                  },
                  "key": {
                    "type": "string",
                    "format": "byte"
                  },
                  "sas_token": {
                    "type": "string"
                  }
                },
                "required": [
                  "account"
                ],
                "oneOf": [
                  {
                    "required": [
                      "key"
                    ],
                    "title": "Access key"
                  },
                  {
                    "required": [
                      "sas_token"
                    ],
                    "title": "Shared access token"
                  }
                ]
              },
              "directory": {
                "type": "string"
              }
            },
            "required": [
              "container",
              "credentials"
            ]
          }
        ]
      },
      "DeliverConfig": {
        "description": "Deliver configuration",
        "oneOf": [
          {
            "title": "Microsoft Azure",
            "$ref": "#/components/schemas/DeliverConfigAzure",
            "description": "Microsoft Azure"
          },
          {
            "title": "Build",
            "$ref": "#/components/schemas/DeliverConfigBuild",
            "description": "Build delivery"
          },
          {
            "title": "Email",
            "$ref": "#/components/schemas/DeliverConfigEmail",
            "description": "Email delivery"
          },
          {
            "title": "Google Cloud",
            "$ref": "#/components/schemas/DeliverConfigGCS",
            "description": "Google Cloud"
          },
          {
            "title": "Google Cloud PubSub",
            "$ref": "#/components/schemas/DeliverConfigGCSPubSub",
            "description": "Google Cloud PubSub"
          },
          {
            "title": "Amazon S3",
            "$ref": "#/components/schemas/DeliverConfigS3",
            "description": "Amazon S3"
          },
          {
            "title": "SFTP",
            "$ref": "#/components/schemas/DeliverConfigSFTP",
            "description": "SFTP"
          },
          {
            "title": "Snowflake",
            "$ref": "#/components/schemas/DeliverConfigSnowflake",
            "description": "Snowflake"
          },
          {
            "title": "Webhook",
            "$ref": "#/components/schemas/DeliverConfigWebhook",
            "description": "Webhook"
          },
          {
            "title": "Aliyun Object Storage Service",
            "$ref": "#/components/schemas/DeliverConfigAliOSS",
            "description": "Aliyun Object Storage Service"
          }
        ],
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "azure": "#/components/schemas/DeliverConfigAzure",
            "build": "#/components/schemas/DeliverConfigBuild",
            "email": "#/components/schemas/DeliverConfigEmail",
            "gcs": "#/components/schemas/DeliverConfigGCS",
            "gcp_pubsub": "#/components/schemas/DeliverConfigGCSPubSub",
            "s3": "#/components/schemas/DeliverConfigS3",
            "sftp": "#/components/schemas/DeliverConfigSFTP",
            "snowflake": "#/components/schemas/DeliverConfigSnowflake",
            "webhook": "#/components/schemas/DeliverConfigWebhook",
            "ali_oss": "#/components/schemas/DeliverConfigAliOSS"
          }
        }
      },
      "DeliverSnapshotBody": {
        "type": "object",
        "properties": {
          "deliver": {
            "$ref": "#/components/schemas/DeliverConfig"
          },
          "compress": {
            "type": "boolean",
            "description": "Deliver file compressed in gzip format",
            "default": false
          },
          "batch_size": {
            "type": "integer",
            "description": "Number of records per file. Use this to split large snapshots into multiple smaller files. Files are split by record count. Recommended for snapshots with more than 1 million records. Note: Maximum batch size is 5GB.",
            "examples": [
              100000
            ]
          }
        }
      },
      "ViewDeliverySettings": {
        "type": "object",
        "description": "Delivery configuration for a dataset view. Used by the view delivery settings GET, PUT and bulk PUT endpoints.",
        "properties": {
          "deliver": {
            "$ref": "#/components/schemas/DeliverConfig",
            "description": "Delivery destination configuration. The `type` field selects the destination (for example `s3`, `sftp`, `webhook`) and the remaining fields depend on the destination schema returned by `/datasets/delivery_settings/{destination_type}/schema`."
          },
          "filename": {
            "type": "object",
            "description": "Configuration for the output file name and format.",
            "properties": {
              "extension": {
                "type": "string",
                "description": "The output file extension.",
                "enum": [
                  "json",
                  "csv",
                  "xlsx",
                  "ndjson",
                  "parquet",
                  "jsonl"
                ],
                "example": "json"
              },
              "template": {
                "type": "string",
                "description": "Filename template. Supports `{[datetime]}` placeholder.",
                "example": "bd_{[datetime]}"
              },
              "tz_offset": {
                "type": "string",
                "description": "Timezone offset applied when rendering the `{[datetime]}` placeholder.",
                "example": "+00:00"
              }
            }
          },
          "flatten_csv": {
            "type": "boolean",
            "description": "When `true`, nested fields are flattened for CSV output.",
            "default": false
          },
          "tar": {
            "type": "boolean",
            "description": "When `true`, delivered files are bundled into a TAR archive.",
            "default": false
          },
          "compress": {
            "type": "boolean",
            "description": "When `true`, delivered files are gzip compressed.",
            "default": false
          },
          "batch_size": {
            "type": "integer",
            "description": "Maximum records per batch file. Use to split large deliveries into smaller files. Maximum batch size is 5GB.",
            "example": 1000
          }
        }
      },
      "ScrapeRequestWithFields": {
        "type": "object",
        "properties": {
          "input": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            },
            "description": "Array of input objects. The fields depend on the scraper, for example `url` or `user_name`."
          },
          "custom_output_fields": {
            "type": "string",
            "description": "List of output columns, separated by `|` (e.g., `url|about.updated_on`). Filters the response to include only the specified fields.",
            "example": "url|about.updated_on"
          },
          "limit_per_input": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "description": "Maximum number of records to return per input, or `null`. Applies to discovery requests, whose result count is otherwise open-ended.",
            "example": null
          }
        },
        "required": [
          "input"
        ],
        "example": {
          "input": [
            {
              "url": "www.linkedin.com/in/bulentakar"
            }
          ],
          "custom_output_fields": "url|about.updated_on"
        }
      },
      "ErrorBody": {
        "type": "object",
        "properties": {
          "error": {
            "type": "string"
          }
        }
      },
      "SnapshotDataResponse": {
        "type": "object",
        "examples": [
          {
            "id": "s_mcd3rc6l2md984eoij",
            "created": "2025-06-26T08:09:32.781Z",
            "status": "ready",
            "dataset_name": "Apple App Store",
            "scraper_name": "Apple App Store - collect by URL",
            "dataset_size": 2,
            "inputs_count": 2,
            "dataset_id": "gd_lsk9ki3u2iishmwrui",
            "discovery_collector_id": null,
            "file_size": 65381,
            "trigger": {
              "type": "CP",
              "user": "user@example.com",
              "ip": "203.0.113.10",
              "trigger_url": "/trigger?customer=hl_dacd97fb&type=url_collection&dataset_id=gd_lsk9ki3u2iishmwrui&include_errors=true&discover_only=false",
              "ts": "2025-06-26T08:09:32.074Z"
            },
            "duration": 6,
            "duration_per_input": 3,
            "success_rate": 1
          }
        ]
      },
      "ValidationErrorBody": {
        "type": "object",
        "properties": {
          "validation_errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TriggerInput": {
        "type": "array",
        "example": [
          {
            "url": "https://il.linkedin.com/company/bright-data"
          }
        ],
        "items": {
          "type": "object",
          "additionalProperties": {}
        }
      },
      "TriggerAndDeliverBody": {
        "type": "object",
        "example": {
          "deliver": {
            "type": "webhook",
            "filename": {
              "extension": "json",
              "template": "{[snapshot_timestamp]}_{[snapshot_id]}"
            },
            "endpoint": "https://example.com/foo/bar"
          },
          "input": [
            {
              "url": "https://il.linkedin.com/company/bright-data"
            }
          ]
        },
        "properties": {
          "deliver": {
            "$ref": "#/components/schemas/DeliverConfig"
          },
          "input": {
            "$ref": "#/components/schemas/TriggerInput"
          },
          "limit_per_input": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 1,
            "description": "Maximum number of records to return per input, or `null`. Applies to discovery requests, whose result count is otherwise open-ended.",
            "example": null
          },
          "custom_output_fields": {
            "type": "string",
            "description": "List of output columns, separated by `|` (e.g., `url|about.updated_on`). Filters the response to include only the specified fields.",
            "example": "url|about.updated_on"
          }
        }
      },
      "ScraperInputField": {
        "type": "object",
        "required": [
          "name",
          "type",
          "required"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name. Use it as an object key inside the `input` array of `POST /datasets/v3/trigger` and `POST /datasets/v3/scrape`.",
            "examples": [
              "url"
            ]
          },
          "type": {
            "type": "string",
            "description": "Value type the parameter accepts. Returned values are `array`, `boolean`, `country`, `date`, `number`, `object`, `string`, `text` and `url`.",
            "examples": [
              "url"
            ]
          },
          "required": {
            "type": "boolean",
            "description": "Whether every input object must carry this parameter."
          }
        }
      },
      "ScraperOutputField": {
        "type": "object",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name as it appears in the collected record. Pass a pipe-separated list of these names as `custom_output_fields` on the trigger and scrape endpoints to narrow the payload.",
            "examples": [
              "seller_name"
            ]
          },
          "type": {
            "type": "string",
            "description": "Value type of the field. Returned values are `array`, `boolean`, `country`, `date`, `error`, `html2html`, `html2ldjson`, `html2markdown`, `html2text`, `image`, `input`, `number`, `object`, `price`, `text`, `url`, `warning` and `warning_code`.",
            "examples": [
              "text"
            ]
          },
          "description": {
            "type": "string",
            "description": "What the field contains. Omitted for fields with no published description."
          }
        }
      },
      "ScraperUseCase": {
        "type": "object",
        "required": [
          "name",
          "description"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the curated subset.",
            "examples": [
              "Instagram business accounts"
            ]
          },
          "description": {
            "type": "string",
            "description": "What the subset contains and who it is for."
          },
          "subsets_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Identifiers of the underlying dataset subsets. Pass one as the `view_id` query parameter on `GET /datasets/snapshots`.",
            "examples": [
              [
                "v_ljv33eslsclvzg2l2"
              ]
            ]
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Free-text labels applied to the subset."
          }
        }
      },
      "ScraperCollectionMethod": {
        "type": "object",
        "description": "Input, output and sample payloads for a single collection method of one scraper.",
        "required": [
          "input_schema",
          "output_fields",
          "sample_input",
          "sample_output",
          "link"
        ],
        "properties": {
          "input_schema": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScraperInputField"
            },
            "description": "Input parameters this collection method accepts."
          },
          "output_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ScraperOutputField"
            },
            "description": "Every field this collection method can return."
          },
          "sample_input": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "Example input objects, each one valid as an entry in the `input` array of a trigger or scrape request. Returns an empty array when the scraper publishes no examples."
          },
          "sample_output": {
            "type": "object",
            "additionalProperties": true,
            "description": "One example output record. Returns an empty object when the scraper publishes no sample record, which is the case for most collection methods."
          },
          "link": {
            "type": "string",
            "format": "uri",
            "description": "Control panel configuration page for this collection method.",
            "examples": [
              "https://brightdata.com/cp/scrapers/gd_l7q7dkf244hwjntr0/pdp/configuration"
            ]
          }
        }
      },
      "ScraperListItem": {
        "type": "object",
        "description": "One scraper, with its dataset ID, target site and the full input and output schema of every collection method it supports.",
        "required": [
          "id",
          "name",
          "domain",
          "scraper_type",
          "scrapers"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Dataset ID of the scraper. Pass it as the `dataset_id` query parameter on the trigger, scrape and snapshot endpoints.",
            "examples": [
              "gd_l7q7dkf244hwjntr0"
            ]
          },
          "name": {
            "type": "string",
            "description": "Display name of the scraper, as shown in the Bright Data control panel.",
            "examples": [
              "Amazon products"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Overview of the data the scraper returns. Returns `null`, or is omitted, when the scraper has no published description."
          },
          "domain": {
            "type": "string",
            "description": "Target site the scraper collects from. Filter on this field to group scrapers by site family.",
            "examples": [
              "amazon.com"
            ]
          },
          "category": {
            "type": "string",
            "description": "Marketplace category. Returned values are `ecomm`, `social`, `business`, `travel`, `real_estate`, `ad_verification`, `classifieds`, `financial`, `geospatial`, `AI Search` and `Data for AI`. Omitted for uncategorized scrapers.",
            "examples": [
              "ecomm"
            ]
          },
          "size": {
            "type": "integer",
            "description": "Record count of the matching Bright Data marketplace dataset. Returned only for scrapers that have one.",
            "examples": [
              300000000
            ]
          },
          "use_cases": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ScraperUseCase"
            },
            "description": "Curated subsets of the matching marketplace dataset. Returns `null`, or is omitted, when the scraper publishes no subsets."
          },
          "scraper_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Collection methods this scraper supports. `collect_by_url` collects a record directly from a URL or another identifier. Each `discover_by_*` method runs a discovery phase first, then collects what it finds. To run one, send `type=discover_new` and the method name without its `discover_by_` prefix as `discover_by` on `POST /datasets/v3/trigger`, so `discover_by_keyword` becomes `discover_by=keyword`. The values match the keys of the `scrapers` object exactly.",
            "examples": [
              [
                "collect_by_url",
                "discover_by_keyword"
              ]
            ]
          },
          "scrapers": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ScraperCollectionMethod"
            },
            "description": "Per-method detail keyed by collection method name. The keys match the `scraper_type` array exactly."
          }
        }
      },
      "ScrapeInput": {
        "type": "array",
        "description": "A bare JSON array of input objects. Also accepted; it cannot carry `limit_per_input`.",
        "example": [
          {
            "url": "https://www.amazon.com/dp/B0FQFB8FMG"
          }
        ],
        "items": {
          "type": "object",
          "additionalProperties": {}
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Use your Bright Data API Key as a Bearer token in the Authorization header.\n\n**How to authenticate:**\n1. Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users\n2. Include the API Key in the Authorization header of your requests\n3. Format: `Authorization: Bearer YOUR_API_KEY`\n\n**Example:**\n```\nAuthorization: Bearer YOUR_API_KEY\n```\n\nLearn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication",
        "bearerFormat": "API Key"
      }
    }
  }
}
