---
title: "Search for code in a user's repositories"
method: GET
path: "/users/{selected_user}/search/code"
tags: ["Search"]
deprecated: true
---

# Search for code in a user's repositories

`GET /users/{selected_user}/search/code`

> **Deprecated.**

This API will be deprecated on November 1, 2026.

Search for code in the repositories of the specified user.

Note that searches can match in the file's text (`content_matches`),
the path (`path_matches`), or both.

You can use the same syntax for the search query as in the UI.
E.g. to search for "foo" only within the repository "demo",
use the query parameter `search_query=foo+repo:demo`.

Similar to other APIs, you can request more fields using a
`fields` query parameter. E.g. to get some more information about
the repository of matched files, use the query parameter
`search_query=foo&fields=%2Bvalues.file.commit.repository`
(the `%2B` is a URL-encoded `+`).

## Path parameters

- `selected_user` string, required

## Query parameters

- `search_query` string, required
- `page` integer
- `pagelen` integer

## Response `200`

Successful search

- SearchResultPage
  - `size` integer
  - `page` integer
  - `pagelen` integer
  - `query_substituted` boolean
  - `next` string, uri
  - `previous` string, uri
  - `values` SearchCodeSearchResult[]
    - `type` string
    - `content_match_count` integer
    - `content_matches` SearchContentMatch[]
      - `lines` SearchLine[]
        - `line` integer
        - `segments` SearchSegment[]
          - `text` string
          - `match` boolean
    - `path_matches` SearchSegment[]
      - `text` string
      - `match` boolean
    - `file` CommitFile — A file object, representing a file at a commit in a repository
      - `type` string, required
      - `path` string — The path in the repository
      - `commit` Commit — A repository commit object.
        - `type` string, required
        - `hash` string
        - `date` string, date-time
        - `author` Author — The author of a change in a repository
          - `type` string, required
          - `raw` string — The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.
          - `user` Account — An account object.
            - `type` string, required
            - `links` AccountLinks — Links related to an Account.
              - …
            - `created_on` string, date-time
            - `display_name` string
            - `uuid` string
        - `committer` Committer — The committer of a change in a repository
          - `type` string, required
          - `raw` string — The raw committer value from the repository. This may be the only value available if the committer does not match a user in Bitbucket.
          - `user` Account — An account object.
            - `type` string, required
            - `links` AccountLinks — Links related to an Account.
              - …
            - `created_on` string, date-time
            - `display_name` string
            - `uuid` string
        - `message` string
        - `summary` object
          - `raw` string — The text as it was typed by a user.
          - `markup` 'markdown' | 'creole' | 'plaintext' — The type of markup language the raw content is to be interpreted in.
          - `html` string — The user's content rendered as HTML.
        - `parents` BaseCommit[]
          - `type` string, required
          - `hash` string
          - `date` string, date-time
          - `author` Author — The author of a change in a repository
            - `type` string, required
            - `raw` string — The raw author value from the repository. This may be the only value available if the author does not match a user in Bitbucket.
            - `user` Account — An account object.
              - …
          - `committer` Committer — The committer of a change in a repository
            - `type` string, required
            - `raw` string — The raw committer value from the repository. This may be the only value available if the committer does not match a user in Bitbucket.
            - `user` Account — An account object.
              - …
          - `message` string
          - `summary` object
            - `raw` string — The text as it was typed by a user.
            - `markup` 'markdown' | 'creole' | 'plaintext' — The type of markup language the raw content is to be interpreted in.
            - `html` string — The user's content rendered as HTML.
          - `parents` BaseCommit[]
        - `repository` Repository — A Bitbucket repository.
          - `type` string, required
          - `links` object
            - `self` object — A link to a resource related to this object.
              - …
            - `html` object — A link to a resource related to this object.
              - …
            - `avatar` object — A link to a resource related to this object.
              - …
            - `pullrequests` object — A link to a resource related to this object.
              - …
            - `commits` object — A link to a resource related to this object.
              - …
            - `forks` object — A link to a resource related to this object.
              - …
            - `watchers` object — A link to a resource related to this object.
              - …
            - `downloads` object — A link to a resource related to this object.
              - …
            - `clone` object[]
              - …
            - `hooks` object — A link to a resource related to this object.
              - …
          - `uuid` string — The repository's immutable id. This can be used as a substitute for the slug segment in URLs. Doing this guarantees your URLs will survive renaming of the repository by its owner, or even transfer of the repository to a different user.
          - `full_name` string — The concatenation of the repository owner's username and the slugified name, e.g. "evzijst/interruptingcow". This is the same string used in Bitbucket URLs.
          - `is_private` boolean
          - `parent` Repository — recursive
          - `scm` 'git'
          - `owner` Account — An account object.
            - `type` string, required
            - `links` AccountLinks — Links related to an Account.
              - …
            - `created_on` string, date-time
            - `display_name` string
            - `uuid` string
          - `name` string
          - `description` string
          - `created_on` string, date-time
          - `updated_on` string, date-time
          - `size` integer
          - `language` string
          - `has_issues` boolean — The issue tracker for this repository is enabled. Issue Tracker features are not supported for repositories in workspaces administered through admin.atlassian.com.
          - `has_wiki` boolean — The wiki for this repository is enabled. Wiki features are not supported for repositories in workspaces administered through admin.atlassian.com.
          - `fork_policy` 'allow_forks' | 'no_public_forks' | 'no_forks' — Controls the rules for forking this repository. * **allow_forks**: unrestricted forking * **no_public_forks**: restrict forking to private forks (forks cannot be made public later) * **no_forks**: deny all forking
          - `project` Project — A Bitbucket project. Projects are used by teams to organize repositories.
            - `type` string, required
            - `links` object
              - …
            - `uuid` string — The project's immutable id.
            - `key` string — The project's key.
            - `owner` Team — A team object.
              - …
            - `name` string — The name of the project.
            - `description` string
            - `is_private` boolean — Indicates whether the project is publicly accessible, or whether it is private to the team and consequently only visible to team members. Note that private projects cannot contain public repositories.
            - `created_on` string, date-time
            - `updated_on` string, date-time
            - `has_publicly_visible_repos` boolean — Indicates whether the project contains publicly visible repositories. Note that private projects cannot contain public repositories.
          - `mainbranch` Branch — A branch object, representing a branch in a repository.
            - `type` string, required
            - `links` object
              - …
            - `name` string — The name of the ref.
            - `target` Commit — recursive
            - `merge_strategies` string[] — Available merge strategies for pull requests targeting this branch.
            - `default_merge_strategy` string — The default merge strategy for pull requests targeting this branch.
        - `participants` Participant[]
          - `type` string, required
          - `user` Account — An account object.
            - `type` string, required
            - `links` AccountLinks — Links related to an Account.
              - …
            - `created_on` string, date-time
            - `display_name` string
            - `uuid` string
          - `role` 'PARTICIPANT' | 'REVIEWER'
          - `approved` boolean
          - `state` string
          - `participated_on` string, date-time — The ISO8601 timestamp of the participant's action. For approvers, this is the time of their approval. For commenters and pull request reviewers who are not approvers, this is the time they last commented, or null if they have not commented.
      - `attributes` 'link' | 'executable' | 'subrepository' | 'binary' | 'lfs'
      - `escaped_path` string — The escaped version of the path as it appears in a diff. If the path does not require escaping this will be the same as path.

## Other responses

- `400` — If the search request was invalid due to one of the following reasons: * the specified type of target account doesn''t match the actual account type; * malformed pagination properties; * missing or malformed search query, in the latter case an error key will be returned in `error.data.key` property.
- `404` — Search is not enabled for the requested user, navigate to [https://bitbucket.org/search](https://bitbucket.org/search) to turn it on
- `429` — Too many requests, try again later

---

[API](https://skmtc.net/bitbucket/apis/bitbucket-api.md) · [All operations](https://skmtc.net/bitbucket/apis/bitbucket-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitbucket/bitbucket-api/versions/4ec8bd2515c5/schema)
