> ## Documentation Index
> Fetch the complete documentation index at: https://docs.makelocalads.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create your first LocalAds product in a few minutes.

This guide takes you from an API key to a working product request.

<Steps>
  <Step title="Get an API key">
    Ask your LocalAds contact to provision an organization API key with the
    `products:create` and `products:read` permissions.

    Store it in an environment variable. The full key is shown only once.

    ```bash theme={null}
    export LOCALADS_API_KEY="lads_your_key"
    ```
  </Step>

  <Step title="Choose a brand">
    List the brands available to the organization and copy the brand `id`:

    ```bash theme={null}
    curl https://makelocalads.com/api/v1/brands \
      --header "Authorization: Bearer $LOCALADS_API_KEY"
    ```
  </Step>

  <Step title="Create a product">
    <CodeGroup>
      ```bash cURL theme={null}
      curl --request POST \
        --url https://makelocalads.com/api/v1/products \
        --header "Authorization: Bearer $LOCALADS_API_KEY" \
        --header "Content-Type: application/json" \
        --data '{
          "brand_id": "1423f915-beca-4c53-a5e4-7c8c99537be9",
          "name": "Hydrating Face Serum",
          "kind": "skincare",
          "source_url": "https://example.com/products/serum",
          "image_urls": [
            "https://cdn.example.com/serum-front.jpg"
          ]
        }'
      ```

      ```javascript JavaScript theme={null}
      const response = await fetch(
        "https://makelocalads.com/api/v1/products",
        {
          method: "POST",
          headers: {
            Authorization: `Bearer ${process.env.LOCALADS_API_KEY}`,
            "Content-Type": "application/json",
          },
          body: JSON.stringify({
            brand_id: "1423f915-beca-4c53-a5e4-7c8c99537be9",
            name: "Hydrating Face Serum",
            kind: "skincare",
            source_url: "https://example.com/products/serum",
            image_urls: ["https://cdn.example.com/serum-front.jpg"],
          }),
        },
      );

      if (!response.ok) {
        throw new Error(await response.text());
      }

      const product = await response.json();
      console.log(product.id);
      ```
    </CodeGroup>
  </Step>

  <Step title="Check the response">
    A successful request returns `201 Created` and the new product:

    ```json theme={null}
    {
      "id": "a1516a75-9be5-461a-93af-c1896a0a3127",
      "brand_id": "1423f915-beca-4c53-a5e4-7c8c99537be9",
      "name": "Hydrating Face Serum",
      "kind": "skincare",
      "source_url": "https://example.com/products/serum",
      "image_urls": [
        "https://cdn.example.com/serum-front.jpg"
      ],
      "status": "ready",
      "created_at": "2026-07-24T14:30:00.000Z",
      "updated_at": "2026-07-24T14:30:00.000Z"
    }
    ```

    The response also includes a `Location` header containing the product URL.
  </Step>
</Steps>

## Next step

Follow [Manage products](/guides/manage-products) to list, update, and delete
products, or open the API reference tab.
