본문으로 건너뛰기
Reincubate

Data types

게시일: 2019년 6월 27일· 업데이트: 2026년 3월 6일

Cover image for: Data types

Results returned for data type polls against the API will return information in one of the formats outlined below.

Result payload

Attributes

The root structure of the data JSON payload has the following attributes.

nametypedescription
datalist of data objectsThe data retrieved from the source.
metadatametadata objectMetadata related to data.

Metadata

Attributes

nametypedescription
countintThe number of objects in data.

File

The file data type is seen throughout the API, as it is a reference to a file that can be downloaded from the API through a files type poll.

Attributes

nametypedescription
file_idstringIdentifier used to request the file from the API. The value is only guaranteed to be unique in the scope of the current source.
typestring, always fileData type specifier.
namestringThe name of the file, excluding the extension.
extensionstring, optionalThe extension of the file if available.
mime_typestring, optionalThe MIME type of the file if available.
sizeint, optionalThe size of the file if available.
checksumstring, optionalThe md5 checksum if available.

Example

{
  "file_id": "abc123",
  "type": "file",
  "name": "IMG_0003",
  "extension": "jpg",
  "mime_type": "image/jpeg",
  "size": 2505426,
}

Image

Extends file.

nametypedescription
file_idstringIdentifier used to request the file from the API. The value is only guaranteed to be unique in the scope of the current source.
typestringAlways image.
filenamestringThe original file name of the file. The extension in this filename need to match the extension of the file.
file_pathstringThe path of the file relative to other files within its service. For example, the path within a backup.
widthint, optionalThe width of the file if available.
heightint, optionalThe height of the file if available.

Example

{
  "file_id": "abc123",
  "type": "image",
  "filename": "IMG_0003.JPG",
  "file_path": "Media/DCIM/100APPLE/IMG_0003.JPG",
  "name": "IMG_0003",
  "extension": "jpg",
  "mime_type": "image/jpeg",
  "width": 3000,
  "height": 2002,
  "size": 2505426,
}

Video

Extends file.

nametypedescription
file_idstringIdentifier used to request the file from the API. The value is only guaranteed to be unique in the scope of the current source.
typestringAlways video.
filenamestringThe original file name of the file. The extension in this filename need to match the extension of the file.
file_pathstringThe path of the file relative to other files within its service. For example, the path within a backup.
widthint, optionalThe width of the file if available.
heightint, optionalThe height of the file if available.
durationint, optionalThe length of the video if available.

Example

{
  "file_id": "abc123",
  "type": "video",
  "filename": "IMG_0009.MOV",
  "file_path": "Media/DCIM/100APPLE/IMG_0009.MOV",
  "name": "IMG_0009",
  "extension": "mov",
  "mime_type": "video/quicktime",
  "width": 1920,
  "height": 1080,
  "size": 5421796,
  "duration": 9.135623
}

Video

Extends file.

nametypedescription
file_idstringIdentifier used to request the file from the API. The value is only guaranteed to be unique in the scope of the current source.
typestringAlways audio.
filenamestringThe original file name of the file. The extension in this filename need to match the extension of the file.
file_pathstringThe path of the file relative to other files within its service. For example, the path within a backup.
transcriptionstring, optionalThe text transcription for an audio message, if available.

Example

{
  "id": "abc123",
  "type": "audio",
  "filename": "Audio Message.caf",
  "file_path": "Library/SMS/Attachments/.../Audio Message.caf",
  "transcription": "Test voice message",
}

Audio transcriptions

When available in a backup's data, the transcription of audio messages is returned as part of the audio object. This is available on audio messages made in iOS Messages since iOS 17.

Message

Attributes

nametypedescription
idstringA unique identifier for the message. Use this to deduplicate returned data if necessary.
data_typestring, always messageData type specifier.
typestring, optionalUsed when a messaging service handles a variety of message types. For example SMS and iMessage in the case of iOS Messages.
handlestringThe 2nd party of the conversation, often an identifier unique to the messaging app.
handle_namestring, optionalWhere available, a display name for the handle.
contactnested contact, optionalAn object referencing an iOS contact of the 2nd party of the conversation.
conversation_idstringIdentifier grouping messages by conversation.
from_meboolWhether the message was sent or received.
userstring, optionalThe user of the messaging app in the case where multiple users/accounts may be using a messaging app from the device.
textstringThe body of the message.
message_typestring, optionalClassification of the message (e.g. text, attachment, group_event, phone_number_change, poll, calendar_event). Currently present on WhatsApp messages. Unrecognised database values are passed through as raw integers.
group_event_typestring, optionalSub-classification for group management events. Only present when message_type is group_event. See the WhatsApp group event types section below for the full list of values.
editslist of edits, optionalA list of message content edits, for apps where message editing is supported and the history persisted in backups.
translationtranslation object, optionalTranslation data if the message was translated using iOS's built-in translation feature.
attachmentslist of files, optionalAn array of file_id values which can be used with the download_file method. If the message includes no attachment, an empty array is returned.
groupstring, optionalThe name of the group at the time the message was sent.
group_idstring, optionalThe unique identifier for the group within the context of that app. This may not be an integer, and if present, only provides information in addition to conversation_id.
group_handleslist of strings, optionalThis value is null for person-to-person messages, and in group conversations is an array of strings representing phone numbers or iMessage email addresses.
group_contactsstring, optionalAn array of objects referencing iOS contacts in the group.
deletedbool, optionalA boolean value to indicate whether the message had been deleted.
marked_unreadbool, optionalWhether the user marked the message as unread, if available.
datedatetimeWhen the message was sent or received.
date_readdatetime, optionalWhen a message was first read, if available.
date_editeddatetime, optionalWhen a message was last edited, if applicable.
date_deleteddatetime, optionalWhen a message was deleted, if applicable.

translation attributes

nametypedescription
translated_textstringThe translated text content.
source_languagestringThe original language code (e.g., en_US).
target_languagestringThe language the message was translated to (e.g., es_ES).

Example

{
  "id": "a1b2c3d4",
  "data_type": "message",
  "type": "SMS",
  "handle": "reincubate",
  "handle_name": "Reincubate",
  "conversation_id": "w6x7y8z9",
  "from_me": false,
  "text": "Hi from London!",
  "edits": [{
    "text": "Hi!",
    "date": "2023-06-27T10:20:00.000000Z"
  }, {
    "text": "Hi from London!",
    "date": "2023-06-27T10:21:00.000000Z"
  }],
  "attachments": [],
  "group_handles": [
    "+441234567890",
    "renate@reincubate.com"
  ],
  "deleted": false,
  "date": "2023-06-27T10:20:00.000000Z",
  "date_edited": "2023-06-27T10:21:00.000000Z"
}

Message handles and conversations

The API's data extractors support a historically broad range of source data, and will attempt to realign data that has become fragmented through app and iOS updates over time. As messaging apps add new features, they are not always careful to ensure the underlying data is migrated perfectly to the new structure. Therefore, the API must infer certain information in order to return consistent data.

One such case is for handles and conversation information returned from messaging apps, and most specifically the ios_messages.messages data module. The API will populate conversation_id with either a numeric identifier, if such information exists or can be inferred, or fallback to use the second-party's handle to set conversation_id. Therefore, using this field to tie together messages from the same chat is recommended.

Edited and deleted messages

Information on edited and deleted messages is available for ios_messages.messages for backups made from devices running iOS 16 and later. For deleted messages, information is only expected to be available while the message is still recoverable at the point the backup was made, which Apple say is 30–40 days after deletion.

For edited messages, the history of edits is returned in the edits attribute. Each edit includes the state of text and the time when the edit was committed. The text attribute of the message itself will always be the same as that of the final edit.

Translated messages

When a user translates an incoming message using iOS's built-in translation feature (available since iOS 26), the translation data is preserved in the backup and returned in the translation attribute. This includes:

  • The translated text content
  • The source language of the original message
  • The target language the message was translated into

Language codes follow the standard locale format (e.g., en_US for US English, es_ES for Spanish).

Note that translation data is only available for messages that were explicitly translated by the user on the device. The original message text is always returned in the text attribute.

WhatsApp message and group event types

WhatsApp messages include a message_type field classifying the message:

message_typeDescription
textPlain text message.
attachmentImage, video, audio, vcard, location, link, document, or gif. The specific type is in attachments[].type.
group_eventGroup management event (creation, name change, member add/remove, etc.).
phone_number_changeUser changed their phone number.
pollPoll (content not yet extracted into text).
calendar_eventCalendar event (content not yet extracted into text).

When message_type is group_event, the group_event_type field provides sub-classification:

group_event_typeDescription
group_createdA new group was created.
group_contextGroup chat context or participant event.
icon_changedGroup icon was changed.
participant_addedA participant was added.
participant_removedA participant was removed.
participant_promotedA participant was promoted to admin.
participant_change_numberA participant changed their phone number.
subject_changedGroup name/subject was changed.
description_changedGroup or community description was changed.
community_subgroup_linkedA subgroup was linked to a community.
community_subgroup_unlinkedA subgroup was unlinked from a community.
group_membership_permission_changedWho can add members was changed.
participants_batch_addedMultiple participants were added at once.
community_subject_changedCommunity name was changed.
community_description_changedCommunity description was changed.

For group events, text contains a human-readable value extracted from the event metadata. For example, a subject_changed event has the new group name as its text, and a community_subgroup_linked event has the linked subgroup's name. Unrecognised event types are passed through as raw integers.

Conversation

A conversation thread.

nametypedescription
idstringItem ID.
data_typestring, always conversationItem data type ID.
groupoptional stringName of group.
memberslist of contact itemsParticipants in the conversation.

Contact

contact attributes

nametypedescription
idstringItem ID.
data_typestring, always contactItem data type ID.
nameoptional stringThe contact's full name.
first_nameoptional stringThe contact's first name.
middle_nameoptional stringThe contact's middle name.
last_nameoptional stringThe contact's last name.
prefixoptional stringThe contact's name prefix.
suffixoptional stringThe contact's name suffix.
nicknameoptional stringThe contact's nickname.
recordslist of contact.record itemsContact records associated with the contact.
organisationoptional stringThe contact's organisation name.
departmentoptional stringThe contact's department within the organisation.
jobtitleoptional stringThe contact's job title within the organisation.
birthdayoptional dateThe contact's birthday.

contact.record attribute

There are 5 types of contact record items: Phone, Email, URL, Social, and Address. They correspond to a phone number, email address, website URL, social media account handle, and street address, respectively.

The first 4 have the same attributes:

nametypedescription
typestringOne of: Phone, Email, URL, Social.
nameoptional stringThe label associated with the record.
valuestringThe value of the record.

The Address contact record type has additional address fields:

nametypedescription
typestring, always AddressA phone number record.
nameoptional stringThe label associated with the number.
CountryCodeoptional stringA country code.
Countryoptional stringA country name.
ZIPoptional stringA zip or postal code.
Stateoptional stringA state name or abbreviation.
Cityoptional stringA city name.
Municipalityoptional stringA municipality name.
SubLocalityoptional stringA neighbourhood or area name.
Streetoptional stringA street address name.

Sample data

{
  "id": "2cf6a837304d6614",
  "data_type": "contact",
  "first_name": "John",
  "middle_name": "'Gala'",
  "last_name": "Appleseed",
  "prefix": "Mr.",
  "suffix": "Jr.",
  "nickname": "John'o",
  "records": [
    {
      "type": "Phone",
      "name": "MAIN",
      "value": "1-800-MY-APPLE"
    },
    {
      "type": "Phone",
      "name": "UK",
      "value": "0800 039 1010"
    },
    {
      "type": "URL",
      "name": "HOMEPAGE",
      "value": "http://www.apple.com"
    },
    {
      "type": "URL",
      "name": "HOMEPAGE",
      "value": "http://www.apple.com/uk/"
    },
    {
      "City": "Cupertino",
      "State": "CA",
      "ZIP": "95014",
      "name": "WORK",
      "CountryCode": "US",
      "Country": "United States",
      "Street": "1 Infinite Loop",
      "type": "Address",
      "SubLocality": null,
      "Municipality": null
    }
  ],
  "organisation": "Apple Inc.",
  "department": "Marketing",
  "jobtitle": "VP Juicing",
  "birthday": "1976-04-01"
}

Call

call attributes

nametypedescription
idstringItem ID.
data_typestring, always callItem data type ID.
call_typestringOne of: Phone, FaceTime Video, FaceTime Audio.
addressstringThe second party of the call. Could be a phone number, Apple ID, or other identifier. For group calls, it will relate to the handle that started the call.
participantsoptional list of participant objectsFor group calls, a list of all call participants.
durationfloatThe duration of the call.
answeredboolWhether the call was answered.
from_meboolWhether the call was outgoing or incoming.
videoboolWhether the call was a video call or not.
datedatetimeWhen the call was made.

call.participant attributes

nametypedescription
handlestringThe handle associated with the participant, e.g. phone number, WhatsApp ID, Apple ID, etc.
nameoptional stringThe name related to the handle.
numberoptional stringThe phone number related to the handle.
answeredboolWhether or not the participant answered the call.

Sample data

{
  "id": "24116c5b16b85217",
  "data_type": "call",
  "call_type": "Phone",
  "address": "07123456789",
  "participants": [{
    "handle": "01234567890",
    "number": "01234567890",
    "answered": true
  }, {
    "handle": "09876543210",
    "number": "09876543210",
    "answered": false
  }],
  "duration": 5.131359,
  "answered": true,
  "from_me": true,
  "video": false,
  "date": "2015-07-20 10:23:27.538011"
}

Event

event attributes

nametypedescription
idstringItem ID.
data_typestring, always eventItem data type ID.
unique_identifieroptional stringItem UID for deduplicating across multiple event data sources.
calendaroptional stringCalendar name.
calendar_uidoptional stringCalendar UID.
calendar_storeoptional stringCalendar store type, i.e. iCloud, Default.
summaryoptional stringThe event summary or title.
descriptionoptional stringThe event description.
start_dateoptional datetimeWhen the event begins.
end_dateoptional datetimeWhen the event finishes.
start_time_zoneoptional stringThe timezone of start_date.
end_time_zoneoptional stringThe timeone of end_date.
all_daybooleanWhether the event lasts an entire day.
travel_timeoptional durationThe event's travel time duration.
recurrenceoptional nested event.recurrenceThe event's recurrence settings.
locationoptional stringWhere the event is taking place.
start_locationoptional stringWhere the event is starting from.
attendeesoptional list of stringsNames of event attendees.
attached_urloptional stringA URL associated with the event.
creation_dateoptional datetimeWhen the event was created. Not set if default calendar entry, such as public holidays.

event.recurrence attributes

nametypedescription
intervalintegerThe count of repeat to recurr at, i.e. 1 Yearly (once every 1 year).
repeatstringOne of: OneTime, Daily, Weekly, Monthly, Yearly.
repeat_end_dateoptional datetimeWhen to stop recurring.

Sample data

{
  "id": "3",
  "unique_identifier": "f5fcf872-34f6-3f60-ba03-74d5a7a3bbbb",
  "calendar": "Home",
  "calendar_id": "477a2001537fe178d6b77cdceb8bac2e",
  "calendar_store": "Default",
  "summary": "Christmas Day",
  "description": "Bank holiday in the UK",
  "start_date": "2017-12-25T00:00:00.000000",
  "end_date": "2017-12-25T23:59:59.000000",
  "start_time_zone": None,
  "end_time_zone": None,
  "all_day": True,
  "travel_time": None,
  "recurrence": {
    "interval": 1,
    "repeat": "Yearly",
    "repeat_end_date": None,
    "specifier": ""
  },
  "location": None,
  "start_location": None,
  "attendees": ["John Appleseed"],
  "attached_url": None,
  "creation_date": None
}

Note

{
  "title": "Monday meeting:",
  "note": "Monday meeting:\n Discuss X,\n discuss Y.",
  "summary": null,
  "folder": "icloud",
  "sub_folder": "work",
  "attachments": [
    {
      "type": "image",
      "file_id": "8e22cf6e524357b4eb3da775d193072ebba9543f",
      "file_path": "Media/80DDDEAD-B33F-37B2-7219432C0359/Image.jpeg"
    }
  ],
  "creation_date": "2016-06-06 13:23:20.000000",
  "last_modified": "2016-06-07 15:21:25.000000"
}

Visit

A record of a website page visit.

Attributes

nametypedescription
data_typestring, always visitItem data type ID.
urlstringThe URL of the page visited.
titlestringThe visited page's title.
date_createddatetimeWhen the visit occurred.
{
  "data_type": "visit",
  "url": "https://reincubate.com/",
  "title": "Reincubate: the app data company",
  "date_created": "2020-01-01T00:00:00.000000Z"
}

A HTTP cookie.

Attributes

nametypedescription
data_typestring, always cookieItem data type ID.
namestringThe cookie's name.
valuestringThe cookie's value.
domainstringThe cookie's domain specifier.
pathstringThe cookie's path specifier.
flagsstringAny flags set on the cookie.
creation_datedatetimeWhen the cookie was created.
expiry_datedatetimeWhen the cookie expires.
{
  "data_type": "cookie",
  "name": "sample_cookies",
  "value": "sample_value",
  "domain": "reincubate.com",
  "path": "/",
  "flags": "",
  "creation_date": "2020-01-01T00:00:00.000000Z",
  "expiry_date": "2020-01-01T00:00:00.000000Z"
}

Location

Data attributes

nametypedescription
data_typestring, always locationA data type identifier.
latitudefloatThe location's latitude coordinate.
longitudefloatThe location's longitude coordinate.
altitudefloatThe location's altitude coordinate.
horizontal_accuracyfloatThe horizontal accuracy for the measurement.
vertical_accuracyfloatThe vertical accuracy for the measurement.
position_typestringIdentifier for the measurement method used.
date_createddatetimeWhen the measurement was made.

Sample data

{
  "data_type": "location",
  "latitude": 51.507452392689146,
  "longitude": -0.07398372304584414,
  "altitude": 0.0,
  "horizontal_accuracy": 65.0,
  "vertical_accuracy": 0.0,
  "positioning_type": "Wifi",
  "date_created": "2020-01-01T00:00:00.000000Z"
}

Voicemail

Represents a voicemail message from the device.

Attributes

nametypedescription
rowidintThe unique identifier for the voicemail within its database.
filenamestringThe name of the audio file containing the voicemail.
file_idstringIdentifier used to request the audio file from the API.
file_pathstringThe path of the voicemail file relative to the backup.
datestringThe date and time the voicemail was received (ISO 8601 format).
tokenstringStatus token for the voicemail (e.g., "Complete").
senderstringThe phone number of the caller who left the voicemail.
callback_numstringThe callback number associated with the voicemail.
durationintThe duration of the voicemail in seconds.
expirationstring, optionalThe expiration date of the voicemail (ISO 8601 format).
trashed_datestring or intThe date the voicemail was moved to trash, or 0 if not trashed.
flagsintSystem flags associated with the voicemail.
sim_slotstring, optionalThe SIM slot identifier for multi-SIM devices (e.g., "A-98ACC814-BDB0-51F8-A098-CB63A6A60E9F"). null for single-SIM devices or the default SIM slot.
transcriptstring, optionalThe text transcript of the voicemail, if available. Transcripts are generated by iOS for visual voicemail.

Example

{
  "rowid": 50,
  "filename": "50.amr",
  "file_id": "4ff0327d0148e7fa175a12f5a25ed7148a29de6d",
  "file_path": "Library/Voicemail/50.amr",
  "date": "2024-01-15 14:30:00.000000",
  "token": "Complete",
  "sender": "+123456789",
  "callback_num": "+123456789",
  "duration": 45,
  "expiration": "2024-02-14 14:30:00.000000",
  "trashed_date": 0,
  "flags": 3,
  "sim_slot": null,
  "transcript": "Hi, this is John. Please give me a call back when you get a chance. Thanks, bye."
}

Example (Multi-SIM device)

{
  "rowid": 28,
  "filename": "28.amr",
  "file_id": "a1b2c3d4e5f6...",
  "file_path": "Library/Voicemail/A-98ACC814-BDB0-51F8-A098-CB63A6A60E9F/28.amr",
  "date": "2024-01-15 14:30:00.000000",
  "token": "Complete",
  "sender": "+123456789",
  "callback_num": "+123456789",
  "duration": 30,
  "expiration": "2024-02-14 14:30:00.000000",
  "trashed_date": 0,
  "flags": 3,
  "sim_slot": "A-98ACC814-BDB0-51F8-A098-CB63A6A60E9F"
}

관련 문서

도움이 필요하신가요?

모든 문의에 영업일 기준 1일 이내에 답변드리도록 노력하고 있습니다.

support@reincubate.com
King's Award for Enterprise 로고

King's Award for Enterprise: Reincubate는 영국 최고의 공식 비즈니스 영예를 네 차례 수상했으며, 가장 최근에는 지난 3년간의 뛰어난 성장을 인정받았습니다.

사용자 및 파트너와의 관계는 우리의 가치와 우리가 만드는 제품의 핵심입니다. 리뷰을(를) 통해 그들의 이야기를 들어보세요.

Centre for Assessment의 ISO 27001 인증, UKAS 공인

© 2008-2026 Reincubate Ltd. 모든 권리 보유. 잉글랜드 및 웨일스 등록 번호 5189175, VAT 번호 GB151788978. Camo®, Streamlight® 및 Reincubate®는 등록 상표입니다. 특허 출원 중.

도움말