Skip to main content
Every tweet analysis route accepts this body. Each route adds its own questions and answers.

Pick the posts to analyze

Send tweetIds, texts, or a search, never more than 1. Sending none, or more than 1, returns 400 invalid_input.A search combines every search field you send into 1 X (Twitter) search.queryType sets the order, Latest or Top. For more posts than 1 call returns, send the same search again. In that search, set cursor to next_cursor. Stop when has_next_page is false.

Compare with an earlier answer

Send the results of an earlier call as baseline to see what changed. Each row in the new results gets monitor. analysisSummary.monitor counts the posts per status. The comparison costs nothing extra.
A baseline row needs the post’s id, or tweet.id, and its answers. Send whole result rows when you have them. Their monitor carries the settings’ fingerprint, so rows from other settings show as not_comparable.A decision counts as changed only when its answer clearly leaves the old one. So near ties between calls stay unchanged. Keep analysis the same between calls for comparable answers.

Budget the analysis

Each analyzed post costs 2 credits. Each text in texts costs the same. Posts in unanalyzed cost nothing. When credits cover fewer posts than you asked for, fewer come back. The posts left over appear in unanalyzed with insufficient_credits. If credits cover no post, the call returns 402 insufficient_credits.

Body parameters