Squarespace, along with Wix, Simplesite, and many others, is a good way to get your online presence up and running. All of these services are easy to use, with plenty of templates that make creating visually appealling site easy even for non-technical amongst us. They also share the same limitations when your website needs to evolve past its original scope and functionality.
A quick aside - neither Squarespace nor Wix are SaaS (software as a service provider). They are essentially hosting companies with a web building toolkit. As hosting companies, they want you to build the website with them and host with them. That is why a Squarespace website cannot be migrated to another hosting platform and why, most importantly, you cannot extend your website's functionality with server-side scripting. Squarespace allows for very limited customization of the website outside of their canned templates, and that customization is exclusively for front end website visitor experience. Any change to website's core functionality has to take place on Squarespace server and access to server-side scripting is not allowed. Which, from Squarespace perspective, makes sense - all of their website run off a single code base, which can be updated across all sites as necessary. But it does present almost insurmountable limitations when your simple Squarespace website needs to have additional functionality not included with Squarespace templates.
In our case study, we had to provide a custom data feed to Squarespace website from an external website. So, a Squarespace server ("server S") needs to make a call to another server ("server X"), get authorized, and receive a data feed in response. This obviously creates a potential security vulnerability for server X, so in our case server X required server S to make a request via Cross-Origin Resource Sharing (CORS). This is a way for server X hosting to shift risk to Squarespace. Now, Squarespace does not want to accept that risk and states that they do not work with CORS. The only option is to use Squarespace APIs, but that has no relevancy because we need to have custom data to feed into Squarespace website as opposed to working with Squarespace ecommerce features via their API, so we are back to square one.
The solution? We created a data-driven page on server X as HTML web page, and inserted it into Squarespace as code block. Stylizing to match the rest of the Squarespace website followed. Not the prettiest approach, but it got the job done.