# Project keywords (/docs/api/reference/keywords)



Keywords are the TikTok hashtag bank Layers' research agent curates for a project. It anchors on the project's `appDescription`, expands into candidate hashtags, scores each against real TikTok view and post volume, and returns the strongest matches.

The bank drives three things downstream:

1. **Discovery.** Pass any hashtag as `?keyword=<value>` on [`GET /content/source-recommendations`](/docs/api/reference/content/source-recommendations) to live-search TikTok for on-brand sources to remix.
2. **Hook generation.** The hook generator anchors on the primary keyword for voice + framing consistency.
3. **Portfolio crawl.** When a Social Content layer is wired, the content researcher uses the bank to populate the project's pre-discovered source pool.

The bank is empty until you call refresh. Refresh once after creating the project (and again whenever `appDescription` changes).

## In this section [#in-this-section]

<Cards>
  <Card title="List keywords" href="/docs/api/reference/keywords/list-keywords" description="Read the latest curated bank, sorted by score." />

  <Card title="Refresh keywords" href="/docs/api/reference/keywords/refresh-keywords" description="Kick off a regeneration job. Async — returns a jobId you poll for completion." />
</Cards>
