API search and website search mismatch


#1

This is not always the case, and I haven’t been able to determine why some tweets fail to show up. But here’s an example:

This returns no results:
/1.1/search/tweets.json?q=from%3Ajack+Charities

This returns 1 tweet:
https://twitter.com/search?q=from%3Ajack+Charities


#2

The Tweet returned by the second link there is several months old. The Search API provides access to recent Tweets (~7 days old) and is not a complete index. See the docs.

The Twitter Search API is part of Twitter’s v1.1 REST API. It allows queries against the indices of recent or popular Tweets and behaves similarily to, but not exactly like the Search feature available in Twitter mobile or web clients, such as Twitter.com search.

Before getting involved, it’s important to know that the Search API is focused on relevance and not completeness. This means that some Tweets and users may be missing from search results. If you want to match for completeness you should consider using a Streaming API instead.

and

The Search API is not complete index of all Tweets, but instead an index of recent Tweets. At the moment that index includes between 6-9 days of Tweets.


#3

I had not noticed those debilitating caveats. Thanks, that does explain it, although that does render the API significantly not usable.

However, there’s still something else going on here because these return only 1 tweet:
https://twitter.com/search?q=from%3Ajack%20Simone
https://twitter.com/search?q=Simone%20from%3Ajack%20include%3Aretweets

Whereas this returns 2 tweets:
/1.1/search/tweets.json?q=from%3Ajack+Simone

So in some cases the API returns MORE than the website. Having re-read that doc page more carefully, nothing would seem to account for this. Any idea what the issue is there?


How accurate is the search/tweets endpoint?