Tags are not returned in api call

When I search for a list of topics, for example at /c/10/l/latest.json, I can see tags for each topic when using an admin account. However, when using a regular user account, the tags are empty.

Is there a setting that prevents regular users from seeing the tags?

If the tags are invisible to regular users they won’t be shown. Otherwise, it should be fine. For example here on meta looking at the three latest documentation topics:

○ → curl -s https://meta.discourse.org/c/documentation/10/l/latest.json | jq '.topic_list.topics[range(3)] | [.fancy_title, .tags]'
[
  "Create and share a color scheme",
  [
    {
      "id": 478,
      "name": "how-to",
      "slug": "how-to"
    }
  ]
]
[
  "Create and share a font theme component",
  [
    {
      "id": 478,
      "name": "how-to",
      "slug": "how-to"
    },
    {
      "id": 820,
      "name": "theme-guides",
      "slug": "theme-guides"
    }
  ]
]
[
  "Developing Discourse Plugins - Part 6 - Add acceptance tests",
  [
    {
      "id": 484,
      "name": "tutorial",
      "slug": "tutorial"
    },
    {
      "id": 274,
      "name": "plugin-guides",
      "slug": "plugin-guides"
    },
    {
      "id": 58,
      "name": "testing",
      "slug": "testing"
    }
  ]
]

thanks for the reply. And how do we make it visible to the regular user?

By default tags are visible to anonymous users. They need to be explicitly hidden.