PCRE2_SIZE pcre2_get_startchar(pcre2_match_data *match_data);
After a successful call of pcre2_match() that was passed the match block that is this function's argument, this function returns the code unit offset of the character at which the successful match started. For a non-partial match, this can be different to the value of ovector if the pattern contains the \K escape sequence. After a partial match, however, this value is always the same as ovector because \K does not affect the result of a partial match.
There is a complete description of the PCRE2 native API in the pcre2api page and a description of the POSIX API in the pcre2posix page.