--- title: Create a basic public Web source slug: '79' canonical_url: https://docs.coveo.com/en/79/ collection: index-content source_format: adoc --- # Create a basic public Web source A Web [source](https://docs.coveo.com/en/246/) typically crawls the content of a single website, starting from the specified URLs, and then recursively following any hyperlink it finds in pages to discover the entire site. By default, a Web source schedule is set to rescan the website at midnight everyday. For details on Web sources, see [Add a Web source](https://docs.coveo.com/en/malf0160/). This page explains how to create a basic public Web source using Coveo's Source API. Alternatively, you can [create a Web source through the Coveo Administration Console](https://docs.coveo.com/en/malf0160#add-a-web-source). Use the [Create a source from simple configuration](https://platform.cloud.coveo.com/docs?urls.primaryName=Source#/Sources/rest_organizations_paramId_sources_post) operation to create a basic public Web source in a [Coveo organization](https://docs.coveo.com/en/185/). **Request template** ```http POST https://platform.cloud.coveo.com/rest/organizations//sources HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Bearer ``` **Payload** ```json { "sourceType": "WEB2", "name": , "sourceVisibility": "SHARED", "urls": [ * ] } ``` > **Note** > > This introductory article explains how create a `SHARED` (public) Web source, which is why the `sourceType` property is set to `WEB2` and the `sourceVisibility` property is set to `SHARED` in the above request template. > > The [Coveo Platform](https://docs.coveo.com/en/186/) allows you to create sources based on [various other connectors](https://docs.coveo.com/en/1702#choosing-the-right-connector) with different [`sourceType` values](https://docs.coveo.com/en/100/). > It also supports three different types of source visibility: `PRIVATE` (specific users and groups), `SHARED` (everyone), and `SECURED` (based on the repository's permission system). > See [Content security](https://docs.coveo.com/en/1779/) for details on this topic. In the request path: * Replace `` with your [organization ID](https://docs.coveo.com/en/148/). In the `Authorization` HTTP header: * Replace `` with an access token that grants [privileges](https://docs.coveo.com/en/228/) to edit sources (that is, the **Edit all** access level on the [**Sources** domain](https://docs.coveo.com/en/1707#sources-domain)) in the target Coveo organization. See [Create an API key](https://docs.coveo.com/en/1718#create-an-api-key) and [Manage privileges](https://docs.coveo.com/en/3151/) for details on API key privileges. You may also want to read more about the [Get the privileges of an access token](https://docs.coveo.com/en/109/) and [Get your Coveo access token](https://docs.coveo.com/en/123/) API calls. In the request body: * Replace `` with a meaningful `name` property value. You can't change the name of a source once it has been created, so make sure the name you choose fits the content you intend to index with that source. * Replace `*` with one or more `urls` from which to start crawling the pages to index with your source. > **Leading practice** > > Although you can provide more than one value in the `urls` array, you should normally only index one website per Web source. The body of a successful response (`201 Created`) contains information about the source you just created. The `id` property value is important, as it's a required parameter in many Coveo REST API operations. You can always [retrieve this value](https://docs.coveo.com/en/3390#copy-a-source-name-or-id) later. ## Sample request **Creating a basic public Web source** ```http POST https://platform.cloud.coveo.com/rest/organizations/mycoveocloudv2organizationg8tp8wu3/sources HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Bearer **********-****-****-****-************ ``` **Payload** ```json { "sourceType": "WEB2", "name": "My web source", "sourceVisibility": "SHARED", "urls": [ "http://www.example.com/" ] } ``` **Successful response - 201 Created** ```json { "sourceType": "WEB2", "id": "mycoveocloudv2organizationg8tp8wu3-xtyq5ljb65btzsx2miknabccru", "name": "My web source", "owner": "asmith@example.com", "sourceVisibility": "SHARED", "information": { ... }, ... } ```