Archiving my OKCupid Data
Last Updated
I recently realized I used OKCupid as far back as 2015. There should be conversations with friends who are no longer alive, messages from me when I was much less formed, and things that led to formative events in my life. Let's see if I can get the data.
TL;DR
- I successfully requested an export through OKCupid's support team.
- Chat history was 1-sided, and only 5 years of history. After asking for more, I was given the entire 6.5 years of history.
- Login history went back 6.5 years, to account creation date
Access Request Export
According to their Privacy Policy they fulfill right to access requests. I do not live somewhere with laws regarding this, but I put in a support ticket anyway.
The privacy policy and help page does not have a special request for this. I made a generic "Contact Us" request with category "Other" and asked to export chat history, browsing history, and login times.
I was asked to provide a copy of my government photo ID and then they started the export.
The export looked like a generic export and not one based on what I asked for in my support ticket. I ended up getting chat history, login times, device history, answered questions, search filters, purchase history, and other information about my profile (see the sample below). I also see keys in the export like "reportType": "DSAR",
and "isSenderOnly": true
, so there's definitely the option to get different information.
Sample output of export
{
"userInfoReport": {
"id": "5555555555555555555",
"reportType": "DSAR",
"voteCounts": {
"votesCast": 500,
"likesCast": 500,
"votesReceived": 500,
"likesReceived": 500,
"matches": 500
},
"email": "xxx@gmail.com",
"username": "xxx",
"phoneNumber": "xxx",
"loginCount": 500,
"joinDate": 1693299565000,
"lastLogin": 1693299565000,
"ipAddress": "xxx",
"birthdate": 1693299565000,
"gender": "",
"orientation": "Other",
"age": 28,
"education": "Attended",
"schools": "",
"occupation": "Undefined",
"job": "--",
"location": "xxx",
"status": "Active",
"selfieVerifiedStatus": 0,
"accountPaidLevel": "NOT_PAID",
"registrationLocation": "",
"essays": [{
"title": "My self-summary",
"text": "xxx",
"date": 1650830449000
}],
"essaysHistorical": [],
"lastGeolocation": {
"latitude": "41.0000000",
"longitude": "-80.000000",
"date": 1599491366000
},
"loginHistoryAggregate": [{
"date": 1693267200000,
"ip": "xx.xx.xx.xx",
"count": 2
}],
"messageThreadsPaged": {
"pageInfo": {
"hasMore": true,
"after": "2"
},
"data": [{
"type": "Message Thread",
"messages": [{
"from": "5555555555555555555",
"to": "0",
"date": 1651836433000,
"body": "xxxx message text",
"attachments": "",
"mmsUrl": null
}]
}],
"isSenderOnly": true
},
"photos": [{
"id": "2259404591077287153",
"url": "xxx",
"status": "User Picture Active",
"uploadDate": 1574398524000,
"caption": "xxx",
"isSelfieVerified": false,
"selfieVerifiedDate": null
}],
"purchases": [{
"id": "12534035755645328131",
"product": "A-List subscription (via acct level)",
"eventType": "Changed",
"transaction": "lost subscription",
"paymentType": "Credit card",
"charged": "",
"date": 1526695256000,
"comments": "userid 5555555555555555555 lost feature 10001"
}],
"questions": [{
"id": "72086",
"text": "xxx",
"answer": "Yes",
"acceptableAnswers": ["Yes", "No"],
"importance": "irrelevant",
"date": 1652205239000,
"comment": null,
"commentDate": null,
"isPublic": true
}],
"searchFilters": {
"ageMin": 50,
"ageMax": 50,
"genderTags": [],
"genderFilter": "Everybody",
"relationshipType": ["Short-term dating", "Hookup", "New friends", "Long-term dating"],
"distance": "25 mi"
},
"selfieVerificationHistory": [],
"signupUserAgent": "OKCA 8.1.3",
"thirdPartyIntegrations": [{
"name": "facebook",
"accessToken": "xxx",
"isActive": true
}],
"userDevices": [{
"hardwareId": "xxx",
"hardwareVersion": "xxx",
"lastUse": 1693195008000
}]
}
}
Login history gives IP and timestamps back to account creation, 6.5 years for me.
Chat history was less interesting. It was 1-sided. The other person's messages are not included and the "to"
field is set to "0"
so there's no info on who it was with. It is threaded though so I might be able to discern conversation partner. While it only goes back to 2018, I did notice a "hasMore": true,
in the field so there might be more to ask support for. This is contrary to me observing the frontend API which only returns around 14 conversations with "hasMore": false,
, most likely because I deactivated my account and they show only recent things after that event to prevent overwhelming users?
I ended up asking support for more message history. It took a couple of days but I was given a second data export containing all 1-sided conversations back to account creation. Yay!