See org-element-timestamp-parser (parses the timestamp at point, including the repeater part) and org-element-timestamp-interpreter (transforms a timestamp object back into Org syntax).
For example, calling (org-element-timestamp-parser) with the point at the "<" of "<2016-01-25 Mon 14:51 +1w>" produces
(timestamp (:type active
:raw-value "<2016-01-25 Mon 14:51 +1w>"
:year-start 2016
:month-start 1
:day-start 25
:hour-start 14
:minute-start 51
:year-end 2016
:month-end 1
:day-end 25
:hour-end 14
:minute-end 51
:begin 1
:end 27
:post-blank 0
:repeater-type cumulate
:repeater-value 1
:repeater-unit week))
The second element of this list is a property list that can be easily accessed and changed using plist-get and plist-put.
PS: I found these by running zrgrep in the Org source directory, searching for "repeater".
PPS: I use Org-mode version 8.2.10.