{
  "openapi": "3.0.1",
  "info": {
    "title": "GIF Scroll Automation : Web Design with Smooth Scrolling GIFs",
    "description": "Create an animated GIF of any scrolling webpage with this free tool. Perfect for testing UX, showcasing projects, or capturing interactive elements. Customize scroll speed, delay, and slow down specific areas to highlight content. Capture animations and clickable features seamlessly in one GIF.",
    "version": "0.0",
    "x-build-id": "UF4iSVtDxtVMZR0gI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dainty_screw~gif-scroll-automation-web-design-with-smooth-scrolling-gifs/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dainty_screw-gif-scroll-automation-web-design-with-smooth-scrolling-gifs",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/dainty_screw~gif-scroll-automation-web-design-with-smooth-scrolling-gifs/runs": {
      "post": {
        "operationId": "runs-sync-dainty_screw-gif-scroll-automation-web-design-with-smooth-scrolling-gifs",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/dainty_screw~gif-scroll-automation-web-design-with-smooth-scrolling-gifs/run-sync": {
      "post": {
        "operationId": "run-sync-dainty_screw-gif-scroll-automation-web-design-with-smooth-scrolling-gifs",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "url",
          "proxyOptions"
        ],
        "properties": {
          "url": {
            "title": "Website URL",
            "type": "string",
            "description": "Website URL"
          },
          "proxyOptions": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Select proxies to be used by your actor."
          },
          "frameRate": {
            "title": "Frame rate",
            "type": "integer",
            "description": "Number of frames per second (fps)",
            "default": 7
          },
          "scrollDown": {
            "title": "Scroll down",
            "type": "boolean",
            "description": "When selected the actor will scroll down the page and capture it to create the gif.",
            "default": true
          },
          "scrollPercentage": {
            "title": "Scroll percentage",
            "type": "integer",
            "description": "Amount to scroll down determined as a percentage of the vierport height.\n\nFor example, if viewport height is 1000 pixels and scroll percentage is set to 10%.\nThen scroll down by 10% of viewport height: 1000 px = 100 px",
            "default": 10
          },
          "recordingTimeBeforeAction": {
            "title": "Capture before action",
            "type": "integer",
            "description": "Amount of time to capture the screen before doing any action like scrolling down or clicking.",
            "default": 1000
          },
          "clickSelector": {
            "title": "Click selector",
            "type": "string",
            "description": "Used to click an element and record it."
          },
          "recordingTimeAfterClick": {
            "title": "Time to record after click",
            "type": "integer",
            "description": "Amount of time to record the screen after clicking an element with the click selector."
          },
          "waitToLoadPage": {
            "title": "Wait to load",
            "type": "integer",
            "description": "Set time to wait in the beginning so that page is fully loaded.\nFor example when there is loading bar in the beginning that you don't want in the recording.",
            "default": 0
          },
          "cookieWindowSelector": {
            "title": "Cookie window selector",
            "type": "string",
            "description": "<a href=\"https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors\" target=\"_blank\">CSS selector</a> for the cookie pop-up window that will be used to remove the element from the DOM."
          },
          "slowDownAnimations": {
            "title": "Slow down animations",
            "type": "boolean",
            "description": "When selected it slows down animations on the page so they can be properly captured.",
            "default": false
          },
          "lossyCompression": {
            "title": "Lossy",
            "type": "boolean",
            "description": "Lossy LZW compression of GIF using <a href=\"https://kornel.ski/lossygif/\" target=\"_blank\">Giflossy</a> (part of Gifsicle now).",
            "default": true
          },
          "loslessCompression": {
            "title": "Losless",
            "type": "boolean",
            "description": "Losless compression of GIF using <a href=\"https://www.lcdf.org/gifsicle/\" target=\"_blank\">Gifsicle.</a>",
            "default": false
          },
          "viewportWidth": {
            "title": "Viewport width",
            "type": "integer",
            "description": "Inner width of browser window",
            "default": 1366
          },
          "viewportHeight": {
            "title": "Viewport height",
            "type": "integer",
            "description": "Inner height browser window",
            "default": 768
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}