{"files":{"SKILL.md":"---\nname: browshot-api\ndescription: \"Browshot API skill. Use when working with Browshot for screenshot, batch, account. Covers 17 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Browshot API\nAPI version: 1.17.0\n\n## Auth\nApiKey key in query\n\n## Base URL\nhttps://api.browshot.com/api/v1\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /screenshot/create -- request a screenshot\n3. POST /batch/ceate -- create first ceate\n\n## Endpoints\n17 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### Screenshot\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /screenshot/create | Request a screenshot |\n| GET | /screenshot/multiple | Request multiple screenshots |\n| GET | /screenshot/info | Query screenshot status |\n| GET | /screenshot/list | Get information about screenshots |\n| GET | /screenshot/search | Search for screenshots |\n| GET | /screenshot/host | Host thumbnails on your own S3 account or on Browshot. |\n| GET | /screenshot/thumbnail | Retrieve a thumbnail image |\n| GET | /screenshot/share | Share a screenshot |\n| GET | /screenshot/delete | Delete screenshot data |\n| GET | /screenshot/html | Get the HTML code |\n\n### Batch\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /batch/ceate | Requests thousands of screenshtos at once |\n| GET | /batch/info | Get the batch status |\n\n### Account\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /account/info | Get information about your account |\n\n### Instance\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /instance/info | Get information about an instance |\n| GET | /instance/list | Get all instances |\n\n### Browser\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /browser/info | Get information about a browser |\n| GET | /browser/list | Get all browsers |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all create?\" -> GET /screenshot/create\n- \"List all multiple?\" -> GET /screenshot/multiple\n- \"List all info?\" -> GET /screenshot/info\n- \"List all list?\" -> GET /screenshot/list\n- \"List all search?\" -> GET /screenshot/search\n- \"List all host?\" -> GET /screenshot/host\n- \"List all thumbnail?\" -> GET /screenshot/thumbnail\n- \"List all share?\" -> GET /screenshot/share\n- \"List all delete?\" -> GET /screenshot/delete\n- \"List all html?\" -> GET /screenshot/html\n- \"Create a ceate?\" -> POST /batch/ceate\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Browshot API\n@base https://api.browshot.com/api/v1\n@version 1.17.0\n@auth ApiKey key in query\n@endpoints 17\n@toc screenshot(10), batch(2), account(1), instance(2), browser(2)\n\n@group screenshot\n@endpoint GET /screenshot/create\n@desc Request a screenshot\n@required {url: any # URL of the page to get a screenshot for, instance_id: any # instance ID to use}\n@optional {size: any # screenshot size - \"screen\" (default) or \"page\", cache: any # use a previous screenshot (same URL, same instance) if it was done within  seconds. The default value is 24hours. Specify cache=0 if you want a new screenshot., delay: any # number of seconds to wait after the page has loaded. This is used to let JavaScript run longer before taking the screenshot. Use delay=0 to take screenshots faster., flash_delay: any # number of seconds to wait after the page has loaded if Flash elements are present. Use flash_delay=0 to take screenshots faster., screen_width: any # width of the browser window. For desktop browsers only., screen_height: any # height of the browser window. For desktop browsers only. (Note: full-page screenshots can have a height of up to 15,000px), priority: any # assign priority to the screenshot (for private instances only), referer: any # use a custom referrer header - paid screenshots only, post_data: any # send a POST requests with post_data, useful for filling out forms - paid screenshots only, cookie: any # set a cookie for the URL requested (see Custom POST Data, Referer and Cookie) Cookies should be separated by a ; - paid screenshots only, script: any # URL of javascript file to execute after the page load event, details: any # level of information available with screenshot/info, html: any # saves the HTML of the rendered page which can be retrieved by the API call screenshot/html. This feature costs *1 credit* per screenshot., max_wait: any # maximum number of seconds to wait before triggering the PageLoad event. Note that delay will still be used. (default: 0 = disabled), headers: any # any custom HTTP headers. (Not supported with Internet Explorer), shots: any # take multiple screenshots of the same page. This costs 1 additional credit for every 2 additional screenshots., shot_interval: any # number of seconds between 2 screenshots, hosting: any # hosting option - s3 or browshot, hosting_height: any # maximum height of the thumbnail to host, hosting_width: any # maximum height of the thumbnail to host, hosting_scale: any # scale of the thumbnail to host, hosting_bucket: any # S3 bucket to upload the screenshot or thumbnail (required for S3), hosting_file: any # file name to use (for S3 only), hosting_headers: any # list of headers to add to the S3 object (for S3 only)}\n@returns(200) Request accepted\n@errors {403: Error}\n\n@endpoint GET /screenshot/multiple\n@desc Request multiple screenshots\n@required {url: any # URL of the page to get a screenshot for. You can specify multiple url parameters (up to 10)., instance_id: any # instance ID to use. You can specify multiple instance_id parameters (up to 10).}\n@optional {size: any # screenshot size - \"screen\" (default) or \"page\", cache: any # use a previous screenshot (same URL, same instance) if it was done within  seconds. The default value is 24hours. Specify cache=0 if you want a new screenshot., delay: any # number of seconds to wait after the page has loaded. This is used to let JavaScript run longer before taking the screenshot. Use delay=0 to take screenshots faster., flash_delay: any # number of seconds to wait after the page has loaded if Flash elements are present. Use flash_delay=0 to take screenshots faster., screen_width: any # width of the browser window. For desktop browsers only., screen_height: any # height of the browser window. For desktop browsers only. (Note: full-page screenshots can have a height of up to 15,000px), priority: any # assign priority to the screenshot (for private instances only), referer: any # use a custom referrer header - paid screenshots only, post_data: any # send a POST requests with post_data, useful for filling out forms - paid screenshots only, cookie: any # set a cookie for the URL requested (see Custom POST Data, Referer and Cookie) Cookies should be separated by a ; - paid screenshots only, script: any # URL of javascript file to execute after the page load event, details: any # level of information available with screenshot/info, html: any # saves the HTML of the rendered page which can be retrieved by the API call screenshot/html. This feature costs *1 credit* per screenshot., max_wait: any # maximum number of seconds to wait before triggering the PageLoad event. Note that delay will still be used. (default: 0 = disabled), headers: any # any custom HTTP headers. (Not supported with Internet Explorer), hosting: any # hosting option - s3 or browshot, hosting_height: any # maximum height of the thumbnail to host, hosting_width: any # maximum height of the thumbnail to host, hosting_scale: any # scale of the thumbnail to host, hosting_bucket: any # S3 bucket to upload the screenshot or thumbnail (required for S3), hosting_file: any # file name to use (for S3 only), hosting_headers: any # list of headers to add to the S3 object (for S3 only)}\n@returns(200) Request accepted\n@errors {403: Error}\n\n@endpoint GET /screenshot/info\n@desc Query screenshot status\n@required {id: any # screenshot ID received from /api/v1/screenshot/create}\n@optional {details: any # level of details about the screenshot and the page}\n@returns(200) Screenshot found\n\n@endpoint GET /screenshot/list\n@desc Get information about screenshots\n@optional {limit: any # maximum number of screenshots' information to return, status: any # get list of screenshot in a given status (error, finished, in_process)}\n@returns(200) list of screenshot information\n\n@endpoint GET /screenshot/search\n@desc Search for screenshots\n@required {url: any # look for a string matching the URL requested}\n@optional {limit: any # maximum number of screenshots' information to return, status: any # get list of screenshot in a given status (error, finished, in_process)}\n@returns(200) list of screenshot information\n\n@endpoint GET /screenshot/host\n@desc Host thumbnails on your own S3 account or on Browshot.\n@required {id: any # screenshot ID, hosting: any # hosting option: s3 or browshot}\n@optional {width: any # width of the thumbnail, height: any # height of the thumbnail, scale: any # scale of the thumbnail, bucket: any # S3 bucket to upload the screenshot or thumbnail - required with hosting=s3, file: any # file name to use - optional, used with hosting=s3, headers: any # HTTP headers to add to your S3 object - optional, used with hosting=s3}\n@returns(200) list of screenshot information\n\n@endpoint GET /screenshot/thumbnail\n@desc Retrieve a thumbnail image\n@required {id: any # screenshot ID}\n@optional {width: any # width of the thumbnail, height: any # height of the thumbnail, scale: any # scale of the thumbnail, zoom: any # zoom 1 to 100 percent, ratio: any # Use fit to keep the original page ration, and fill to get a thumbnail for the exact width and height.  specified. If you provide both width and height, you need to specify the ratio: fit to keep the original width/height ratio (the thumbnail might be smaller than the specified width and height), or fill to crop the image if necessary., left: any # left edge of the area to be cropped, right: any # right edge of the area to be cropped, top: any # top edge of the area to be cropped, bottom: any # bottom edge of the area to be cropped, format: any # image as PNG or JPEG, shot: any # get the second or third screenshot if multiple screenshots were requested, quality: any # JPEG quality factor (for JPEG thumbnails only)}\n@returns(200) thumbnail\n@errors {404: Screenshot not found}\n\n@endpoint GET /screenshot/share\n@desc Share a screenshot\n@required {id: any # screenshot ID}\n@optional {note: any # note to add on the sharing page}\n@returns(200) list of screenshot information\n\n@endpoint GET /screenshot/delete\n@desc Delete screenshot data\n@required {id: any # screenshot ID}\n@optional {data: any # data to remove. You can specify multiple of them (separated by a ,): *image* (image files), *url* (url requested), *metadata* (time added, time finished, post data, cookie and referer used for the screenshot), *all* (all data and files)}\n@returns(200) list of screenshot information\n\n@endpoint GET /screenshot/html\n@desc Get the HTML code\n@required {id: any # screenshot ID}\n\n@endgroup\n\n@group batch\n@endpoint POST /batch/ceate\n@desc Requests thousands of screenshtos at once\n@required {instance_id: any # instance ID to use}\n@optional {file: any # text file to use, size: any # screenshots size - \"screen\" (default) or \"page\", name: any # name of the batch, width: any # thumbnail width., height: any # thumbnail height, delay: any # number of seconds to wait after the page has loaded. This is used to let JavaScript run longer before taking the screenshot. Use delay=0 to take screenshots faster., flash_delay: any # number of seconds to wait after the page has loaded if Flash elements are present. Use flash_delay=0 to take screenshots faster., screen_width: any # width of the browser window. For desktop browsers only., screen_height: any # height of the browser window. For desktop browsers only. (Note: full-page screenshots can have a height of up to 15,000px), priority: any # assign priority to the screenshot (for private instances only), referer: any # use a custom referrer header - paid screenshots only, post_data: any # send a POST requests with post_data, useful for filling out forms - paid screenshots only, cookie: any # set a cookie for the URL requested (see Custom POST Data, Referer and Cookie) Cookies should be separated by a ; - paid screenshots only, script: any # URL of javascript file to execute after the page load event, details: any # level of information available with screenshot/info, html: any # saves the HTML of the rendered page which can be retrieved by the API call screenshot/html. This feature costs *1 credit* per screenshot., max_wait: any # maximum number of seconds to wait before triggering the PageLoad event. Note that delay will still be used. (default: 0 = disabled), headers: any # any custom HTTP headers. (Not supported with Internet Explorer), format: any # image as PNG or JPEG, hosting: any # hosting option - s3 or browshot, hosting_height: any # maximum height of the thumbnail to host, hosting_width: any # maximum height of the thumbnail to host, hosting_scale: any # scale of the thumbnail to host, hosting_bucket: any # S3 bucket to upload the screenshot or thumbnail (required for S3), hosting_file: any # file name to use (for S3 only), hosting_headers: any # list of headers to add to the S3 object (for S3 only)}\n@returns(200) batch information\n\n@endpoint GET /batch/info\n@desc Get the batch status\n@required {id: any # batch ID}\n@returns(200) batch information\n\n@endgroup\n\n@group account\n@endpoint GET /account/info\n@desc Get information about your account\n@optional {details: any # level of information returned}\n@returns(200) Account information\n\n@endgroup\n\n@group instance\n@endpoint GET /instance/info\n@desc Get information about an instance\n@required {id: any # instance ID}\n@returns(200) Instance information\n\n@endpoint GET /instance/list\n@desc Get all instances\n@returns(200) Instance information\n\n@endgroup\n\n@group browser\n@endpoint GET /browser/info\n@desc Get information about a browser\n@required {id: any # browser ID}\n@returns(200) Browser information\n\n@endpoint GET /browser/list\n@desc Get all browsers\n@returns(200) Instance information\n\n@endgroup\n\n@end\n"}}