---
title: "Projects in the account"
method: GET
path: "/projects"
tags: ["Projects"]
---

# Projects in the account

`GET /projects`

## Request

- Base URL: `https://adslighthouse.com/api/v1`
- URL: `https://adslighthouse.com/api/v1/projects`
- Auth: HTTP bearer

Lists the account's projects. Each project is for one brand; country and language are its default market, and keywords in the project may use different markets. Search engines, devices and schedule are project settings. Other tools also accept a project's domain or exact name, so you can skip this call when you already know the brand.

## Query parameters

- `limit` integer: Items per page, 1 to 200.
- `cursor` string: The next_cursor value from the previous page. Omit it for the first page.

## Response `200`

Projects in the account

- object
  - `data` object[], required
    - `id` string, required
    - `name` string, required
    - `brand` object, required
      - `name` string, required
      - `domain` string, required
    - `country` string, required: ISO 3166-1 alpha-2 market code.
    - `language` string, required
    - `search_engines` string[], required
    - `devices` string[], required
    - `shopping_enabled` boolean, required
    - `monitoring_frequency` 'manual' | 'daily' | 'twice_daily' | 'four_times_daily' | 'six_times_daily' | 'twelve_times_daily' | 'hourly' | 'every_30_minutes' | 'every_15_minutes', required
    - `runs_per_day` integer, required
    - `randomize_check_times` boolean, required: Each scheduled run starts at a random moment inside its interval.
    - `locations_per_run` integer, nullable, required: Locations each run checks, least recently checked first; null checks every listed location.
    - `status` 'active' | 'paused', required: active runs scheduled checks; paused is set to manual checks only or has no active keyword, as on the Overview projects table.
    - `created_at` string, required
  - `next_cursor` string, nullable, required: Pass as cursor to get the next page; null on the last page.
  - `request_id` string

## Other responses

- `400`: Invalid parameters, cursor or body.
- `401`: Missing, invalid, expired or revoked credential.
- `403`: The credential lacks the write scope, the plan does not include the API, or the allowance is used up.
- `404`: Unknown project, keyword or run in this account.
- `409`: The idempotency key was already used for a different request.
- `429`: Rate limit reached. Retry after the Retry-After seconds.
- `503`: The requested service or file is temporarily unavailable.

---

[API](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api.md) · [All operations](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/revisions/e1a4a40b11a9?raw)
