The CData Sync App provides a straightforward way to continuously pipeline your Twitter data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Twitter connector can be used from the CData Sync application to pull data from Twitter and move it to any of the supported destinations.
The Sync App models the behavior of version 1.1 of the Twitter REST API as bidirectional tables. A developer account is required to connect to Twitter APIs.
For required properties, see the Settings tab.
For connection properties that are not typically required, see the Advanced tab.
First, generate a bearer token from Twitter's website. The YourBearerToken value is generated from: Twitter's Developer Portal > ProjectOfInterest > Keys and Tokens. For more information, see the Twitter Developers Portal Documentation.
After generating the token and setting the following, you are ready to connect:
If you want to access any other tables and views (besides StreamRules and TweetStream), follow the OAuth 1.1 procedures described below.
This section details a selection of advanced features of the Twitter Sync App.
The Sync App allows you to define virtual tables, called user defined views, whose contents are decided by a pre-configured query. These views are useful when you cannot directly control queries being issued to the drivers. See User Defined Views for an overview of creating and configuring custom views.
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats; see the SSLServerCert property under "Connection String Options" for more information.
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
The Sync App offloads as much of the SELECT statement processing as possible to Twitter and then processes the rest of the query in memory (client-side).
See Query Processing for more information.
See Logging for an overview of configuration settings that can be used to refine CData logging. For basic logging, you only need to set two connection properties, but there are numerous features that support more refined logging, where you can select subsets of information to be logged using the LogModules connection property.
By default, the Sync App attempts to negotiate SSL/TLS by checking the server's certificate against the system's trusted certificate store.
To specify another certificate, see the SSLServerCert property for the available formats to do so.
To connect through the Windows system proxy, you do not need to set any additional connection properties. To connect to other proxies, set ProxyAutoDetect to false.
In addition, to authenticate to an HTTP proxy, set ProxyAuthScheme, ProxyUser, and ProxyPassword, in addition to ProxyServer and ProxyPort.
Set the following properties:
The CData Sync App models Twitter entities in relational Tables, Views, and Stored Procedures.
API limitations and requirements are documented in this section; you can use the SupportEnhancedSQL feature, set by default, to circumvent most of these limitations.
Tables describes the available tables.
Views are tables that cannot be modified. Typically, data that are read-only and cannot be updated are shown as views.
Stored Procedures are function-like interfaces to the data source. They can be used to search, update, and modify information in the data source.
The Sync App models the data in Twitter as a list of tables in a relational database that can be queried using standard SQL statements.
Name | Description |
DirectMessages | Send direct messages and query messages sent and received by the authenticated user. |
Favorites | Create, delete, and query a list of favorite tweets of the authenticated user and allow the user to favorite new tweets or remove existing favorites. |
Following | Create, delete, and query a list of users that the current Twitter account is following, otherwise known as friends. |
StreamRules | Query, add or delete rules to your stream. After you have added rules to your stream, you can retrieve all of the Tweets that match by querying the TweetStream view. |
Tweets | Create, delete, and query status updates and tweets from the authenticated user. |
Send direct messages and query messages sent and received by the authenticated user.
Direct messages that have been sent and received by the authenticated user will appear in DirectMessages.
The Min_Id and Max_Id pseudo columns may be used to narrow down a range of direct messages to return, or to return only recent direct messages. The Id may be specified to return a specific direct message.
New direct messages may be sent by performing an insert. Note that only Text and the Recipient_Id may be specified in an insert. In order to attach a media to the message, simply specify the media file paths MediaFilePath or the MediaId for the media file in the INSERT command.It is possible to attach only one media to a message. For example:
INSERT INTO DirectMessages (Recipient_Id, Text, MediaFilePath) VALUES ('0000000000000000000', 'Hello World', 'C:\\myFile.jpg')
INSERT INTO DirectMessages (Recipient_Id, Text, MediaId) VALUES ('1001073178217713668', 'Hello World', '1001072801250529280')
The UPDATE operation is not available on this table.
Direct messages may be deleted by using the DELETE operation.
Name | Type | ReadOnly | Description |
ID [KEY] | String | True |
The Id of the direct message. |
Created_At | Datetime | True |
When the direct message was made. |
Text | String | True |
The text of the direct message. |
Sender_Id | String | True |
The Id for the sender of the message. |
Source_App_Id | String | True |
The name for the sender of the message. |
Recipient_ID | String | True |
The Id for the recipient of the message. |
User_Mentions | String | True |
Mentions of other users in the tweet, returned as an XML aggregate. |
URLs | String | True |
URLs in the tweet, returned as an XML aggregate. |
Hashtags | String | True |
Hashtags in the tweet, returned as an XML aggregate. |
Attachment_Id | String | True |
Identifier of the media attached to the message. |
Attachment_Url | String | True |
Url of the media attached to the message. |
Attachment_Type | String | True |
Type of media attached to the message. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String |
An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Min_ID | String |
Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only direct messages that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id column must be a valid number but does not need to be a valid direct message Id. |
Max_ID | String |
Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only direct messages that are equal to or older than the creation date of the specified Id will be returned. The Max_Id column must be a valid number but does not need to be a valid direct message Id. |
MediaId | String |
The media Ids to associate with the tweet. |
MediaFilePath | String |
The media file path to associate with the tweet. |
Include_Entities | Boolean |
Boolean indicating whether or not to include entities such as URLs, hashtags, and user mentions in the response. The default value is false. |
Create, delete, and query a list of favorite tweets of the authenticated user and allow the user to favorite new tweets or remove existing favorites.
The authenticated user's favorites may be viewed from Favorites.
The Min_Id and Max_Id pseudo columns may be used to narrow down a range of tweets to return, or to return only recent tweets. Additionally, the Include_Entities pseudo column may be specified, which can reduce the size of the response if it is set to false.
New tweets may be favorited by performing an insert and specifying the Id of the tweet.
The UPDATE operation is not available on this table.
Favorites may be removed by performing a DELETE operation and specifying the Id of the tweet to remove from Favorites.
Name | Type | ReadOnly | Description |
ID [KEY] | String | False |
The Id of the status update or tweet. Set this value when inserting to retweet an existing tweet. |
IDLong | Long | False |
The long type Id of the status update or tweet. |
Created_At | Datetime | True |
When the tweet was made. |
Text | String | False |
The text of the tweet. |
Source | String | True |
Source of the tweet. |
Favorited | Boolean | True |
Boolean indicating if this tweet has been favorited. |
Retweet_Count | Integer | True |
The number of times the tweet has been retweeted. |
From_User_Id | String | True |
Id of the user who made the tweet. |
From_User | String | True |
Screen name of the user who made the tweet. |
From_User_Name | String | True |
Name of the user who made the tweet. |
From_User_Lang | String | True |
Language code the from user is using. |
From_User_Profile_URL | String | True |
URL to the user who made the tweet. |
From_User_Profile_Image_URL | String | True |
URL to the profile image for the from user. |
From_User_Location | String | True |
The location of the user. |
To_User_Id | String | True |
Id of the user whom the tweet was sent to. |
To_User_Screen_Name | String | True |
Screen name of the user whom the tweet was sent to. |
User_Mentions | String | True |
Mentions of other users in the tweet, returned as an XML aggregate. |
URLs | String | True |
URLs in the tweet, returned as an XML aggregate. |
Hashtags | String | True |
Hashtags in the tweet, returned as an XML aggregate. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String |
An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Min_ID | String |
Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id must be a valid number but does not need to be a valid tweet Id. |
Max_ID | String |
Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or older than the creation date of the specified Id will be returned. The Max_Id must be a valid number but does not need to be a valid tweet Id. |
Include_Entities | Boolean |
Boolean indicating whether or not to include entities such as URLs, hashtags, and user mentions in the response. The default value is false. |
Create, delete, and query a list of users that the current Twitter account is following, otherwise known as friends.
Users whom the authenticated user is following will appear here. Additionally, users whom a specified user is following may be viewed from Following.
By default, Following will return users whom the authenticated user is following. By specifying a Following_User_Id or Following_Screen_Name, users whom the specified user is following will be returned.
LookUpUsers refers to looking up additional information on the users returned from Twitter. Normally, only the Ids of users someone is following are returned from Twitter. If LookUpUsers is set to true, additional queries will be made to Twitter to retrieve user details, such as a Screen_Name. LookUpUsers is true by default.
MaxUserLookup refers to the maximum number of users to additionally look up information on. A maximum of 100 user details may be returned from Twitter per request. Setting this value higher will cause details for more users to be returned, but at the cost of additional requests. MaxUserLookup defaults to 100.
The authenticated user may follow another user by performing an insert based on either the User_Id or the Screen_Name.
The UPDATE operation is not available on this table.
The authenticated user may stop following another user by performing a delete based on the Id.
Name | Type | ReadOnly | Description |
ID [KEY] | String | False |
The Id of the user. |
Name | String | True |
The name of the user. |
User_Id | String | False |
The Id of the user. |
Screen_Name | String | False |
The screen name of the user. |
Following_User_Id | String | False |
Use this in the WHERE clause to retrieve the users a specific user is following other than the authenticated user. |
Following_Screen_Name | String | False |
Use this in the WHERE clause to retrieve the users a specific user is following other than the authenticated user. |
Location | String | True |
The location of the user. |
Profile_URL | String | True |
The URL for the user's profile. |
Profile_Image_URL | String | True |
The URL for the image of the user. |
Protected | Boolean | True |
The privacy flag of the user. If true, then the user's account is private and only their approved followers can read their tweets or see extended information about them. |
Lang | String | True |
The ISO language code of the user. |
Created_At | Datetime | True |
When the user account was created. |
Friends_Count | Integer | True |
The number of people this user is following. |
Followers_Count | Integer | True |
The number of followers the user has. |
Favourites_Count | Integer | True |
The number of favorites the user has. |
Statuses_Count | Integer | True |
The number of status updates or tweets the user has made. |
UTC_Offset | Integer | True |
The Coordinated Universal Time offset for the user in seconds. |
Time_Zone | String | True |
The time zone of the user. |
Notifications | Boolean | True |
Boolean indicating if the user has notifications enabled. |
Geo_Enabled | Boolean | True |
Boolean indicating if the user has geo-enabled turned on in their profile. |
Verified | Boolean | True |
Boolean indicating if the user account has been verified. |
Following | Boolean | True |
Boolean indicating if the user is following you. |
Contributors_Enabled | Boolean | True |
Boolean indicating if contributors are enabled for the account. Typically used in multiuser accounts. |
Follow_Request_Sent | Boolean | True |
If the user is a protected user, this column indicates if the authenticated user has sent a request to follow them. |
Listed_Count | Integer | True |
The number of public lists a user is listed in. -1 if unknown. |
Is_Translator | Boolean | True |
Boolean indicating if the user contributes to translating Twitter in other languages. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String |
An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
LookUpUsers | String |
A boolean indicating if you would like to additionally look up details about the user Ids returned. Normally only Ids will be returned from Twitter, but additional requests can be made to Twitter to retrieve user details. The default value is true. |
MaxUserLookup | String |
The maximum number of users to perform a lookup on. Each user lookup is limited to a maximum of 100 Ids per request. The default value is 100. |
Query, add or delete rules to your stream. After you have added rules to your stream, you can retrieve all of the Tweets that match by querying the TweetStream view.
Name | Type | ReadOnly | Description |
Id [KEY] | String | False |
Unique identifier of this rule. |
Value | String | False |
The rule text as submitted when creating the rule. |
Tag | String | False |
The tag label as defined when creating the rule. |
Create, delete, and query status updates and tweets from the authenticated user.
Tweets posted on Twitter will appear here. Tweets may come from the authenticated user's home page, they may be searched for, or they may come from a specific user or list. Note that some columns will always be null unless the SearchTerms pseudo column is specified.
By default, Tweets will return tweets from the authenticated user's home page. By specifying SearchTerms, tweets that match the terms used in the search will return. Valid search terms may be found under the topic "Standard Search Operators", located here: https://developer.twitter.com/en/docs/tweets/search/guides/standard-operators.
Note:SearchTerms may not be used with Screen_Name, User_Id, List_Id, Slug, Owner_User_Id, or Owner_Screen_Name.
The Screen_Name and User_Id pseudo columns can be used to return tweets made by the specified user. Alternatively, use the From_User_Name and From_User_Id columns to do the same thing.
The List_Id pseudo column may be specified to return tweets made in a specific list. Alternatively, the list may be specified using the Slug and either Owner_User_Id or Owner_Screen_Name.
The Min_Id and Max_Id pseudo columns may be used to narrow down a range of tweets to return, or to return only recent tweets. Ids are created in increasing numerical order on Twitter. Specifying a Min_Id returns only results with a greater Id or tweets that were created more recently than the specified one. Setting a Max_Id will return only tweets that are older than the creation date of the specified Id. Note that while these values must be valid, non-negative numbers, they do not have to be Ids that exist.
By default, Twitter only supports returning Tweets from searches that are up to 7 days old. However, customers with premium accounts may retrieve tweets older than this by executing either a 30-day or full archive search.
The EnvType and DevEnvironment pseudo columns may be used to query Premium Search APIs. EnvType specifies the environment type. It can take one of 30day or fullarchive values. The default value is 30day. The DevEnvironment is required in order to query the Premium Search API and must be set to the value of the dev environment label, created in your Twitter Developer Account. You should use a Premium or Enterprise app in your OAuth connection properties to use the feature. A SearchTerms value must be specified in order to use this feature.
In order to insert a tweet, simply specify the text of the tweet in the INSERT command. For example:
INSERT INTO Tweets (Text) VALUES ('Hello World')
In order to insert a tweet with media, specify the text of the tweet and the media file paths MediaFilePath for every media file in the INSERT command.You may include up to 4 photos or 1 animated GIF or 1 video in a Tweet. For example:
INSERT INTO Tweets (Text, MediaFilePath) VALUES ('Hello World', 'C:\\myfile.jpg,C:\\myfile2.jpg')
If you already have media ids you can insert them in a tweet by providing media ids MediaId of every media, in INSERT command. For example:
INSERT INTO Tweets (Text, MediaId) VALUES ('Hello World', '123456789,123456789')
In order to retweet an existing tweet, specify the Id column when inserting the tweet. For example:
INSERT INTO Tweets (Id) VALUES ('123456789')
Name | Type | ReadOnly | Description |
ID [KEY] | String | False |
The Id of the status update or tweet. Set this value when inserting to retweet an existing tweet. |
IDLong | String | False |
The long type Id of the status update or tweet. |
SearchTerms | String | False |
The SearchTerms to search against. This cannot be used with the Screen_Name or User_Id inputs. For more information on using the advanced query operators, see the Twitter API documentation here: https://dev.twitter.com/docs/using-search. Roughly 1500 results can be returned using the SearchTerms. |
Created_At | Datetime | True |
When the tweet was made. |
Text | String | False |
The text of the tweet. |
Lang | String | True |
Language code the tweet was made in. |
Source | String | True |
Source of the tweet. |
Favorited | Boolean | True |
Boolean indicating if this tweet has been favorited. |
Favorite_Count | Integer | True |
The approximate number of times this tweet has been favorited. |
Retweeted | Boolean | True |
Boolean indicating if this tweet has been retweeted. |
Retweet_Count | Integer | True |
The number of times the tweet has been retweeted. |
Retweeted_Status_Id | String | True |
Id of the tweet which was retweeted by this one. Empty if the current tweet is not a retweet. |
Truncated | Boolean | True |
Boolean indicating if this tweet has been truncated. |
Filter_Level | String | True |
Indicates the maximum value of the Filter_Level parameter that can be used and still stream this tweet. |
Possibly_Sensitive | String | True |
This field is available only when a tweet contains a link. The meaning of the field does not pertain to the tweet content itself, but instead it is an indicator that the URL contained in the tweet may contain content or media identified as sensitive content. |
Withheld_Copyright | Boolean | True |
When present and set to true, indicates that this piece of content has been withheld due to a DMCA complaint. |
Withheld_Scope | String | True |
When present, indicates whether the content being withheld is the status or a user. |
Withheld_In_Countries | String | True |
A list of uppercase, two-letter country codes this content is withheld from. |
Contributors | String | True |
An XML collection of user objects (usually only one) indicating users who contributed to the authorship of the tweet, on behalf of the official tweet author. |
Coordinates_Coordinates | String | True |
The geographic coordinates of this tweet (longitude first, then latitude). |
Coordinates_Type | String | True |
The type of coordinate, if applicable. |
Place_Full_Name | String | True |
The full name of the location of this tweet (city and state). |
Place_Country | String | True |
The country of origin of this tweet. |
Current_User_Retweet_Id | String | True |
Details the tweet Id of the authenticated user's own retweet (if it exists) of this tweet. |
Scopes | String | True |
A set of key-value pairs indicating the intended contextual delivery of the containing tweet. Currently used by Twitter's promoted products. |
In_Reply_To_Status_Id | String | True |
Represents the Id of the original status if this tweet is in reply to another. |
From_User_Id | String | True |
Id of the user who made the tweet. Use this in the WHERE clause to get tweets for the specified user. |
From_User_Screen_Name | String | True |
Screen name of the user who made the tweet. Use this in the WHERE clause to get tweets for the specified user. |
From_User_Name | String | True |
Name of the user who made the tweet. |
From_User_Location | String | True |
Location of the user who made the tweet. |
From_User_Profile_URL | String | True |
URL to the user who made the tweet. This is not returned when a SearchTerms is specified. |
From_User_Profile_Image_Url | String | True |
URL to the profile image for the from user. |
To_User_Id | String | True |
Id of the user who made the tweet. Use this in the WHERE clause to get tweets for the specified user. |
To_User_Screen_Name | String | True |
Screen name of the user who made the tweet. |
User_Mentions | String | True |
Mentions of other users in the tweet, returned as an XML aggregate. |
URLs | String | True |
URLs in the tweet, returned as an XML aggregate. If SearchTerms is specified, set Include_Entities=true to retrieve URLs. |
Hashtags | String | True |
Hashtags in the tweet, returned as an XML aggregate. If SearchTerms is specified, set Include_Entities=true to retrieve Hashtags. |
Media | String | True |
Media in the tweet, returned as an XML aggregate. If SearchTerms is specified, set Include_Entities=true to retrieve Media. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String |
An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Min_ID | String |
Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id must be a valid number but does not need to be a valid tweet Id. |
Max_ID | String |
Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or older than the creation date of the specified Id will be returned. The Max_Id must be a valid number but does not need to be a valid tweet Id. |
Include_Entities | Boolean |
Boolean indicating whether or not to include entities such as URLs, hashtags, and user mentions in the response. The default value is false. |
Include_Retweets | Boolean |
Boolean indicating whether or not to include retweets in the result set. Only useful when no filters are specified (listing own tweets), From_User_Id, From_User_Screen_Name are specified (listing a user's tweets) or when List_Id is specified (listing the tweets from a list of User ids). Has no effect when used with SearchTerms. By default twitter includes retweets. The default value is true. |
Result_Type | String |
Indicates the type of results to return when using a SearchTerms. Currently Twitter has only popular and recent results. The allowed values are popular, recent. |
List_Id | String |
Used to specify the list Id to retrieve tweets from. This value does not work with SearchTerms, Screen_Name, or User_Id. |
Slug | String |
Alternative method of specifying a list. Use this in with an Owner_User_Id and Owner_Screen_Name to specify a list without a List_Id. |
Owner_User_Id | String |
Alternative method of specifying a list. Use this with a Slug to specify a list without the list Id. |
Owner_Screen_Name | String |
Alternative method of specifying a list. Use this with a Slug to specify a list without the List_Id. |
Geocode | String |
If this parameter is used with a SearchTerms, the query will return tweets from the specified geographical location. The geocode is specified in this manner: Lat,Long,Radius. For example: 37.781157,-122.398720,25mi |
RetweetId | String |
When making a new tweet, specify this value to retweet the specified tweet. |
MediaId | String |
A comma-separated value of media Ids to associate with the tweet. You may include up to 4 photos or 1 animated GIF or 1 video in a tweet. |
MediaFilePath | String |
A comma-separated value of media file paths to associate with the tweet. You may include up to 4 photos or 1 animated GIF or 1 video in a tweet. |
EnvType | String |
The environment type you want to use. The allowed values are 30day, fullarchive. The default value is 30day. |
DevEnvironment | String |
To begin using the new Premium APIs, you need to setup one or more dev environments for the endpoint and connect it to an app. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
Name | Description |
AccountSettings | Query account settings about the currently authenticated user. |
Followers | Query a list of users following the current Twitter account. |
ListMembers | Query the members of a specified list. |
Lists | Query Twitter list information based on a set of criteria. |
ListSubscribers | Query the subscribers to a specified list. |
Mentions | Query the most recent mentions (tweet containing @username) for the authenticating user. |
Retweets | Query a list of retweets of the authenticated user. |
Trends | Query the daily trending topics from Twitter. |
TweetStream | Query public data flowing through Twitter. |
Users | Query a list of users based on the SearchTerms, Id, or Screen_Name. |
Query account settings about the currently authenticated user.
Name | Type | Description |
Screen_Name [KEY] | String | The screen name of the currently authenticated user. |
Always_Use_Https | Boolean | A boolean indicating if the user has specified in their user settings to always use HTTPS URLs. |
Discoverable_By_Email | Boolean | A boolean indicating if the user can be found by email. This can be enabled in the 'let others find me by my email address' check box. |
Discoverable_By_Mobile | Boolean | A boolean indicating if the user can be found by their mobile number. |
Geo_Enabled | Boolean | A boolean indicating if the user has enabled adding locations to their tweets. |
Language | String | The default language code for the user. For example: en. |
Protected | Boolean | A boolean indicating if the user has selected the Protect My Tweets setting. |
Show_All_Inline_Media | Boolean | A boolean indicating if the user has enabled all media to be displayed in tweets. |
Sleep_Time_Enabled | Boolean | A boolean indicating if the user has selected to turn off updates during certain hours if they have added a mobile phone to their account. |
Sleep_Time_Start_Time | String | The start time for the range when Twitter updates will not be submitted to the user's mobile phone. |
Sleep_Time_End_Time | String | An ending time for the range when Twitter updates will not be submitted to the user's mobile phone. |
Time_Zone_Name | String | The name of the time zone the user is located in. |
Time_Zone_TZInfo_Name | String | A more specific location for the time zone the user is located in. |
Time_Zone_Utc_Offset | Int | The Coordinated Universal Time offset in seconds from GMT. |
Trend_Location | String | An XML aggregate of trending locations for the user. |
Query a list of users following the current Twitter account.
The authenticated user's followers and a specified user's followers may be viewed from Followers.
By default, Followers will return the followers of the authenticated user. By specifying a Followers_Of_User_Id or Followers_Of_Screen_Name, the followers of the specified user will be returned.
LookUpUsers refers to looking up additional information about the followers returned from Twitter. Normally only the Ids of followers are returned from Twitter. If LookUpUsers is set to true, additional queries will be made to Twitter to retrieve user details, such as the Screen_Name. LookUpUsers is true by default.
MaxUserLookup refers to the maximum number of users to additionally look up information on. A maximum of 100 user details may be returned from Twitter per request. Setting this value higher will cause details for more users to be returned, but at the cost of additional requests. MaxUserLookup defaults to 100.
Name | Type | Description |
ID [KEY] | String | The Id of the user. |
Name | String | The name of the user. |
User_Id | String | The Id of the user. |
Screen_Name | String | The screen name of the user. |
Followers_Of_User_Id | String | Use this in the WHERE clause to retrieve the users a specific user is following other than the authenticated user. |
Followers_Of_Screen_Name | String | Use this in the WHERE clause to retrieve the users a specific user is following other than the authenticated user. |
Location | String | The location of the user. |
Profile_URL | String | The URL for the user's profile. |
Profile_Image_URL | String | The URL for the image of the user. |
Protected | Boolean | The privacy flag of the user. If true, then the user's account is private and only their approved followers can read their tweets or see extended information about them. |
Lang | String | The ISO language code of the user. |
Created_At | Datetime | When the user account was created. |
Friends_Count | Integer | The number of people this user is following. |
Followers_Count | Integer | The number of followers the user has. |
Favourites_Count | Integer | The number of favorites the user has. |
Statuses_Count | Integer | The number of status updates or tweets the user has made. |
UTC_Offset | Integer | The Coordinated Universal Time offset for the user in seconds. |
Time_Zone | String | The time zone of the user. |
Notifications | Boolean | Boolean indicating if the user has notifications enabled. |
Geo_Enabled | Boolean | Boolean indicating if the user has geo-enabled turned on in their profile. |
Verified | Boolean | Boolean indicating if the user account has been verified. |
Following | Boolean | Boolean indicating if the user is following you. |
Contributors_Enabled | Boolean | Boolean indicating if contributors are enabled for the account. Typically used in multiuser accounts. |
Follow_Request_Sent | Boolean | If the user is a protected user, indicates if the authenticated user has sent a request to follow them. |
Listed_Count | Integer | The number of public lists a user is listed in. -1 if unknown. |
Is_Translator | Boolean | Boolean indicating if the user contributes to translating Twitter in other languages. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
LookUpUsers | String | A boolean indicating if you would like to additionally look up details about the user Ids returned. Normally only Ids will be returned from Twitter, but additional requests can be made to Twitter to retrieve user details.
The default value is true. |
MaxUserLookup | String | The maximum number of users to perform a lookup on. Each user lookup is limited to a maximum of 100 Ids per request.
The default value is 100. |
Query the members of a specified list.
Members of a specified list can be found under ListMembers.
The column List_Id can be used to specify the Id of a list you wish to obtain the members of.
Name | Type | Description |
ID [KEY] | String | The Id of the user. |
List_Id | String | The Id of the list. Used to specify the list Id to retrieve tweets from.
The default value is 2031945. |
Name | String | The name of the user. |
Screen_Name | String | The screen name of the user. |
Location | String | The location of the user. |
Profile_URL | String | The URL for the user's profile. |
Profile_Image_URL | String | The URL for the image of the user. |
Protected | Boolean | The privacy flag of the user. If true, then the user's account is private and only their approved followers can read their tweets or see extended information about them. |
Lang | String | The ISO language code of the user. |
Created_At | Datetime | When the user account was created. |
Friends_Count | Integer | The number of people this user is following. |
Followers_Count | Integer | The number of followers the user has. |
Favourites_Count | Integer | The number of favorites the user has. |
Statuses_Count | Integer | The number of status updates or tweets the user has made. |
UTC_Offset | Integer | The Coordinated Universal Time offset for the user in seconds. |
Time_Zone | String | The time zone of the user. |
Notifications | Boolean | Boolean indicating if the user has notifications enabled. |
Geo_Enabled | Boolean | Boolean indicating if the user has geo-enabled turned on in their profile. |
Verified | Boolean | Boolean indicating if the user account has been verified. |
Following | Boolean | Boolean indicating if the user is following you. |
Contributors_Enabled | Boolean | Boolean indicating if contributors are enabled for the account. Typically used in multiuser accounts. |
Follow_Request_Sent | Boolean | If the user is a protected user, this column indicates if the authenticated user has sent a request to follow them. |
Listed_Count | Integer | The number of public lists a user is listed in. -1 if unknown. |
Is_Translator | Boolean | Boolean indicating if the user contributes to translating Twitter in other languages. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Query Twitter list information based on a set of criteria.
Information on Twitter lists may be obtained in Lists. By default, lists that the authenticated user is subscribed to will appear. Lists may returned in several different ways using both pseudo columns and normal columns.
Specify the Subscriber_Id or Subscriber_Screen_Name in the WHERE clause of the request to return lists that the specified Twitter user is subscribed to. Other pseudo columns may not be used when specifying these values.
Specify the Member_Id or Member_Screen_Name in the WHERE clause of the request to return lists that the specified Twitter user is a member of. Other pseudo columns may not be used when specifying these values.
Specify both the Slug and Owner_User_Id or only the Owner_Screen_Name to return one specific list. This is an alternative to specifying the Id of the list and will return only one result.
Name | Type | Description |
ID [KEY] | String | The Id of the list. |
Name | String | The name of the list. |
Full_Name | String | The full name of the list. |
Slug | String | The Slug or name of the list. |
Description | String | A description of the list. |
Subscriber_Count | Integer | The number of subscribers to the list. |
Member_Count | Integer | The number of members in the list. |
Created_At | Datetime | When the list was created. |
Following | Boolean | Boolean indicating if the authenticated user is following the list. |
Mode | String | What mode the list is set to. |
Owner_Id | String | User Id for the owner of the list. |
Owner_Name | String | Name for the owner of the list. |
Owner_Screen_Name | String | Screen name for the owner of the list. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Subscriber_Id | String | Used to retrieve lists the specified User_Id is subscribed to. |
Subscriber_Screen_Name | String | Used to retrieve lists the specified User_Screen_Name is subscribed to. |
Member_Id | String | Used to retrieve lists the specified User_Id is a member of. |
Member_Screen_Name | String | Used to retrieve lists the specified User_Screen_Name is a member of. |
Owner_User_Id | String | Alternative method of specifying a list. Use this with a Slug to specify a list without the List_Id. |
Filter_To_Owned_Lists | Boolean | When set to true or 1 , will return just lists the authenticating user owns, and the user represented by user_id or screen_name is a member of. |
Query the subscribers to a specified list.
Subscribers of a specified list can be found under ListSubscribers.
The column List_Id can be used to specify the Id of a list you wish to obtain the members of.
Name | Type | Description |
ID [KEY] | String | The Id of the user. |
List_Id | String | Used to specify the list Id to retrieve tweets from.
The default value is 2031945. |
Name | String | The name of the user. |
Screen_Name | String | The screen name of the user. |
Location | String | The location of the user. |
Profile_URL | String | The URL for the user's profile. |
Profile_Image_URL | String | The URL for the image of the user. |
Protected | Boolean | The privacy flag of the user. If true, then the user's account is private and only their approved followers can read their tweets or see extended information about them. |
Lang | String | The ISO language code of the user. |
Created_At | Datetime | When the user account was created. |
Friends_Count | Integer | The number of people this user is following. |
Followers_Count | Integer | The number of followers the user has. |
Favourites_Count | Integer | The number of favorites the user has. |
Statuses_Count | Integer | The number of status updates or tweets the user has made. |
UTC_Offset | Integer | The Coordinated Universal Time offset for the user in seconds. |
Time_Zone | String | The time zone of the user. |
Notifications | Boolean | Boolean indicating if the user has notifications enabled. |
Geo_Enabled | Boolean | Boolean indicating if the user has geo-enabled turned on in their profile. |
Verified | Boolean | Boolean indicating if the user account has been verified. |
Following | Boolean | Boolean indicating if the user is following you. |
Contributors_Enabled | Boolean | Boolean indicating if contributors are enabled for the account. Typically used in multiuser accounts. |
Follow_Request_Sent | Boolean | If the user is a protected user, this column indicates if the authenticated user has sent a request to follow them. |
Listed_Count | Integer | The number of public lists a user is listed in. -1 if unknown. |
Is_Translator | Boolean | Boolean indicating if the user contributes to translating Twitter in other languages. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Query the most recent mentions (tweet containing @username) for the authenticating user.
Name | Type | Description |
ID [KEY] | String | The Id of the status update or tweet. Set this value when inserting to instead retweet an existing tweet. |
IDLong | Long | The long type Id of the status update or tweet. |
Created_At | Datetime | When the tweet was made. |
Text | String | The text of the tweet. |
Source | String | Source of the tweet. |
Favorited | Boolean | Boolean indicating if this tweet has been favorited. |
Favorite_Count | Integer | The approximate number of times this tweet has been favorited. |
Retweet_Count | Integer | The number of times the tweet has been retweeted. |
Retweeted_Status_Id | String | Id of the tweet which was retweeted by this one. Empty if the current tweet is not a retweet. |
User_Id | String | Id of the user who made the tweet. |
User_Name | String | Name of the user who made the tweet. |
User_Screen_Name | String | Screen name of the user who made the tweet. |
User_Location | String | Location of the user who made the tweet. |
User_Profile_URL | String | URL to the profile of the user who made the tweet. |
User_Profile_Image_URL | String | URL to the user's profile image. |
User_Mentions | String | Mentions of other users in the tweet, returned as an XML aggregate. |
URLs | String | URLs in the tweet, returned as an XML aggregate. |
Hashtags | String | Hashtags in the tweet, returned as an XML aggregate. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Min_ID | String | Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id must be a valid number but does not need to be a valid tweet Id. |
Max_ID | String | Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only tweets that are equal to or older than the creation date of the specified Id will be returned. The Max_Id must be a valid number but does not need to be a valid tweet Id. |
Include_Entities | Boolean | Boolean indicating whether or not to include entities such as URLs, hashtags, and user mentions in the response.
The default value is false. |
Include_Retweets | Boolean | Boolean indicating whether or not to include retweets in the result set.
The default value is true. |
Query a list of retweets of the authenticated user.
Tweets from the authenticated user that have been retweeted by other users will appear in Retweets by default.
The Min_Id and Max_Id pseudo columns may be used to narrow down a range of retweets to return, or to return only recent retweets. Ids are created in increasing numerical order on Twitter. Specifying a Min_Id will return only results with a greater Id or tweets that were created more recently than the specified one. Setting a Max_Id will return only tweets that are older than the creation date of the specified Id. Note that while these values must be valid, non-negative numbers, they do not have to be Ids that exist.
Name | Type | Description |
ID [KEY] | String | The Id of the status update or tweet. |
IDLong | Long | The long type Id of the status update or tweet. |
Created_At | Datetime | When the tweet was made. |
Text | String | The text of the tweet. |
Lang | String | Language code the tweet was made in. |
Source | String | Source of the tweet. |
Favorited | Boolean | Boolean indicating if this tweet has been favorited. |
Favorite_Count | Integer | The approximate number of times this tweet has been favorited. |
Retweeted | Boolean | Boolean indicating if this tweet has been retweeted. |
Retweet_Count | Integer | The number of times the tweet has been retweeted. |
Retweeted_Status_Id | String | Id of the tweet which was retweeted by this one. Empty if the current tweet is not a retweet. |
Truncated | Boolean | Boolean indicating if this tweet has been truncated. |
Filter_Level | String | Indicates the maximum value that may be used and still stream this tweet. |
Possibly_Sensitive | String | This field is available only when a tweet contains a link. The meaning of the field does not pertain to the tweet content itself, but instead it is an indicator that the URL contained in the tweet may contain content or media identified as sensitive content. |
Withheld_Copyright | Boolean | When present and set to true, it indicates that this piece of content has been withheld due to a DMCA complaint. |
Withheld_Scope | String | When present, this column indicates whether the content being withheld is the status or a user. |
Withheld_In_Countries | String | A list of uppercase, two-letter country codes of the countries this content is withheld from. |
Contributors | String | An XML collection of user objects (usually only one) indicating users who contributed to the authorship of the tweet, on behalf of the official tweet author. |
Coordinates_Coordinates | String | The geographic coordinates of this tweet (longitude first, then latitude). |
Coordinates_Type | String | The type of coordinate, if applicable. |
Place_Full_Name | String | The full name of the location of this tweet (city and state). |
Place_Country | String | The country of origin of this tweet. |
Current_User_Retweet_Id | String | Details the tweet Id of the authenticated user's own retweet (if it exists) of this tweet. |
Scopes | String | A set of key-value pairs indicating the intended contextual delivery of the containing tweet. Currently used by Twitter's promoted products. |
In_Reply_To_Status_Id | String | Represents the Id of the original status if this tweet is in reply to another. |
User_Id | String | Id of the user who made the tweet. Use this in the WHERE clause to get retweets for a specific user other than the authenticated user. |
User_Name | String | Name of the user who made the tweet. |
User_Screen_Name | String | Screen name of the user who made the tweet. |
User_Location | String | Location of the user who made the tweet. |
User_Profile_URL | String | URL to the user who made the tweet. |
User_Profile_Image_Url | String | URL to the profile image for the user who made the tweet. |
User_Mentions | String | Mentions of other users in the tweet, returned as an XML aggregate. |
URLs | String | URLs in the tweet, returned as an XML aggregate. |
Hashtags | String | Hashtags in the tweet, returned as an XML aggregate. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
Min_ID | String | Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only retweets that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id must be a valid number but does not need to be a valid retweet Id. |
Max_ID | String | Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only retweets that are equal to or older than the creation date of the specified Id will be returned. The Max_Id must be a valid number but does not need to be a valid retweet Id. |
Include_Entities | Boolean | Boolean indicating whether or not to include entities such as URLs, hashtags, and user mentions in the response.
The default value is false. |
Query the daily trending topics from Twitter.
Name | Type | Description |
ID [KEY] | String | A unique Id for the trending topic, denoted by the syntax Date | # |
Date | Datetime | The date for the trending topic. |
Topic | String | The name of the trending topic. |
WoeId | String | A Where on Earth Id for the location the topic is trending. Input this to keep from making an extra request to get the woeId from Twitter each time. |
Country | String | The country the topic is trending in. |
CountryCode | String | The country code the topic is trending in. |
Latitude | String | The latitude where trends are being searched for.
The default value is 40.7142. |
Longitude | String | The longitude where trends are being searched for.
The default value is -74.0064. |
Search_Terms | String | The search terms you would need to search for this trending topic. |
Events | String | Any events associated with the topic. |
Url | String | A URL to the Twitter search for this topic. |
Promoted_Content | String | Any promoted content that is associated with the topic. |
Query public data flowing through Twitter.
TweetStream is a stream that continuously reads public Tweets until the operation is killed. When querying the TweetStream view, you only receive tweets that match against the available rules. To manage the rules use the StreamRules table.
Below is the field you can use to filter the results.
BackfillCount | By passing this parameter, you can recover up to five minutes worth of data that you might have missed during a disconnection. The backfilled Tweets automatically flow through a reconnected stream, with older Tweets generally being delivered before any newly matching Tweets. You must include a whole number between 1 and 5 as the value to this parameter. To use this, please make sure your system is tolerant of duplicate data. |
The following is an example of a query that recovers one minute's worth of data:
SELECT Id, Tweet FROM TweetStream WHERE BackfillMinutes = 1
Name | Type | Description |
Id [KEY] | String | Unique identifier of the Tweet. |
RuleId [KEY] | String | ID of the filter rule that matched against the Tweet delivered. |
AuthorId | String | Unique identifier of the author. |
ContextAnnotations | String | Contains context annotations for the Tweet. |
ConversationId | String | The Tweet ID of the original Tweet of the conversation (which includes direct replies, replies of replies). |
CreatedAt | Datetime | Creation time of the Tweet. |
Entities | String | Contains details about text that has a special meaning in a Tweet. |
InReplyToUserId | String | If this Tweet is a Reply, indicates the user ID of the parent Tweet's author. |
Lang | String | Language of the Tweet, if detected by Twitter. Returned as a BCP47 language tag. |
PossiblySensitive | Bool | Indicates if this Tweet contains URLs marked as sensitive, for example content suitable for mature audiences. |
ReferencedTweets | String | A list of Tweets this Tweet refers to. |
ReplySettings | String | Shows who can reply to this Tweet. Fields returned are everyone, mentionedUsers, and following. |
Source | String | The name of the app the user Tweeted from. |
Text | String | The content of the Tweet. |
EditHistoryTweetIds | String | Unique identifiers indicating all versions of an edited Tweet. For Tweets with no edits, there will be one ID. For Tweets with an edit history, there will be multiple IDs. |
GeoCoordinates | String | A pair of decimal values representing the precise location of the user (latitude, longitude). This value be null unless the user explicitly shared their precise location. |
GeoCoordinatesType | String | Describes the type of coordinate. |
GeoPlaceId | String | The unique identifier of the place, if this is a point of interest tagged in the Tweet. |
AttachmentsMediaKeys | String | List of unique identifiers of media attached to this Tweet. |
AttachmentsPollIds | String | List of unique identifiers of polls present in the Tweets returned. |
EditsRemaining | Int | Indicates the number of remaining edits for the tweet. |
IsEditEligible | Bool | Indicates if a Tweet is eligible for edit. |
EditableUntil | Datetime | Indicates how long the tweet is editable for. |
RetweetCount | Int | Number of times this Tweet has been Retweeted. |
ReplyCount | Int | Number of Replies of this Tweet. |
LikeCount | Int | Number of Likes of this Tweet. |
QuoteCount | Int | Number of times this Tweet has been Retweeted with a comment (also known as Quote). |
ImpressionCount | Int | Number of times this Tweet has been viewed. |
WithheldCopyRight | String | Indicates if the content is being withheld for on the basis of copyright infringement. |
WithheldCountryCodes | String | Provides a list of countries where this content is not available. |
WithheldScope | String | Indicates whether the content being withheld is a Tweet or a user. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
BackfillMinutes | Int | By passing this parameter, you can recover up to five minutes worth of data that you might have missed during a disconnection. The backfilled Tweets will automatically flow through a reconnected stream, with older Tweets generally being delivered before any newly matching Tweets. You must include a whole number between 1 and 5 as the value to this parameter. To use this, please make sure your system is tolerant of duplicate data. |
Query a list of users based on the SearchTerms, Id, or Screen_Name.
Users may be obtained via a search or specified in a list of Ids or screen names.
SearchTerms may be used to search for users in a method that is similar to the Find People search on Twitter.com. Up to the first 1000 matches will be available using SearchTerms.
You can specify either the Screen_Name or User_Id pseudo columns to perform a lookup. Up to 100 screen names or Ids may be specified by using a comma-separated list. Id may also be specified using a comma-separated list and will perform the same lookup.
The Min_Id and Max_Id pseudo columns may be used to narrow down a range of users to return, or to return only recently created users. Ids are created in increasing numerical order on Twitter. Specifying a Min_Id returns only results with a greater Id or tweets that were created more recently than the specified one. Setting a Max_Id returns only tweets that are older than the creation date of the specified Id to return. Note that while these values must be valid, non-negative numbers, they do not have to be Ids that exist.
Name | Type | Description |
ID [KEY] | String | The Id of the user. A comma-separated list of user Ids may be used in the WHERE clause to get data about multiple users. |
SearchTerms | String | A SearchTerms to use while searching users. This can return up to 1000 results. |
Name | String | The name of the user. |
Screen_Name | String | The screen name of the user. |
Location | String | The location of the user. |
Profile_URL | String | The URL for the user's profile. |
Profile_Image_URL | String | The URL for the image of the user. |
Protected | Boolean | The privacy flag of the user. If true, then the user's account is private and only their approved followers can read their tweets or see extended information about them. |
Lang | String | The ISO language code of the user. |
Created_At | Datetime | When the user account was created. |
Friends_Count | Integer | The number of people this user is following. |
Followers_Count | Integer | The number of followers the user has. |
Favourites_Count | Integer | The number of favorites the user has. |
Statuses_Count | Integer | The number of status updates or tweets the user has made. |
UTC_Offset | Integer | The Coordinated Universal Time offset for the user in seconds. |
Time_Zone | String | The time zone of the user. |
Notifications | Boolean | Boolean indicating if the user has notifications enabled. |
Geo_Enabled | Boolean | Boolean indicating if the user has geo-enabled turned on in their profile. |
Verified | Boolean | Boolean indicating if the user account has been verified. |
Following | Boolean | Boolean indicating if the user is following you. |
Contributors_Enabled | Boolean | Boolean indicating if contributors are enabled for the account. Typically used in multiuser accounts. |
Follow_Request_Sent | Boolean | If the user is a protected user, this column indicates if the authenticated user has sent a request to follow them. |
Listed_Count | Integer | The number of public lists a user is listed in. -1 if unknown. |
Is_Translator | Boolean | Boolean indicating if the user contributes to translating Twitter in other languages. |
Description | String | The description of the user. |
Url | String | A URL to the user page on Twitter. |
Default_Profile | Boolean | Boolean indicating if the user is using the default profile design/theme. |
Default_Profile_Image | Boolean | Boolean indicating if the user is using the default Twitter profile image. |
Profile_Background_Color | String | Background color for the user's theme. |
Profile_Background_Image_Url | String | HTTP URL for the user's background image in their theme settings. |
Profile_Background_Image_Url_Https | String | HTTPS URL for the user's background image in their theme settings. |
Profile_Background_Tile | Boolean | Boolean indicating if the user has used the Tile Background checkbox in their theme settings. |
Profile_Image_Url_Https | String | HTTPS URL for the user's profile image. |
Profile_Link_Color | String | Hexadecimal color code for the user's links. |
Profile_Sidebar_Border_Color | String | The sidebar border color for the user. |
Profile_Sidebar_Fill_Color | String | The sidebar fill color for the user. |
Profile_Text_Color | String | The hexadecimal color code for text in the user's settings. |
Profile_Use_Background_Image | String | Boolean indicating if the user is using the background image. |
Show_All_Inline_Media | String | Boolean indicating if the user has enabled viewing all in-line media (pictures, videos, etc). |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
Name | Type | Description |
NextPageToken | String | An identifier to retrieve the next page of results. Specify only if an error occurs during the original request. Make sure any criteria specified in the original request are still specified when using the NextPageToken. |
User_ID | String | The Id of the user to return results for. This can be used in the WHERE clause of an SQL statement as a comma-separated list. Only up to 100 user Ids can be submitted per request. |
Min_ID | String | Specifies the lowest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only users that are equal to or newer than the creation date of the specified Id will be returned. The Min_Id must be a valid number but does not need to be a valid user Id. |
Max_ID | String | Specifies the highest Id to return results for. Ids are stored in increasing numerical order, so specifying this value means that only users that are equal to or older than the creation date of the specified Id will be returned. The Max_Id must be a valid number but does not need to be a valid user Id. |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
Property | Description |
UseAppOnlyAuthentication | A boolean that indicates whether or not you would like to use app-only authentication. |
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
AuthToken | The authentication token used to request and obtain the OAuth Access Token. |
AuthKey | The authentication key used to request and obtain the OAuth Access Token. |
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
Property | Description |
LogModules | Core modules to be included in the log file. |
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
Property | Description |
IsPremiumTwitter | When true, enables access to the Premium Search API. This is false by default. |
MaxRateLimitDelay | The maximum amount of time to delay (in seconds) before submitting a request if it would be rate limited. |
MaxRows | Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
Other | These hidden properties are used only in specific use cases. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
SearchTerms | Default SearchTerms if none are specified. Used for some tables such as Tweets where SearchTerms may be specified. |
StreamPageSize | The number of results to return per page of data retrieved from the Twitter stream. |
StreamReadDuration | This property represents the maximum time to read streaming data, in seconds. |
StreamTimeout | The maximum number of seconds to continue waiting for results while streaming. When this value is reached and no tweets are returned, then the connection will be closed. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
Property | Description |
UseAppOnlyAuthentication | A boolean that indicates whether or not you would like to use app-only authentication. |
A boolean that indicates whether or not you would like to use app-only authentication.
Set this to true to have your Twitter app log in to Twitter instead of a user.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
Property | Description |
OAuthClientId | The client Id assigned when you register your application with an OAuth authorization server. |
OAuthClientSecret | The client secret assigned when you register your application with an OAuth authorization server. |
AuthToken | The authentication token used to request and obtain the OAuth Access Token. |
AuthKey | The authentication key used to request and obtain the OAuth Access Token. |
The client Id assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId value, sometimes also called a consumer key, and a client secret, the OAuthClientSecret.
The client secret assigned when you register your application with an OAuth authorization server.
As part of registering an OAuth application, you will receive the OAuthClientId, also called a consumer key. You will also receive a client secret, also called a consumer secret. Set the client secret in the OAuthClientSecret property.
The authentication token used to request and obtain the OAuth Access Token.
This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.
It can be supplied alongside the AuthKey in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.
The authentication key used to request and obtain the OAuth Access Token.
This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.
It can be supplied alongside the AuthToken in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
Property | Description |
SSLServerCert | The certificate to be accepted from the server when connecting using TLS/SSL. |
The certificate to be accepted from the server when connecting using TLS/SSL.
If using a TLS/SSL connection, this property can be used to specify the TLS/SSL certificate to be accepted from the server. Any other certificate that is not trusted by the machine is rejected.
This property can take the following forms:
Description | Example |
A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
A path to a local file containing the certificate | C:\cert.cer |
The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
The MD5 Thumbprint (hex values can also be either space or colon separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
The SHA1 Thumbprint (hex values can also be either space or colon separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
If not specified, any certificate trusted by the machine is accepted.
Use '*' to signify to accept all certificates. Note that this is not recommended due to security concerns.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
Property | Description |
FirewallType | The protocol used by a proxy-based firewall. |
FirewallServer | The name or IP address of a proxy-based firewall. |
FirewallPort | The TCP port for a proxy-based firewall. |
FirewallUser | The user name to use to authenticate with a proxy-based firewall. |
FirewallPassword | A password used to authenticate to a proxy-based firewall. |
The protocol used by a proxy-based firewall.
This property specifies the protocol that the Sync App will use to tunnel traffic through the FirewallServer proxy. Note that by default, the Sync App connects to the system proxy; to disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
Type | Default Port | Description |
TUNNEL | 80 | When this is set, the Sync App opens a connection to Twitter and traffic flows back and forth through the proxy. |
SOCKS4 | 1080 | When this is set, the Sync App sends data through the SOCKS 4 proxy specified by FirewallServer and FirewallPort and passes the FirewallUser value to the proxy, which determines if the connection request should be granted. |
SOCKS5 | 1080 | When this is set, the Sync App sends data through the SOCKS 5 proxy specified by FirewallServer and FirewallPort. If your proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
The name or IP address of a proxy-based firewall.
This property specifies the IP address, DNS name, or host name of a proxy allowing traversal of a firewall. The protocol is specified by FirewallType: Use FirewallServer with this property to connect through SOCKS or do tunneling. Use ProxyServer to connect to an HTTP proxy.
Note that the Sync App uses the system proxy by default. To use a different proxy, set ProxyAutoDetect to false.
The TCP port for a proxy-based firewall.
This specifies the TCP port for a proxy allowing traversal of a firewall. Use FirewallServer to specify the name or IP address. Specify the protocol with FirewallType.
The user name to use to authenticate with a proxy-based firewall.
The FirewallUser and FirewallPassword properties are used to authenticate against the proxy specified in FirewallServer and FirewallPort, following the authentication method specified in FirewallType.
A password used to authenticate to a proxy-based firewall.
This property is passed to the proxy specified by FirewallServer and FirewallPort, following the authentication method specified by FirewallType.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
Property | Description |
ProxyAutoDetect | This indicates whether to use the system proxy settings or not. |
ProxyServer | The hostname or IP address of a proxy to route HTTP traffic through. |
ProxyPort | The TCP port the ProxyServer proxy is running on. |
ProxyAuthScheme | The authentication type to use to authenticate to the ProxyServer proxy. |
ProxyUser | A user name to be used to authenticate to the ProxyServer proxy. |
ProxyPassword | A password to be used to authenticate to the ProxyServer proxy. |
ProxySSLType | The SSL type to use when connecting to the ProxyServer proxy. |
ProxyExceptions | A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer . |
This indicates whether to use the system proxy settings or not.
This takes precedence over other proxy settings, so you'll need to set ProxyAutoDetect to FALSE in order use custom proxy settings.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
The hostname or IP address of a proxy to route HTTP traffic through.
The hostname or IP address of a proxy to route HTTP traffic through. The Sync App can use the HTTP, Windows (NTLM), or Kerberos authentication types to authenticate to an HTTP proxy.
If you need to connect through a SOCKS proxy or tunnel the connection, see FirewallType.
By default, the Sync App uses the system proxy. If you need to use another proxy, set ProxyAutoDetect to false.
The TCP port the ProxyServer proxy is running on.
The port the HTTP proxy is running on that you want to redirect HTTP traffic through. Specify the HTTP proxy in ProxyServer. For other proxy types, see FirewallType.
The authentication type to use to authenticate to the ProxyServer proxy.
This value specifies the authentication type to use to authenticate to the HTTP proxy specified by ProxyServer and ProxyPort.
Note that the Sync App will use the system proxy settings by default, without further configuration needed; if you want to connect to another proxy, you will need to set ProxyAutoDetect to false, in addition to ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
The authentication type can be one of the following:
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
A user name to be used to authenticate to the ProxyServer proxy.
The ProxyUser and ProxyPassword options are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
You can select one of the available authentication types in ProxyAuthScheme. If you are using HTTP authentication, set this to the user name of a user recognized by the HTTP proxy. If you are using Windows or Kerberos authentication, set this property to a user name in one of the following formats:
user@domain domain\user
A password to be used to authenticate to the ProxyServer proxy.
This property is used to authenticate to an HTTP proxy server that supports NTLM (Windows), Kerberos, or HTTP authentication. To specify the HTTP proxy, you can set ProxyServer and ProxyPort. To specify the authentication type, set ProxyAuthScheme.
If you are using HTTP authentication, additionally set ProxyUser and ProxyPassword to HTTP proxy.
If you are using NTLM authentication, set ProxyUser and ProxyPassword to your Windows password. You may also need these to complete Kerberos authentication.
For SOCKS 5 authentication or tunneling, see FirewallType.
By default, the Sync App uses the system proxy. If you want to connect to another proxy, set ProxyAutoDetect to false.
The SSL type to use when connecting to the ProxyServer proxy.
This property determines when to use SSL for the connection to an HTTP proxy specified by ProxyServer. This value can be AUTO, ALWAYS, NEVER, or TUNNEL. The applicable values are the following:
AUTO | Default setting. If the URL is an HTTPS URL, the Sync App will use the TUNNEL option. If the URL is an HTTP URL, the component will use the NEVER option. |
ALWAYS | The connection is always SSL enabled. |
NEVER | The connection is not SSL enabled. |
TUNNEL | The connection is through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
A semicolon separated list of destination hostnames or IPs that are exempt from connecting through the ProxyServer .
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note that the Sync App uses the system proxy settings by default, without further configuration needed; if you want to explicitly configure proxy exceptions for this connection, you need to set ProxyAutoDetect = false, and configure ProxyServer and ProxyPort. To authenticate, set ProxyAuthScheme and set ProxyUser and ProxyPassword, if needed.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
Property | Description |
LogModules | Core modules to be included in the log file. |
Core modules to be included in the log file.
Only the modules specified (separated by ';') will be included in the log file. By default all modules are included.
See the Logging page for an overview.
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
Property | Description |
Location | A path to the directory that contains the schema files defining tables, views, and stored procedures. |
BrowsableSchemas | This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC. |
Tables | This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC. |
Views | Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC. |
A path to the directory that contains the schema files defining tables, views, and stored procedures.
The path to a directory which contains the schema files for the Sync App (.rsd files for tables and views, .rsb files for stored procedures). The folder location can be a relative path from the location of the executable. The Location property is only needed if you want to customize definitions (for example, change a column name, ignore a column, and so on) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is "%APPDATA%\\CData\\Twitter Data Provider\\Schema" with %APPDATA% being set to the user's configuration directory:
Platform | %APPDATA% |
Windows | The value of the APPDATA environment variable |
Linux | ~/.config |
This property restricts the schemas reported to a subset of the available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC.
Listing the schemas from databases can be expensive. Providing a list of schemas in the connection string improves the performance.
This property restricts the tables reported to a subset of the available tables. For example, Tables=TableA,TableB,TableC.
Listing the tables from some databases can be expensive. Providing a list of tables in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
Restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC.
Listing the views from some databases can be expensive. Providing a list of views in the connection string improves the performance of the Sync App.
This property can also be used as an alternative to automatically listing views if you already know which ones you want to work with and there would otherwise be too many to work with.
Specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note that when connecting to a data source with multiple schemas or catalogs, you will need to provide the fully qualified name of the table in this property, as in the last example here, to avoid ambiguity between tables that exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
Property | Description |
IsPremiumTwitter | When true, enables access to the Premium Search API. This is false by default. |
MaxRateLimitDelay | The maximum amount of time to delay (in seconds) before submitting a request if it would be rate limited. |
MaxRows | Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses. |
Other | These hidden properties are used only in specific use cases. |
PseudoColumns | This property indicates whether or not to include pseudo columns as columns to the table. |
SearchTerms | Default SearchTerms if none are specified. Used for some tables such as Tweets where SearchTerms may be specified. |
StreamPageSize | The number of results to return per page of data retrieved from the Twitter stream. |
StreamReadDuration | This property represents the maximum time to read streaming data, in seconds. |
StreamTimeout | The maximum number of seconds to continue waiting for results while streaming. When this value is reached and no tweets are returned, then the connection will be closed. |
Timeout | The value in seconds until the timeout error is thrown, canceling the operation. |
UserDefinedViews | A filepath pointing to the JSON configuration file containing your custom views. |
When true, enables access to the Premium Search API. This is false by default.
With this property enabled, you can return tweets from searches older than 7 days ago.
The EnvType and DevEnvironment pseudo columns may be used to query Premium Search APIs. EnvType specifies the environment type. It can take one of 30day or fullarchive values.
The default value is 30day. The DevEnvironment is required in order to query the Premium Search API and must be set to the value of the dev environment label, created in your Twitter Developer Account.
The maximum amount of time to delay (in seconds) before submitting a request if it would be rate limited.
Twitter uses different rate limits for total number of requests for different endpoints. These can range from as few as 15 per 15 minute window, up to 900 for a 15 minute window. Internally the CData Sync App keeps track of if a given request would result in a rate limit exception. If a rate limit would occur, the CData Sync App can internally delay submitting a request until the limit is up. However, this could also result in waiting for several minutes before requesting data, which is also not a good behavior.
The MaxRateLimitDelay gives control over the maximum amount of time the CData Sync App will wait once it detects a rate limit would occur. Since the amount of time the CData Sync App needs to wait can be calculated, if it would have to wait longer than the MaxRateLimitDelay, it will simply error immediately when it sees the time would take too long.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
Limits the number of rows returned when no aggregation or GROUP BY is used in the query. This takes precedence over LIMIT clauses.
These hidden properties are used only in specific use cases.
The properties listed below are available for specific use cases. Normal driver use cases and functionality should not require these properties.
Specify multiple properties in a semicolon-separated list.
DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
ConvertDateTimeToGMT | Determines whether to convert date-time values to GMT, instead of the local time of the machine. |
RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
This property indicates whether or not to include pseudo columns as columns to the table.
This setting is particularly helpful in Entity Framework, which does not allow you to set a value for a pseudo column unless it is a table column. The value of this connection setting is of the format "Table1=Column1, Table1=Column2, Table2=Column3". You can use the "*" character to include all tables and all columns; for example, "*=*".
Default SearchTerms if none are specified. Used for some tables such as Tweets where SearchTerms may be specified.
Default SearchTerms if none are specified. Used for some tables such as Tweets where SearchTerms may be specified.
The number of results to return per page of data retrieved from the Twitter stream.
The number of results to return per page of data retrieved from the Twitter stream.
This property represents the maximum time to read streaming data, in seconds.
Set StreamReadDuration property to consume streaming data for a specific time period. When StreamReadDuration is reached and StreamTimeout is 0, then the connection will be closed.
The maximum number of seconds to continue waiting for results while streaming. When this value is reached and no tweets are returned, then the connection will be closed.
Set the value of StreamTimeout to 0 in order to keep the connection open indefinitely. Note that, if the value of this property is greater than zero, the value of the StreamPageSize property, will be overwriten and will be set to one(1).
The value in seconds until the timeout error is thrown, canceling the operation.
If Timeout = 0, operations do not time out. The operations run until they complete successfully or until they encounter an error condition.
If Timeout expires and the operation is not yet complete, the Sync App throws an exception.
A filepath pointing to the JSON configuration file containing your custom views.
User Defined Views are defined in a JSON-formatted configuration file called UserDefinedViews.json. The Sync App automatically detects the views specified in this file.
You can also have multiple view definitions and control them using the UserDefinedViews connection property. When you use this property, only the specified views are seen by the Sync App.
This User Defined View configuration file is formatted as follows:
For example:
{ "MyView": { "query": "SELECT * FROM Tweets WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }Use the UserDefinedViews connection property to specify the location of your JSON configuration file. For example:
"UserDefinedViews", C:\Users\yourusername\Desktop\tmp\UserDefinedViews.jsonNote that the specified path is not embedded in quotation marks.