Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.
You can access APIs blocked by Cross-Origin Resource Sharing (CORS) restriction by using either Hoppscotch Agent, Proxyscotch or custom middleware. You can also use the Hoppscotch web extension to intercept requests and responses.
The Hoppscotch Agent is a micro application designed to mitigate the challenges posed by CORS in modern web browsers. Acting as a local intermediary, it intercepts API requests made through the Hoppscotch web app and reroutes them through your local machine. This means that the Hoppscotch Agent handles requests using your local network configuration.
Download the Hoppscotch Agent for your operating system:
Mac
Apple Silicon (.dmg)
Download for Apple Silicon-based Mac.
Intel (.dmg)
Download for Intel-based Mac.
Windows
Windows Installer (.msi)
Download the installer for Windows (64-bit).
Windows Portable (.exe)
Download the portable version for Windows (64-bit).
Linux
Debian (.deb)
Download the Debian package for Debian-based Linux distributions.
App Image (.AppImage)
Download the AppImage for Linux.
Open Hoppscotch app and navigate to the “Interceptors” section in the “Settings” page.
Locate the “Agent” option within the Interceptors section to initiate a connection to your local agent.
The application will prompt you for a “One-Time Verification Code”. This verification code will be generated within the Hoppscotch Agent.
Enter the verification code into the application to establish a secure connection.
Once connected, all API requests made through the Hoppscotch web app will be routed through Hoppscotch agent, effectively eliminating CORS-related issues.
Recommended interceptor for most users as it is compatible with all platforms.
A proxy server acts as an intermediary between your device and the internet, forwarding requests and responses to and from the desired API. By routing requests through a proxy, you can bypass CORS restrictions and access APIs that would otherwise be blocked by the browser.
Enable proxy interceptor from “Settings page” under the Interceptors section.
You can replace the default Proxy URL with your own proxy middleware if you wish or use Proxyscotch, which acts as a remote proxy server for routing API requests.
Proxyscotch is our official proxy server. It is an MIT licensed open-source project that can bypass Cross-Origin Resource Sharing (CORS) restrictions by routing API requests through a remotely hosted proxy, ensuring that requests originate from a trusted environment.
To use Proxyscotch with a minimal setup, you can pull and run the official pre-built Docker image. This provides an instant proxy environment without requiring manual compilation or installation.
You can host Proxyscotch on your own server by following the instructions below:
# Pull the latest Proxyscotch image from Docker Hubdocker pull hoppscotch/proxyscotch# Run the container in detached mode, exposing port 9159docker run -d -p 9159:9159 --name proxyscotch hoppscotch/proxyscotch
If you prefer a native installation, download and install both the Desktop and Server binaries for your operating system.
Mac
Tray application (macOS)
Download proxyscotch for macOS desktops. This will install the tray application for seamless proxy management.
Proxy Server Binary (Intel-based macOS)
Download the proxy server binary for Intel-based (x86-64) Macs.
Proxy Server Binary (Apple Silicon macOS)
Download the proxy server binary for Apple Silicon-based (ARM64) Macs.
Windows
Tray application (Windows - AMD)
Download proxyscotch for AMD-based Windows desktops. This will install the tray application for easy proxy management.
Proxy Server Binary (Windows - AMD)
Download the proxy server binary for AMD-based Windows machines.
Tray application (Windows - ARM)
Download proxyscotch for ARM-based Windows desktops. This will install the tray application for easy proxy management.
Proxy Server Binary (Windows - ARM)
Download the proxy server binary for ARM-based Windows machines.
Linux
Tray application (Linux - AMD)
Download proxyscotch for AMD-based Linux desktops. This will install the tray application for seamless proxy management.
Proxy Server Binary (Linux - AMD)
Download the proxy server binary for AMD-based Linux machines.
The proxy will add a desktop application to your system tray, providing quick access to various proxy settings such as setting the access token. After launching the application, a dialog will prompt you to complete the certificate installation process. For more details on how to install the certificate, visit this wiki.Upon activation, the server will run in the background and interact with the proxy to route and manage requests.
After building the server, use the following command to start the proxy server:
$ ./out/<platform>-server/server --host="<hostname>:<port>" --token="<token_or_blank>"# e.g. on Linux$ ./out/linux-server/server --host="localhost:9159" --token=""# or on Windows$ ./out/windows-server/server.exe --host="localhost:9159" --token=""
When the token is left blank, it grants unrestricted access to your proxy server. While this might be convenient, please be aware of the potential security risks and consider whether this level of open access is appropriate for your use case.
Once the container is running or the server is active, configure Hoppscotch to use http://localhost:9159 as the Proxy URL in the “Settings” page.This setup will route all API requests through Proxyscotch, facilitating communication with APIs that enforce strict CORS policies.
Since CORS is as simple as adding some HTTP headers, it’s only blocked by the browser. You can build some proxy-like component that will make a call for you and get the response from the desired API. You add it to the headers and then send it back to Hoppscotch.
Click on the Hoppscotch Browser Extension icon from the browser toolbar and ensure that hoppscotch.io is in your active origins. If you are using Hoppscotch Self-Host, add your own domain as a new origin
Refresh the Hoppscotch web app.
Open the interceptor and change the middleware to the browser extensionYou can either go to the settings and enable the use of the browser extension as shown below:
Or you can open the interceptor menu and change the middleware as shown below:
The origin list defines the URLs that the extension can connect to. If you’re using hoppscotch.io, then you do not need to add any other origins. However, if you are using a self-hosted instance, you should add the domain of your self-hosted instance as an active origin.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hoppscotch Documentation","description":"Find user guides, quickstarts, tutorials, use cases, code samples, and more.","colors":{"primary":"#0D9373","light":"#07C983","dark":"#0D9373"},"logo":{"light":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/light.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=b61955a81bc00d70adfa5f8633848cd9","dark":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/dark.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=2630e96c15d9cdafd16ed468ce7e146d"},"favicon":"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/favicon.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=50976061e41b634209dc92da5209db5b","navbar":{"primary":{"type":"github","href":"https://github.com/hoppscotch/hoppscotch"}},"footer":{"socials":{"discord":"https://hoppscotch.io/discord","x":"https://hoppscotch.io/twitter","linkedin":"https://www.linkedin.com/company/hoppscotch"}},"search":{"prompt":"Search"},"styling":{"eyebrows":"breadcrumbs","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hoppscotch","hasAudioNarration":false,"actualSubdomain":"hoppscotch","customDomains":["docs.hoppscotch.io"],"gitSource":{"type":"github","owner":"hoppscotch","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ae39a0ccbba577a6e0590e3","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Documentation","count":84},{"language":"default","tag":"Features","count":26},{"language":"default","tag":"Getting started","count":25},{"language":"default","tag":"Self-Host","count":20},{"language":"default","tag":"Enterprise Edition","count":12},{"language":"default","tag":"Support","count":12},{"language":"default","tag":"Resources","count":10},{"language":"default","tag":"RESTful API","count":10},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Clients","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"documentation/features/interceptor","slug":"/documentation/features/interceptor","pageMetadata":{"sidebarTitle":"Interceptor","title":"Interceptor","description":"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.","href":"/documentation/features/interceptor"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CodeBlock,Frame,Heading,Icon,Note,OptimizedImage,Tab,Table,Tabs,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`You can access APIs blocked by `,_jsx(_components.code,{children:`Cross-Origin Resource Sharing (CORS)`}),` restriction by using either Hoppscotch Agent, Proxyscotch or custom middleware. You can also use the Hoppscotch web extension to intercept requests and responses.`]}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Hoppscotch Agent`,id:`hoppscotch-agent`,\"data-child-heading-ids\":`[\"hoppscotch-agent\"]`,children:[_jsx(Heading,{level:`2`,id:`hoppscotch-agent`,children:`Hoppscotch Agent`}),_jsxs(_components.p,{children:[`The Hoppscotch Agent is a micro application designed to mitigate the challenges posed by `,_jsx(_components.code,{children:`CORS`}),` in modern web browsers. Acting as a local intermediary, it intercepts API requests made through the Hoppscotch web app and reroutes them through your local machine. This means that the Hoppscotch Agent handles requests using your local network configuration.`]}),_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Download the Hoppscotch Agent for your operating system:`}),`\n`]}),_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Mac`,icon:`apple`,id:`mac`,children:[_jsx(Card,{title:`Apple Silicon (.dmg)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_mac_aarch64.dmg`,children:_jsx(_components.p,{children:`Download for Apple Silicon-based Mac.`})}),_jsx(Card,{title:`Intel (.dmg)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_mac_x64.dmg`,children:_jsx(_components.p,{children:`Download for Intel-based Mac.`})})]}),_jsxs(Accordion,{title:`Windows`,icon:`windows`,id:`windows`,children:[_jsx(Card,{title:`Windows Installer (.msi)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_win_x64.msi`,children:_jsx(_components.p,{children:`Download the installer for Windows (64-bit).`})}),_jsx(Card,{title:`Windows Portable (.exe)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_win_x64_portable.zip`,children:_jsx(_components.p,{children:`Download the portable version for Windows (64-bit).`})})]}),_jsxs(Accordion,{title:`Linux`,icon:`linux`,id:`linux`,children:[_jsx(Card,{title:`Debian (.deb)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_linux_x64.deb`,children:_jsx(_components.p,{children:`Download the Debian package for Debian-based Linux distributions.`})}),_jsx(Card,{title:`App Image (.AppImage)`,href:`https://github.com/hoppscotch/agent-releases/releases/latest/download/Hoppscotch_Agent_linux_x64.AppImage`,children:_jsx(_components.p,{children:`Download the AppImage for Linux.`})})]})]}),_jsxs(_components.ol,{start:`2`,children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.a,{href:`https://hoppscotch.io`,children:`Hoppscotch`}),` app and navigate to the “`,_jsx(_components.strong,{children:`Interceptors`}),`” section in the `,_jsx(_components.strong,{children:`“Settings”`}),` page.`]}),`\n`,_jsxs(_components.li,{children:[`Locate the “`,_jsx(_components.strong,{children:`Agent`}),`” option within the Interceptors section to initiate a connection to your local agent.`]}),`\n`,_jsxs(_components.li,{children:[`The application will prompt you for a “`,_jsx(_components.strong,{children:`One-Time Verification Code`}),`”. This verification code will be generated within the Hoppscotch Agent.`]}),`\n`,_jsx(_components.li,{children:`Enter the verification code into the application to establish a secure connection.`}),`\n`]}),_jsx(_components.p,{children:`Once connected, all API requests made through the Hoppscotch web app will be routed through Hoppscotch agent, effectively eliminating CORS-related issues.`}),_jsx(Tip,{children:`Recommended interceptor for most users as it is compatible with all platforms.`})]}),_jsxs(Tab,{title:`Proxy`,id:`proxy`,\"data-child-heading-ids\":`[\"proxy\",\"proxyscotch\",\"self-hosted-proxyscotch\",\"proxyscotch-installer\",\"building-proxyscotch-from-source\",\"running-the-proxyscotch-server\",\"available-server-options\",\"configure-proxyscotch-in-hoppscotch\"]`,children:[_jsx(Heading,{level:`2`,id:`proxy`,children:`Proxy`}),_jsx(_components.p,{children:`A proxy server acts as an intermediary between your device and the internet, forwarding requests and responses to and from the desired API. By routing requests through a proxy, you can bypass CORS restrictions and access APIs that would otherwise be blocked by the browser.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Enable proxy interceptor from “`,_jsx(_components.a,{href:`https://hoppscotch.io/settings`,children:_jsx(_components.strong,{children:`Settings page`})}),`” under the `,_jsx(_components.strong,{children:`Interceptors`}),` section.`]}),`\n`,_jsxs(_components.li,{children:[`You can replace the default Proxy URL with your own proxy middleware if you wish or use `,_jsx(_components.a,{href:`https://github.com/hoppscotch/proxyscotch`,children:`Proxyscotch`}),`, which acts as a remote proxy server for routing API requests.`]}),`\n`]}),_jsx(Heading,{level:`2`,id:`proxyscotch`,children:`Proxyscotch`}),_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://github.com/hoppscotch/proxyscotch`,children:`Proxyscotch`}),` is our official proxy server. It is an MIT licensed open-source project that can bypass Cross-Origin Resource Sharing (CORS) restrictions by routing API requests through a remotely hosted proxy, ensuring that requests originate from a trusted environment.`]}),_jsx(Heading,{level:`4`,id:`self-hosted-proxyscotch`,children:`Self-Hosted Proxyscotch`}),_jsx(_components.p,{children:`To use Proxyscotch with a minimal setup, you can pull and run the official pre-built Docker image. This provides an instant proxy environment without requiring manual compilation or installation.\nYou can host Proxyscotch on your own server by following the instructions below:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Pull the latest Proxyscotch image from Docker Hub`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` hoppscotch/proxyscotch`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Run the container in detached mode, exposing port 9159`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -p`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 9159:9159`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --name`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` proxyscotch`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` hoppscotch/proxyscotch`})]}),`\n`]})})}),_jsx(Heading,{level:`4`,id:`proxyscotch-installer`,children:`Proxyscotch Installer`}),_jsx(_components.p,{children:`If you prefer a native installation, download and install both the Desktop and Server binaries for your operating system.`}),_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Mac`,icon:`apple`,id:`mac-1`,children:[_jsx(Card,{title:`Tray application (macOS)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/Proxyscotch-Desktop-macOS-v0.1.1.zip`,children:_jsx(_components.p,{children:`Download proxyscotch for macOS desktops. This will install the tray application for seamless proxy management.`})}),_jsx(Card,{title:`Proxy Server Binary (Intel-based macOS)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-server-darwin-amd64-v0.1.1`,children:_jsx(_components.p,{children:`Download the proxy server binary for Intel-based (x86-64) Macs.`})}),_jsx(Card,{title:`Proxy Server Binary (Apple Silicon macOS)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-server-darwin-arm64-v0.1.1`,children:_jsx(_components.p,{children:`Download the proxy server binary for Apple Silicon-based (ARM64) Macs.`})})]}),_jsxs(Accordion,{title:`Windows`,icon:`windows`,id:`windows-1`,children:[_jsx(Card,{title:`Tray application (Windows - AMD)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/Proxyscotch-Desktop-Windows-amd64-v0.1.1.exe`,children:_jsx(_components.p,{children:`Download proxyscotch for AMD-based Windows desktops. This will install the tray application for easy proxy management.`})}),_jsx(Card,{title:`Proxy Server Binary (Windows - AMD)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-server-windows-amd64-v0.1.1.exe`,children:_jsx(_components.p,{children:`Download the proxy server binary for AMD-based Windows machines.`})}),_jsx(Card,{title:`Tray application (Windows - ARM)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-arm64.exe`,children:_jsx(_components.p,{children:`Download proxyscotch for ARM-based Windows desktops. This will install the tray application for easy proxy management.`})}),_jsx(Card,{title:`Proxy Server Binary (Windows - ARM)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-server-windows-arm64-v0.1.1.exe`,children:_jsx(_components.p,{children:`Download the proxy server binary for ARM-based Windows machines.`})})]}),_jsxs(Accordion,{title:`Linux`,icon:`linux`,id:`linux-1`,children:[_jsx(Card,{title:`Tray application (Linux - AMD)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/Proxyscotch-Desktop-Linux-amd64-v0.1.1`,children:_jsx(_components.p,{children:`Download proxyscotch for AMD-based Linux desktops. This will install the tray application for seamless proxy management.`})}),_jsx(Card,{title:`Proxy Server Binary (Linux - AMD)`,href:`https://github.com/hoppscotch/proxyscotch/releases/latest/download/proxyscotch-server-linux-amd64-v0.1.1`,children:_jsx(_components.p,{children:`Download the proxy server binary for AMD-based Linux machines.`})})]})]}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[`The proxy will add a `,_jsx(_components.strong,{children:`desktop application to your system tray`}),`, providing quick access to various proxy settings such as setting the access token. After launching the application, a dialog will prompt you to complete the `,_jsx(_components.strong,{children:`certificate installation`}),` process. For more details on how to install the certificate, `,_jsx(_components.a,{href:`https://github.com/hoppscotch/proxyscotch/wiki/Certificate-Installation`,children:`visit this wiki`}),`.`]}),_jsxs(_components.p,{children:[`Upon activation, the `,_jsx(_components.strong,{children:`server`}),` will run in the background and interact with the proxy to route and manage requests.`]})]}),_jsx(Heading,{level:`3`,id:`building-proxyscotch-from-source`,children:`Building Proxyscotch from Source`}),_jsx(_components.p,{children:`If you prefer to build and run Proxyscotch manually from source, you can clone the repository and compile the binaries for your platform.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`git`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clone`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://github.com/hoppscotch/proxyscotch.git`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` `})]}),`\n`]})})}),_jsx(_components.p,{children:`Follow the platform-specific instructions below to build the proxy and server from source for your operating system:`}),_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Building on macOS`,icon:`apple`,id:`building-on-macos`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the desktop tray application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` darwin`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the standalone server application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` darwin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` server`})]}),`\n`]})})})}),_jsxs(Accordion,{title:`Building on Windows`,icon:`windows`,id:`building-on-windows`,children:[_jsx(_components.p,{children:`You can use Git Bash to run the following commands:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the desktop tray application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` windows`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the standalone server application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` windows`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` server`})]}),`\n`]})})})]}),_jsx(Accordion,{title:`Building on Linux`,icon:`linux`,id:`building-on-linux`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the desktop tray application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` linux`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Build the standalone server application`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`./build.sh`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` linux`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` server`})]}),`\n`]})})})})]}),_jsxs(Tip,{children:[` After building, the compiled binaries will be available in the `,_jsx(_components.code,{children:`out/`}),` directory. `]}),_jsx(Heading,{level:`4`,id:`running-the-proxyscotch-server`,children:`Running the Proxyscotch Server`}),_jsx(_components.p,{children:`After building the server, use the following command to start the proxy server:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./out/`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`platfor`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`m`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`-server/server`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --host=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003chostname>:\u003cport>\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --token=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ctoken_or_blank>\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# e.g. on Linux`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./out/linux-server/server`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --host=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"localhost:9159\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --token=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# or on Windows`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`$`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ./out/windows-server/server.exe`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --host=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"localhost:9159\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --token=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\"`})]}),`\n`]})})}),_jsxs(Warning,{children:[` When the `,_jsx(_components.strong,{children:`token is left blank`}),`, it grants unrestricted access to your proxy server. While this might be convenient, please be aware of the potential security risks and consider whether this level of open access is appropriate for your use case. `]}),_jsx(Heading,{level:`4`,id:`available-server-options`,children:`Available Server Options`}),_jsx(_components.p,{children:`After running the Proxyscotch server, you can customize its behavior using various command-line options.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Option`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`--host=\"\u003chostname>:\u003cport>\"`})}),_jsxs(_components.td,{children:[`Define the host and port (default: `,_jsx(_components.code,{children:`localhost:9159`}),`).`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`--token=\"\u003ctoken>\"`})}),_jsx(_components.td,{children:`Set an access token to restrict proxy usage (leave blank for open access).`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`--allowed-origins=\"*\"`})}),_jsx(_components.td,{children:`Comma-separated list of allowed origins for CORS.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`--banned-outputs=\"\u003cvalues>\"`})}),_jsx(_components.td,{children:`Comma-separated list of response values to redact.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`--banned-dests=\"\u003chosts>\"`})}),_jsx(_components.td,{children:`Comma-separated list of blocked destination hosts.`})]})]})]}),_jsx(Heading,{level:`3`,id:`configure-proxyscotch-in-hoppscotch`,children:`Configure Proxyscotch in Hoppscotch`}),_jsxs(_components.p,{children:[`Once the container is running or the server is active, configure Hoppscotch to use `,_jsx(_components.code,{children:`http://localhost:9159`}),` as the Proxy URL in the “`,_jsx(_components.strong,{children:`Settings`}),`” page.`]}),_jsx(_components.p,{children:`This setup will route all API requests through Proxyscotch, facilitating communication with APIs that enforce strict CORS policies.`})]}),_jsxs(Tab,{title:`Browser Extension`,id:`browser-extension`,\"data-child-heading-ids\":`[\"browser-extension\",\"how-to-use-the-browser-extension\",\"origins\"]`,children:[_jsx(Heading,{level:`2`,id:`browser-extension`,children:`Browser Extension`}),_jsxs(_components.p,{children:[`Since `,_jsx(_components.code,{children:`CORS`}),` is as simple as adding some HTTP headers, it’s only blocked by the browser. You can build some proxy-like component that will make a call for you and get the response from the desired API. You add it to the headers and then send it back to Hoppscotch.`]}),_jsx(Heading,{level:`3`,id:`how-to-use-the-browser-extension`,children:`How to use the Browser Extension`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Install the browser extension from the below links:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsxs(_components.a,{href:`https://chrome.google.com/webstore/detail/hoppscotch-browser-extens/amknoiejhlmhancpahfcfcfhllgkpbld?hl=en`,children:[_jsx(Icon,{icon:`chrome`,iconType:`solid`}),`\\xA0 Chrome`]})}),`\n`,_jsx(_components.li,{children:_jsxs(_components.a,{href:`https://addons.mozilla.org/en-US/firefox/addon/hoppscotch`,children:[_jsx(Icon,{icon:`firefox`,iconType:`solid`}),`\\xA0 Firefox`]})}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[`Click on the Hoppscotch Browser Extension icon from the browser toolbar and ensure that `,_jsx(_components.code,{children:`hoppscotch.io`}),` is in your active origins. If you are using Hoppscotch Self-Host, add your own domain as a new origin`]}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{className:`mint-block mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-hidden`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=a797401f5a61ba6fe78ed38f982fc2ac`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1758`,height:`1758`,\"data-path\":`images/browser-extension-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=9b842d0736eaaabee2f0c1c50bc62e3f 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=9323f758b1d683d487d016237eaa79f9 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=506bc1ec5678504d678acbc1bf80ea01 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=3f6b641302ff11d9185fcf8a68626e6f 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=b3a253ec518159195bf920c729342f83 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=50fb8b4bfa6b5307b6a8117068debac7 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-block`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=170590d62d34922cb9e423c7a1ce4fc5`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1758`,height:`1758`,\"data-path\":`images/browser-extension-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=9d09b2db70b421014c157401fd8839f9 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=a18f147d1798c248ce44ef63b5535439 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=5afbcb5676767013a01f7baa47e58d39 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=9f48da307c84cefd8f3ce7df194f0083 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=44c2a5c9c545e0ea88e1c1469dc90251 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=f0f78b6752228db4e605047deb0473ff 2500w`})]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Refresh the Hoppscotch web app.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Open the interceptor and change the middleware to the browser extension`}),`\n`,_jsx(_components.p,{children:`You can either go to the settings and enable the use of the browser extension as shown below:`}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{className:`mint-block mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-hidden`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=dc7852e6d3817c75c5f0e065a4a69d2f`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1664`,height:`1664`,\"data-path\":`images/browser-extension-enable-1-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=004942ea58fa756fa2f00e52afa130f9 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=6e4c15dfefbdad84abc82e466e4e1aef 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=4051bf768941ecd45a8bb81c49169ac4 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=1791ebec7c685e3a74ac55021389527b 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=285cbf20a8888c277a09a2b1a0193c34 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=8669541cbc996bfe51fa3e70f411db61 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-block`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=d64c60629bcee59e6837124f53a8d21b`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1664`,height:`1664`,\"data-path\":`images/browser-extension-enable-1-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=ee1dd7cdc4de8147907bec23c52aa7bd 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=66f10a8dc0062498e1039203f9107192 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=5c8b180c8036c42e45f30c0d83fa0ff2 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=ab4fe585d15c03ea603f6a153f1f80a6 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=c564df1e9c7bb4f17a929ca2913cf8cd 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-1-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=8379ae7f3bf9dba722a7af0150aeec59 2500w`})]}),`\n`,_jsx(_components.p,{children:`Or you can open the interceptor menu and change the middleware as shown below:`}),`\n`,_jsxs(Frame,{children:[_jsx(OptimizedImage,{className:`mint-block mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-hidden`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=9c2e7b3303756ea4ab1c5514e2a86244`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1664`,height:`1664`,\"data-path\":`images/browser-extension-enable-2-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=bb7466d941c0aa09901f3e3e228ba846 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=f3c8fc73f1ca7605eb0be5173753c07c 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=291ba15a010b24e4f48068e2065a4762 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=64c765602c268546d743d26d1a9960b3 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=a045c9d9dd0e1d891b0e0fa7ce032efc 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=d761d8024015b559d7db12efb673507c 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden mint-border mint-border-black/5 mint-rounded-md dark:mint-border-white/5 dark:mint-block`,src:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=d022fd3b7c95d83728c3259a6e5fbfc8`,\"data-og-width\":`2940`,width:`2940`,\"data-og-height\":`1664`,height:`1664`,\"data-path\":`images/browser-extension-enable-2-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=fe10c76652f0a192b6d948cc4182d87c 280w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=e5fa0d3731a27ade03c13df91546b59f 560w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=be673acf75d3302b687506ab964b0cbe 840w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=342ae8a1ae737c13614f21721d153b16 1100w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=4727489ee6f4567bd11f8d7ea39c4d59 1650w, https://mintcdn.com/hoppscotch/WCaaGbVhL02n1fVh/images/browser-extension-enable-2-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=WCaaGbVhL02n1fVh\u0026q=85\u0026s=0fb2d9d245bf0073db2978d255614bb9 2500w`})]}),`\n`,_jsx(Heading,{level:`3`,id:`origins`,children:`Origins`}),`\n`,_jsx(_components.p,{children:`The origin list defines the URLs that the extension can connect to. If you’re using hoppscotch.io, then you do not need to add any other origins. However, if you are using a self-hosted instance, you should add the domain of your self-hosted instance as an active origin.`}),`\n`]}),`\n`]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"sidebarTitle":"Interceptor","title":"Interceptor","description":"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.","href":"/documentation/features/interceptor"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Hoppscotch Agent","slug":"hoppscotch-agent","depth":2,"children":[],"tabId":"hoppscotch-agent"},{"title":"Proxy","slug":"proxy","depth":2,"children":[],"tabId":"proxy"},{"title":"Proxyscotch","slug":"proxyscotch","depth":2,"children":[{"title":"Self-Hosted Proxyscotch","slug":"self-hosted-proxyscotch","depth":4,"children":[],"tabId":"proxy"},{"title":"Proxyscotch Installer","slug":"proxyscotch-installer","depth":4,"children":[],"tabId":"proxy"},{"title":"Building Proxyscotch from Source","slug":"building-proxyscotch-from-source","depth":3,"children":[],"tabId":"proxy"},{"title":"Running the Proxyscotch Server","slug":"running-the-proxyscotch-server","depth":4,"children":[],"tabId":"proxy"},{"title":"Available Server Options","slug":"available-server-options","depth":4,"children":[],"tabId":"proxy"},{"title":"Configure Proxyscotch in Hoppscotch","slug":"configure-proxyscotch-in-hoppscotch","depth":3,"children":[],"tabId":"proxy"}],"tabId":"proxy"},{"title":"Browser Extension","slug":"browser-extension","depth":2,"children":[{"title":"How to use the Browser Extension","slug":"how-to-use-the-browser-extension","depth":3,"children":[],"tabId":"browser-extension"},{"title":"Origins","slug":"origins","depth":3,"children":[],"tabId":"browser-extension"}],"tabId":"browser-extension"}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.mint-rounded-md {\n border-radius: 0.375rem\n}\n.mint-border {\n border-width: 1px\n}\n.mint-border-black\\/5 {\n border-color: rgb(0 0 0 / 0.05)\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}\n.dark\\:mint-border-white\\/5:is(.dark *) {\n border-color: rgb(255 255 255 / 0.05)\n}","subdomain":"hoppscotch","siteName":"Hoppscotch Documentation","title":"Interceptor - Hoppscotch Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-11T04:39:27.694Z","originalFileLocation":"documentation/features/interceptor.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Interceptor - Hoppscotch Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hoppscotch.io/documentation/features/interceptor\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hoppscotch.mintlify.site/_mintlify/api/og/v2?division=Features\u0026amp;title=Interceptor\u0026amp;description=Bypass+CORS+restrictions+using+the+Hoppscotch+Agent%2C+Proxyscotch%2C+browser+extension%2C+or+custom+middleware+to+intercept+API+requests.\u0026amp;theme=4e522b26811728ab4595af2b\u0026amp;signature=8a768bc5ec548cb89a64a55f06d5c6efcc9441f74f013ce7c75ee4106ec83acd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Interceptor - Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hoppscotch.mintlify.site/_mintlify/api/og/v2?division=Features\u0026amp;title=Interceptor\u0026amp;description=Bypass+CORS+restrictions+using+the+Hoppscotch+Agent%2C+Proxyscotch%2C+browser+extension%2C+or+custom+middleware+to+intercept+API+requests.\u0026amp;theme=4e522b26811728ab4595af2b\u0026amp;signature=8a768bc5ec548cb89a64a55f06d5c6efcc9441f74f013ce7c75ee4106ec83acd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hoppscotch/0ihOcYjw6krFrYtR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hoppscotch Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0D9373\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hoppscotch.io/documentation/features/interceptor\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/documentation/features/interceptor.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hoppscotch.io/#organization\",\"name\":\"Hoppscotch Documentation\",\"url\":\"https://docs.hoppscotch.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hoppscotch/YzZ1u98z3f2mVgzZ/logo/light.svg?fit=max\u0026auto=format\u0026n=YzZ1u98z3f2mVgzZ\u0026q=85\u0026s=b61955a81bc00d70adfa5f8633848cd9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hoppscotch.io#website\",\"name\":\"Hoppscotch Documentation\",\"url\":\"https://docs.hoppscotch.io\",\"publisher\":{\"@id\":\"https://docs.hoppscotch.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hoppscotch.io/documentation/features/interceptor#webpage\",\"url\":\"https://docs.hoppscotch.io/documentation/features/interceptor\",\"name\":\"Interceptor\",\"description\":\"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\",\"dateModified\":\"2026-04-11T04:39:27.694Z\",\"isPartOf\":{\"@id\":\"https://docs.hoppscotch.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hoppscotch.io/documentation/features/interceptor#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hoppscotch.io/documentation/features/interceptor#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Features\",\"item\":\"https://docs.hoppscotch.io/documentation/features/workspaces\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Interceptor\",\"item\":\"https://docs.hoppscotch.io/documentation/features/interceptor\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.hoppscotch.io/documentation/features/interceptor#article\",\"headline\":\"Interceptor\",\"name\":\"Interceptor\",\"description\":\"Bypass CORS restrictions using the Hoppscotch Agent, Proxyscotch, browser extension, or custom middleware to intercept API requests.\",\"url\":\"https://docs.hoppscotch.io/documentation/features/interceptor\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hoppscotch.io/documentation/features/interceptor#webpage\"},\"dateModified\":\"2026-04-11T04:39:27.694Z\",\"publisher\":{\"@id\":\"https://docs.hoppscotch.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hoppscotch.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hoppscotch Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hoppscotch Documentation","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"lines-leaning","groups":[{"group":"Getting started","pages":[{"sidebarTitle":"Introduction","title":"Introduction to Hoppscotch","href":"/documentation/getting-started/introduction"},{"sidebarTitle":"Quick start","title":"Quick start","href":"/documentation/getting-started/quick-start"},{"sidebarTitle":"Clients","title":"Hoppscotch Clients","href":"/documentation/getting-started/clients"},{"sidebarTitle":"Setup","title":"Setup Hoppscotch","href":"/documentation/getting-started/setup"},{"sidebarTitle":"Troubleshooting","title":"Troubleshooting","href":"/documentation/getting-started/troubleshooting"},{"group":"RESTful API","pages":[{"sidebarTitle":"Creating a request","title":"Creating a request","href":"/documentation/getting-started/rest/creating-a-request"},{"sidebarTitle":"Response handling","title":"Response handling","href":"/documentation/getting-started/rest/response-handling"},{"sidebarTitle":"Request parameters","title":"Request parameters","href":"/documentation/getting-started/rest/request-parameters"},{"sidebarTitle":"Request headers","title":"Request headers","href":"/documentation/getting-started/rest/request-headers"},{"sidebarTitle":"Organizing requests","title":"Organizing requests","href":"/documentation/getting-started/rest/organizing-requests"},{"sidebarTitle":"Environment variables","title":"Environment variables","href":"/documentation/getting-started/rest/environment-variables"},{"sidebarTitle":"Using auth tokens","title":"Using auth tokens","href":"/documentation/getting-started/rest/auth-tokens"},{"sidebarTitle":"Uploading data","title":"Uploading data","href":"/documentation/getting-started/rest/uploading-data"},{"sidebarTitle":"Pre-request scripts","title":"Pre-request scripts","href":"/documentation/getting-started/rest/pre-request-scripts"},{"sidebarTitle":"Tests","title":"Tests","href":"/documentation/getting-started/rest/tests"}]},{"group":"GraphQL API","pages":[{"sidebarTitle":"Running a simple query","title":"Running a simple query","href":"/documentation/getting-started/graphql/creating-a-query"},{"sidebarTitle":"Using variables","title":"Using variables in a GraphQL query","href":"/documentation/getting-started/graphql/using-variables"}]},{"group":"Realtime API","pages":[{"sidebarTitle":"Websocket","title":"Websocket","href":"/documentation/getting-started/realtime/websocket"},{"sidebarTitle":"Socket.IO","title":"Socket.IO","href":"/documentation/getting-started/realtime/socket-io"},{"sidebarTitle":"SSE","title":"Server-Sent Events","href":"/documentation/getting-started/realtime/sse"},{"sidebarTitle":"MQTT","title":"MQTT","href":"/documentation/getting-started/realtime/mqtt"}]}]},{"group":"Clients","pages":[{"group":"Desktop","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch Desktop App","href":"/documentation/clients/desktop/overview"},{"sidebarTitle":"Setup","title":"Connect to Hoppscotch","href":"/documentation/clients/desktop/setup"}]},{"group":"Web","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch Web App","href":"/documentation/clients/web/overview"},{"sidebarTitle":"Progressive Web App","title":"Hoppscotch Progressive Web App","href":"/documentation/clients/web/pwa"}]},{"group":"CLI","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch CLI","href":"/documentation/clients/cli/overview"},{"sidebarTitle":"Troubleshooting","title":"Hoppscotch CLI Troubleshooting","href":"/documentation/clients/cli/troubleshooting"}]},{"group":"MCP server","pages":[{"sidebarTitle":"Overview","title":"Hoppscotch MCP Server","href":"/documentation/clients/mcp-server/overview"},{"sidebarTitle":"Tools","title":"Hoppscotch MCP Server Tools","href":"/documentation/clients/mcp-server/tools"},{"sidebarTitle":"Troubleshooting","title":"Hoppscotch MCP Server Troubleshooting","href":"/documentation/clients/mcp-server/troubleshooting"}]}]},{"group":"Protocols","pages":[{"sidebarTitle":"RESTful","title":"RESTful","href":"/documentation/protocols/rest"},{"sidebarTitle":"GraphQL","title":"GraphQL","href":"/documentation/protocols/graphql"},{"sidebarTitle":"Realtime","title":"Realtime","href":"/documentation/protocols/realtime"}]},{"group":"Features","pages":[{"sidebarTitle":"Workspaces","title":"Workspaces","href":"/documentation/features/workspaces"},{"sidebarTitle":"Collections","title":"Collections","href":"/documentation/features/collections"},{"sidebarTitle":"Runner","title":"Runner","href":"/documentation/features/runner"},{"sidebarTitle":"Variables","title":"Variables","href":"/documentation/features/variables"},{"sidebarTitle":"Environments","title":"Environments","href":"/documentation/features/environments"},{"sidebarTitle":"Personal Access Token","title":"Personal Access Token","href":"/documentation/features/pat"},{"sidebarTitle":"History","title":"History","href":"/documentation/features/history"},{"sidebarTitle":"Spotlight","title":"Spotlight","href":"/documentation/features/spotlight"},{"sidebarTitle":"Shortcuts","title":"Shortcuts","href":"/documentation/features/shortcuts"},{"sidebarTitle":"Scripts","title":"Scripts","href":"/documentation/features/scripts"},{"sidebarTitle":"Importer","title":"Importer","href":"/documentation/features/importer"},{"sidebarTitle":"Customization","title":"Customization","href":"/documentation/features/customization"},{"sidebarTitle":"Inspections","title":"Inspections","href":"/documentation/features/inspections"},{"sidebarTitle":"Cookies","title":"Cookies","href":"/documentation/features/cookies"},{"sidebarTitle":"Client Certificate","title":"Client Certificate","href":"/documentation/features/client-certificate"},{"sidebarTitle":"Code Snippets","title":"Code Snippets","description":"Generate ready-to-use code snippets for your API requests in JavaScript, Python, Shell, and other languages directly from Hoppscotch.","href":"/documentation/features/snippets"},{"sidebarTitle":"Interceptor","title":"Interceptor","href":"/documentation/features/interceptor"},{"sidebarTitle":"Context Menu","title":"Context Menu","description":"Use the Hoppscotch context menu to quickly set environment variables, add query parameters, or open requests in new tabs from selected text.","href":"/documentation/features/context-menu"},{"sidebarTitle":"Widgets","title":"Widgets","href":"/documentation/features/widgets"},{"sidebarTitle":"Authorization","title":"Authorization","href":"/documentation/features/authorization"},{"sidebarTitle":"AI Features","title":"AI Features","href":"/documentation/features/ai-features"},{"sidebarTitle":"Mock","title":"API Mocking","href":"/documentation/features/mock"},{"sidebarTitle":"Documentation","title":"API Documentation","href":"/documentation/features/documentation"},{"sidebarTitle":"RESTful API","title":"RESTful API Testing","href":"/documentation/features/rest-api-testing"},{"sidebarTitle":"GraphQL API","title":"GraphQL API Testing","href":"/documentation/features/graphql-api-testing"},{"sidebarTitle":"Realtime API","title":"Realtime API Testing","href":"/documentation/features/realtime-api-testing"}]},{"group":"Self-Host","pages":[{"sidebarTitle":"Getting started","title":"Getting started with self-hosting","href":"/documentation/self-host/getting-started"},{"group":"Community Edition","pages":[{"sidebarTitle":"Getting started","title":"Getting started with Community Edition","href":"/documentation/self-host/community-edition/getting-started"},{"sidebarTitle":"Prerequisites","title":"Community Edition prerequisites","href":"/documentation/self-host/community-edition/prerequisites"},{"sidebarTitle":"Install and build","title":"Install and build Community Edition","href":"/documentation/self-host/community-edition/install-and-build"},{"sidebarTitle":"Setup and access","title":"Set up and access Community Edition","href":"/documentation/self-host/community-edition/setup-and-access"},{"sidebarTitle":"Admin dashboard","title":"Community Edition admin dashboard","href":"/documentation/self-host/community-edition/admin-dashboard"},{"sidebarTitle":"Deploy and upgrade","title":"Deploy and upgrade Community Edition","href":"/documentation/self-host/community-edition/deploy-and-upgrade"},{"sidebarTitle":"Telemetry","title":"Community Edition telemetry","href":"/documentation/self-host/community-edition/telemetry"}]},{"group":"Enterprise Edition","pages":[{"sidebarTitle":"Getting started","title":"Getting started with Enterprise Edition","href":"/documentation/self-host/enterprise-edition/getting-started"},{"sidebarTitle":"Prerequisites","title":"Enterprise Edition prerequisites","href":"/documentation/self-host/enterprise-edition/prerequisites"},{"sidebarTitle":"Install and build","title":"Install and build Enterprise Edition","href":"/documentation/self-host/enterprise-edition/install-and-build"},{"sidebarTitle":"Setup and access","title":"Set up and access Enterprise Edition","href":"/documentation/self-host/enterprise-edition/setup-and-access"},{"sidebarTitle":"Admin dashboard","title":"Enterprise Edition admin dashboard","href":"/documentation/self-host/enterprise-edition/admin-dashboard"},{"sidebarTitle":"User provisioning","title":"SCIM Integration for User and Group Provisioning","href":"/documentation/self-host/enterprise-edition/user-provisioning"},{"sidebarTitle":"Activity logs","title":"Activity logs","href":"/documentation/self-host/enterprise-edition/activity-logs"},{"sidebarTitle":"User groups","title":"User groups","href":"/documentation/self-host/enterprise-edition/user-groups"},{"sidebarTitle":"AI Assistant","title":"AI Assistant","href":"/documentation/self-host/enterprise-edition/ai-assistant"},{"sidebarTitle":"Observability","title":"Observability","href":"/documentation/self-host/enterprise-edition/observability"},{"sidebarTitle":"Deploy and upgrade","title":"Deploy and upgrade Enterprise Edition","href":"/documentation/self-host/enterprise-edition/deploy-and-upgrade"},{"sidebarTitle":"Telemetry","title":"Enterprise Edition telemetry","href":"/documentation/self-host/enterprise-edition/telemetry"}]}]},{"group":"Resources","pages":[{"sidebarTitle":"Community","title":"Hoppscotch community","href":"/documentation/community"},{"sidebarTitle":"Contributors","title":"Contributors","href":"/documentation/contributors"},{"sidebarTitle":"Changelog","title":"Changelog","href":"/documentation/changelog"},{"sidebarTitle":"Develop","title":"Develop","href":"/documentation/develop"},{"sidebarTitle":"i18n","title":"i18n","href":"/documentation/i18n"}]}]},{"anchor":"Guides","icon":"check-double","pages":[{"title":"Guides","href":"/guides/getting-started/introduction"}]},{"anchor":"Support","icon":"question","pages":[{"title":"Support","href":"/support/getting-started/introduction"}]},{"anchor":"Download","icon":"angles-down","href":"https://hoppscotch.com/download"},{"anchor":"Blog","icon":"quote-left","href":"https://hoppscotch.com/blog"},{"anchor":"Changelog","icon":"shapes","href":"https://github.com/hoppscotch/hoppscotch/releases"}]},"basePath":"","title":"Interceptor - Hoppscotch Documentation","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-CXMGc493.js","DynamicMarkdown-D-2HDKEp.js","zoom-image-lightbox-CE4cYsJE.js","lightbox-handle-r17bVUz3.js"]}