![](https://static.wixstatic.com/media/b1cfed_0c7d25e6cf2341f4a959404b34807bb4~mv2.png/v1/fill/w_49,h_22,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/b1cfed_0c7d25e6cf2341f4a959404b34807bb4~mv2.png)
Lay the groundwork
Build the content structure you need with presets, templates or from scratch. Import content from a CSV or manually upload text, images, rich content and more.
Connect to the design
Design with full control in the Wix Studio Editor, then connect collections to display dynamic content. Create repeating layouts, add filters and gather content from site visitors—all without code.
Hand over seamlessly
Give clients the freedom to manage their content from an intuitive dashboard, while keeping your design intact. They can make updates on desktop, or from the mobile app.
Ramp up creation with presets
Build faster with ready-made layouts and prebuilt collections that you can customize with your own content and design.
![An example layout for a website section featuring team members.](https://static.wixstatic.com/media/0d6674_982e575bdd154a1082c80294a58536bc~mv2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Preset 01 - Team.jpg)
![A example layout for the “Our projects” section of a website with images, text and a description displayed in a uniform layout.](https://static.wixstatic.com/media/0d6674_a8465a48bf554e7dba87cad39ef6a1c6~mv2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Preset 04 - Portfolio.jpg)
![An example layout for a blog listing page.](https://static.wixstatic.com/media/0d6674_9727043675bf43c8b0019d2eb93559bb~mv2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Preset 02 - Latest News.jpg)
![](https://static.wixstatic.com/media/0d6674_11f054a955824fc59d05a144b68a9aba~mv2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/Preset 04 - Portfolio.jpg)
Extend beyond built-in capabilities
1 import wixData from 'wix-data';
2 import { addDays } from 'public/utils';
3 $w.onReady(function () {
4 $w("#search").onClick(async () => {
5 const origin = $w("#origin").value;
6 const destination = $w("#destination").value;
7 const departDate = new Date($w("#depart").value);
8 const returnDate = new Date($w("#return").value);
9 const numberOfTravelers = $w("#travelers").value;
10 const { items: foundFlights } = await wixData
11 .query("availableFlights")
12 .eq("origin", origin)
13 .eq("destination", destination)
14 .between('departDate', addDays(departDate, 1),
15 addDays(departDate, -1))
16 .between('returnDate', addDays(returnDate, 1),
17 addDays(returnDate, -1))
18 .ge("availableSeats", numberOfTravelers)
19 .find()
20 renderResults(foundFlights);
21 });
22 });
import wixData from 'wix-data';
import { addDays } from 'public/utils';
$w.onReady(function () {
$w("#search").onClick(async () => {
const origin = $w("#origin").value;
const destination = $w("#destination").value;
const departDate = new Date($w("#depart").value);
const returnDate = new Date($w("#return").value);
const numberOfTravelers = $w("#travelers").value;
const { items: foundFlights } = await wixData
.query("availableFlights")
.eq("origin", origin)
.eq("destination", destination)
.between('departDate', addDays(departDate, 1),
addDays(departDate, -1))
.between('returnDate', addDays(returnDate, 1),
addDays(returnDate, -1))
.ge("availableSeats", numberOfTravelers)
![An example website for a luxury travel agency. There’s a search bar where users can enter their destination, dates and number of travelers, demonstrating the ways you can use the Wix Data API to work with complex content.](https://static.wixstatic.com/media/0d6674_27a3a93cbed447c7adf4e605dc8d113b~mv2.jpg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/New.jpg)
![](https://static.wixstatic.com/media/0d6674_bfc66b8f69f549298fb956e12ebef98f~mv2.jpg/v1/fill/w_155,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/tablet.jpg)
![](https://static.wixstatic.com/media/0d6674_22fd36fa413146bda3bd6efabc929e64~mv2.jpg/v1/fill/w_108,h_60,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/mobile.jpg)
Your hard work can’t be undone
Hand over a site clients can manage while keeping your design safe from any mishaps. Assign permissions so they can update content from an intuitive dashboard—or on the go from the Wix Owner app.
![](https://static.wixstatic.com/media/0d6674_0bd3d78c2b684656b215a855c7b7ef87~mv2.jpg/v1/fill/w_147,h_17,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/desktop.jpg)
![](https://static.wixstatic.com/media/0d6674_722352fb3a0042c3b114b694a861f6b1~mv2.jpg/v1/fill/w_155,h_19,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/mobile new.jpg)
![A mockup of the back end of the travel agency website, where the client has permission to edit the CMS and add destination details.](https://static.wixstatic.com/media/0d6674_63d95ac574bc4ff9939080078c9594fd~mv2.jpg/v1/fill/w_147,h_88,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/asset 2 desktop.jpg)
Bring Wix’s Headless CMS to any tech stack
1 import { createClient, OAuthStrategy } from '@wix/sdk';
2 import { items } from '@wix/data';
3
4 const wixClient = createClient({
5 modules: { items },
6 auth: OAuthStrategy({ clientId: 'MY-CLIENT_ID' }),
7 });
8
9 const dataItemsList = await wixClient.items.queryDataItems({
10 dataCollectionId: 'Billing/PriceQuotes',
11 // Please specify the dataCollectionId you require
12 }).find();
13 console.log('My Data items:');
14 console.log('Total: ', dataItemsList.items.length);
import { createClient, OAuthStrategy }
from '@wix/sdk';
import { items } from '@wix/data';
const wixClient = createClient({
modules: { items },
auth: OAuthStrategy({ clientId:
'MY-CLIENT_ID' }),
});
const dataItemsList = await wixClient.items.queryDataItems({
dataCollectionId: 'Billing/PriceQuotes',
// Please specify the dataCollectionId
you require
}).find();
console.log('My Data items:');
console.log('Total: ',
dataItemsList.items.length);
![An example of the CMS interface, which is organized into columns and rows. Each row is a separate project, with a field for title, photo, description and more.](https://static.wixstatic.com/media/0d6674_9dfb39fcf1d04a7fbc59b5187e0d8efc~mv2.jpg/v1/fill/w_147,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/desktop.jpg)
![An example of the CMS interface, which is organized into columns and rows. Each row is a separate project, with a field for title, photo, description and more.](https://static.wixstatic.com/media/0d6674_f26ddbc9772e4b08afde178c52719628~mv2.jpg/v1/fill/w_147,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_auto/mobile.jpg)
Popular supported
technologies
Popular supported technologies