Frequently Asked Questions

General questions

Should I register?

Only if you plan to create an application that will use the API. There's no registration required just to use the demo on this website.

I've registered, where do I log in?

You don't. The purpose of the registration is to get a Customer ID and API key to authenticate calls made from your application. If you haven't saved your access credentials when you registered you can use Account Information Reminder to see them again.

Can I send you user's Facebook ID or Twitter handle, or maybe email address to get a prediction?

No. Our predictions take Facebook like ids and text written by the user as an input. It's your responsibility to obtain the digital footprint of the user in a manner that is in line with our ethical guidelines, especially the part regarding the need to obtain the informed consent of individuals about whom predictions are made.

I'm conducting research or want to use the API for non-profit project, can I still use the API?

Yes, we have worked with academic institutions and non-profit organisations before. Please contact us to tell us more about your project.

I would like to disconnect my Facebook or Twitter account after using demo prediction

Any access granted to social media accounts is temporary and within the scope of permissions granted.

That means we read your data, but it doesn't give us ability to access whole social media account or make any changes to it. Moreover, our read-only access is valid only for a period of time. We currently automatically remove any access tokens after 5 minutes. After that time we're technically prevented from any further access without the user re-connecting.

You can also expire any existing tokens by doing it yourself. This can be accomplished by:

Please remove all of my personal information associated with me, such as email or my name

We currently don’t store user's profile information nor any emails.

We do store Facebook like ids with indication that it belongs to the same user for research purposes, but we have no way of telling who this user was. This is because Facebook is generating different user ids per each application the user has been using. Those user ids are entirely different from Facebook website user id, and moreover these are stored in a hashed form in our database. All of this makes this data effectively anonymous.

As for textual data, we similarly store text that comes from Facebook Posts and/or tweets with indication it was written by the same user. We don't store any meta-information about individual posts/tweets nor any images, attachments, comments, tags, likes that come with them. It's only a big chunk of text, which machine learning software is using to extract predictive phrases from.

It is still possible to have all this data removed, but we need to be explicitly told of Facebook user id generated for Apply Magic Sauce application. There’s a support article on Facebook that tells how to find it - How do I find my user ID for my apps and games?.

It's also important to mention that as The University of Cambridge, we adhere to the strictest ethical guidelines regarding the collection and use of any collected data.

Those predictions are inaccurate, it says I'm [...], while in fact I know I'm [...]

Like any psychometric test, the results may not always correspond with estimation of own personality or abilities. Our tool is intended to help people understand what a digital self might look like to other people and also what that might tell you about who you really are.

In other words, we hope that enabling to better understand the psychological significance of own behaviour on social media makes people better equipped to interpret the potential impact of this behaviour on oneselves and others.

Technical questions

Getting empty response (status code 204) from API method

This is a normal response, indicating that digital footprint provided as an input is insufficient to make accurate prediction.

For /like_ids method we currently need at least 10 from which at least 5 should be recognised as 'predictive'. The solution to this is to send us more like ids to increase the likelihood of success. Though of course some Facebook users can have unpopular, not predictive, or just not enough likes altogether.

For testing purposes you can try the following like ids that are know to yield prediction:

[5845317146,6460713406,22404294985,35312278675,105930651606,171605907303,199592894970,274598553922,340368556015,100270610030980]

Getting 429 response from API method

This is indicating that your monthly usage limit was exceeded for your Prediction API account. Consider contacting us to talk about increasing it.

How can I know how much API calls I have left?

While we don't currently ofer a dedicated customer panel, they are returned every time from /auth method of the API. Please see the relevant part in Technical Documentation

I cannot connect to the API from my client-side JavaScript application

This is because browsers prevent making request across different domains for security reasons.

If we'd allow for these requests anyways, i.e. by setting Cross-Origin Resource Sharing (CORS) policy, we would encourage leaking api keys to the public. It's in your best interest to keep it secret from anyone else.

How I'm supposed to know my application gets 'good' predictions?

Just try the demo on this website and compare the results. If they significantly differ, it means something is wrong with your application.

The most common cause for it was customers not getting all of the user's likes from Facebook, because Facebook returns them in pages, 25 per page. Even with likes per page limit increased it takes multiple calls to get all of them. Please refer to Facebook Graph API documentation for details.

The demo here is just an ordinary client application and it's not treated differently, except it has all available permissions to use sensitive or experimental traits.