Chilkat Online Tools

VB6 / Twitter API v2 / Recent search

Back to Collection Items

' This example assumes the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

Dim http As New ChilkatHttp
Dim success As Long

Dim queryParams As New ChilkatJsonObject
success = queryParams.UpdateString("query","")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"

Dim resp As ChilkatHttpResponse
Set resp = http.QuickRequestParams("GET","https://api.twitter.com/2/tweets/search/recent",queryParams)
If (http.LastMethodSuccess = 0) Then
    Debug.Print http.LastErrorText
    Exit Sub
End If

Dim sbResponseBody As New ChilkatStringBuilder
success = resp.GetBodySb(sbResponseBody)

Dim jResp As New ChilkatJsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = 0

Debug.Print "Response Body:"
Debug.Print jResp.Emit()

Dim respStatusCode As Long
respStatusCode = resp.StatusCode
Debug.Print "Response Status Code = " & respStatusCode
If (respStatusCode >= 400) Then
    Debug.Print "Response Header:"
    Debug.Print resp.Header
    Debug.Print "Failed."

    Exit Sub
End If

' Sample JSON response:
' (Sample code for parsing the JSON response is shown below)

' {
'   "data": [
'     {
'       "author_id": "1176828691365736451",
'       "created_at": "2020-06-24T17:19:07.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 14,
'             "username": "skipbolden"
'           }
'         ]
'       },
'       "id": "1275840892285399041",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275809336988557314"
'         }
'       ],
'       "source": "Twitter Web App",
'       "text": "RT @skipbolden: It's 1963 in The Bronx, NYC. The magic, the music, the mystery of growing up.\nKen Wahl, Karen Allen and John Friedrich in,…"
'     },
'     {
'       "author_id": "13524182",
'       "created_at": "2020-06-24T17:19:07.000Z",
'       "entities": {
'         "hashtags": [
'           {
'             "start": 25,
'             "end": 30,
'             "tag": "NY12"
'           }
'         ]
'       },
'       "id": "1275840892281249793",
'       "in_reply_to_user_id": "13524182",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "replied_to",
'           "id": "1275781448855891968"
'         }
'       ],
'       "source": "Twitter Web App",
'       "text": "If Suraj Patel wins when #NY12 absentees get counted, Jerry Nadler and Max Rose will be the only white guys representing any part of NYC in Congress."
'     },
'     {
'       "author_id": "15004848",
'       "created_at": "2020-06-24T17:19:07.000Z",
'       "id": "1275840891014561796",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "source": "Twitter for iPhone",
'       "text": "Started offering online camps this week and initially devastated by the swap. Now find out we have kids with allergies (not a worry in this setting) & kids from MD, NYC, and Zambia! Very cool to see the positives & the kids cooking their hearts out!"
'     },
'     {
'       "author_id": "956719622232924160",
'       "created_at": "2020-06-24T17:19:06.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 18,
'             "username": "SoniaChanel617"
'           },
'           {
'             "start": 20,
'             "end": 28,
'             "username": "cvpayne"
'           }
'         ]
'       },
'       "id": "1275840886774075396",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275840174296125440"
'         }
'       ],
'       "source": "Twitter Web App",
'       "text": "RT @SoniaChanel617: @cvpayne So many people are moving out of NYC. It’s crazy."
'     },
'     {
'       "author_id": "1235426387957370880",
'       "created_at": "2020-06-24T17:19:05.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 18,
'             "username": "DavidYankovich"
'           }
'         ]
'       },
'       "id": "1275840884769259523",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275834637437276165"
'         }
'       ],
'       "source": "Twitter for iPhone",
'       "text": "RT @DavidYankovich: A man who admitted his own guilt twice is getting freed from prison while black folks who jump a turnstile in NYC subwa…"
'     },
'     {
'       "author_id": "3031898016",
'       "created_at": "2020-06-24T17:19:04.000Z",
'       "entities": {
'         "hashtags": [
'           {
'             "start": 0,
'             "end": 4,
'             "tag": "NYC"
'           },
'           {
'             "start": 20,
'             "end": 35,
'             "tag": "OccupyCityHall"
'           },
'           {
'             "start": 209,
'             "end": 217,
'             "tag": "protest"
'           },
'           {
'             "start": 218,
'             "end": 229,
'             "tag": "NycProtest"
'           },
'           {
'             "start": 230,
'             "end": 247,
'             "tag": "NoJusticeNoPeace"
'           },
'           {
'             "start": 248,
'             "end": 259,
'             "tag": "BLMprotest"
'           },
'           {
'             "start": 260,
'             "end": 277,
'             "tag": "blacklivesmatter"
'           }
'         ]
'       },
'       "id": "1275840878238552064",
'       "lang": "de",
'       "possibly_sensitive": false,
'       "source": "Twitter Web App",
'       "text": "#NYC protests 6/24\n\n#OccupyCityHall \n(City Hall)\nWash Sq (kids) 1\nCarl Schurz (vigil) 7\nJackie Robinson Pk (vigil) 730\n\nMcCarren vigil & march 7\nGAP 730\nNicholas Hayward Jr Park vigil 8\n\n277 W 231st St 1\n\n#protest #NycProtest #NoJusticeNoPeace #BLMprotest #blacklivesmatter"
'     },
'     {
'       "author_id": "939165988435607552",
'       "created_at": "2020-06-24T17:19:03.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 16,
'             "username": "jonrappoport"
'           }
'         ]
'       },
'       "id": "1275840877651546113",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275794225309921285"
'         }
'       ],
'       "source": "Twitter for Android",
'       "text": "RT @jonrappoport: Forget about coffee and doughnuts, Welcome back to the office! \n\nThat 'socially distant' elevator ride. Gives new meaning…"
'     },
'     {
'       "author_id": "110578919",
'       "created_at": "2020-06-24T17:19:03.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 13,
'             "username": "zerohedge"
'           }
'         ],
'         "urls": [
'           {
'             "start": 68,
'             "end": 91,
'             "url": "https://t.co/wqV97PbtF9",
'             "expanded_url": "https://www.zerohedge.com/political/de-blasio-considers-laying-22000-nyc-employees",
'             "display_url": "zerohedge.com/political/de-b…",
'             "images": [
'               {
'                 "url": "https://pbs.twimg.com/news_img/1275839982771539968/xZNipbjm?format=jpg&name=orig",
'                 "width": 650,
'                 "height": 447
'               },
'               {
'                 "url": "https://pbs.twimg.com/news_img/1275839982771539968/xZNipbjm?format=jpg&name=150x150",
'                 "width": 150,
'                 "height": 150
'               }
'             ],
'             "status": 200,
'             "title": "De Blasio Considers Laying Off 22,000 NYC Employees ",
'             "description": "\"The city may have to lay off workers...\"",
'             "unwound_url": "https://www.zerohedge.com/political/de-blasio-considers-laying-22000-nyc-employees"
'           }
'         ]
'       },
'       "id": "1275840876997050369",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275839979772665861"
'         }
'       ],
'       "source": "Twitter for iPhone",
'       "text": "RT @zerohedge: De Blasio Considers Laying Off 22,000 NYC Employees  https://t.co/wqV97PbtF9"
'     },
'     {
'       "author_id": "186075913",
'       "created_at": "2020-06-24T17:19:03.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 15,
'             "username": "AmyJacobson"
'           },
'           {
'             "start": 67,
'             "end": 81,
'             "username": "LoriLightfoot"
'           }
'         ]
'       },
'       "id": "1275840876074369025",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "retweeted",
'           "id": "1275760016402849792"
'         }
'       ],
'       "source": "Twitter for Android",
'       "text": "RT @AmyJacobson: I called it! NYC reopens beaches BEFORE Chicago. \u2066@LoriLightfoot\u2069 sunbathing allowed since Memorial Day and now they can S…"
'     },
'     {
'       "author_id": "4421576056",
'       "created_at": "2020-06-24T17:19:03.000Z",
'       "entities": {
'         "mentions": [
'           {
'             "start": 3,
'             "end": 19,
'             "username": "hirosemaryhello"
'           }
'         ]
'       },
'       "id": "1275840875466305542",
'       "lang": "en",
'       "possibly_sensitive": false,
'       "referenced_tweets": [
'         {
'           "type": "quoted",
'           "id": "1275622383555133440"
'         },
'         {
'           "type": "retweeted",
'           "id": "1275837188715020290"
'         }
'       ],
'       "source": "Twitter for Android",
'       "text": "RT @hirosemaryhello: NYC! can you help the protestors currently occupying City Hall to demand the defunding of the NYPD? they need supplies…"
'     }
'   ],
'   "meta": {
'     "newest_id": "1275840892285399041",
'     "oldest_id": "1275840875466305542",
'     "result_count": 10,
'     "next_token": "b26v89c19zqg8o3fo7gesq314zlbjb2xlwutmy72r47lp"
'   }
' }

' Sample code for parsing the JSON response...
' Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

Dim author_id As String
Dim created_at As String
Dim id As String
Dim lang As String
Dim possibly_sensitive As Long
Dim source As String
Dim text As String
Dim in_reply_to_user_id As String
Dim j As Long
Dim count_j As Long
Dim start As Long
Dim v_end As Long
Dim username As String
Dim v_type As String
Dim tag As String
Dim url As String
Dim expanded_url As String
Dim display_url As String
Dim status As Long
Dim title As String
Dim description As String
Dim unwound_url As String
Dim k As Long
Dim count_k As Long
Dim width As Long
Dim height As Long

Dim Newest_id As String
Newest_id = jResp.StringOf("meta.newest_id")
Dim Oldest_id As String
Oldest_id = jResp.StringOf("meta.oldest_id")
Dim Result_count As Long
Result_count = jResp.IntOf("meta.result_count")
Dim Next_token As String
Next_token = jResp.StringOf("meta.next_token")
Dim i As Long
i = 0
Dim count_i As Long
count_i = jResp.SizeOfArray("data")
Do While i < count_i
    jResp.I = i
    author_id = jResp.StringOf("data[i].author_id")
    created_at = jResp.StringOf("data[i].created_at")
    id = jResp.StringOf("data[i].id")
    lang = jResp.StringOf("data[i].lang")
    possibly_sensitive = jResp.BoolOf("data[i].possibly_sensitive")
    source = jResp.StringOf("data[i].source")
    text = jResp.StringOf("data[i].text")
    in_reply_to_user_id = jResp.StringOf("data[i].in_reply_to_user_id")
    j = 0
    count_j = jResp.SizeOfArray("data[i].entities.mentions")
    Do While j < count_j
        jResp.J = j
        start = jResp.IntOf("data[i].entities.mentions[j].start")
        v_end = jResp.IntOf("data[i].entities.mentions[j].end")
        username = jResp.StringOf("data[i].entities.mentions[j].username")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data[i].referenced_tweets")
    Do While j < count_j
        jResp.J = j
        v_type = jResp.StringOf("data[i].referenced_tweets[j].type")
        id = jResp.StringOf("data[i].referenced_tweets[j].id")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data[i].entities.hashtags")
    Do While j < count_j
        jResp.J = j
        start = jResp.IntOf("data[i].entities.hashtags[j].start")
        v_end = jResp.IntOf("data[i].entities.hashtags[j].end")
        tag = jResp.StringOf("data[i].entities.hashtags[j].tag")
        j = j + 1
    Loop
    j = 0
    count_j = jResp.SizeOfArray("data[i].entities.urls")
    Do While j < count_j
        jResp.J = j
        start = jResp.IntOf("data[i].entities.urls[j].start")
        v_end = jResp.IntOf("data[i].entities.urls[j].end")
        url = jResp.StringOf("data[i].entities.urls[j].url")
        expanded_url = jResp.StringOf("data[i].entities.urls[j].expanded_url")
        display_url = jResp.StringOf("data[i].entities.urls[j].display_url")
        status = jResp.IntOf("data[i].entities.urls[j].status")
        title = jResp.StringOf("data[i].entities.urls[j].title")
        description = jResp.StringOf("data[i].entities.urls[j].description")
        unwound_url = jResp.StringOf("data[i].entities.urls[j].unwound_url")
        k = 0
        count_k = jResp.SizeOfArray("data[i].entities.urls[j].images")
        Do While k < count_k
            jResp.K = k
            url = jResp.StringOf("data[i].entities.urls[j].images[k].url")
            width = jResp.IntOf("data[i].entities.urls[j].images[k].width")
            height = jResp.IntOf("data[i].entities.urls[j].images[k].height")
            k = k + 1
        Loop
        j = j + 1
    Loop
    i = i + 1
Loop

Curl Command

curl -G -d "query="
	-H "Authorization: Bearer <access_token>"
https://api.twitter.com/2/tweets/search/recent

Postman Collection Item JSON

{
  "name": "Recent search",
  "request": {
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "https://api.twitter.com/2/tweets/search/recent?query=",
      "protocol": "https",
      "host": [
        "api",
        "twitter",
        "com"
      ],
      "path": [
        "2",
        "tweets",
        "search",
        "recent"
      ],
      "query": [
        {
          "key": "query",
          "value": "",
          "description": "Required. Query for matching Tweets. Up to 512 characters."
        },
        {
          "key": "start_time",
          "value": "",
          "description": "The oldest UTC timestamp (from most recent 7 days) from which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).",
          "disabled": true
        },
        {
          "key": "end_time",
          "value": "",
          "description": "The newest, most recent UTC timestamp to which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).",
          "disabled": true
        },
        {
          "key": "since_id",
          "value": "",
          "description": "Returns results with a Tweet ID greater than (that is, more recent than) the specified ID. The ID specified is exclusive and responses will not include it.",
          "disabled": true
        },
        {
          "key": "until_id",
          "value": "",
          "description": "Returns results with a Tweet ID less than (that is, older than) the specified ID. The ID specified is exclusive and responses will not include it.",
          "disabled": true
        },
        {
          "key": "max_results",
          "value": "",
          "description": "The maximum number of search results to be returned by a request. A number between 10 and the system limit (currently 100). By default, a request response will return 10 results.",
          "disabled": true
        },
        {
          "key": "next_token",
          "value": "",
          "description": "This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.",
          "disabled": true
        },
        {
          "key": "tweet.fields",
          "value": "",
          "description": "Comma-separated list of fields for the Tweet object.\n\nAllowed values:\nattachments,author_id,context_annotations,conversation_id,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,possibly_sensitive,promoted_metrics,public_metrics,referenced_tweets,reply_settings,source,text,withheld\n\nDefault values:\nid,text\n\nOAuth1.0a User Context authorization required if any of the following fields are included in the request:\nnon_public_metrics,organic_metrics,promoted_metrics",
          "disabled": true
        },
        {
          "key": "expansions",
          "value": "",
          "description": "Comma-separated list of fields to expand. Expansions enable requests to expand an ID into a full object in the includes response object.\n\nAllowed values: attachments.poll_ids,attachments.media_keys,author_id,geo.place_id,in_reply_to_user_id,referenced_tweets.id,entities.mentions.username,referenced_tweets.id.author_id\n\nDefault values: none",
          "disabled": true
        },
        {
          "key": "media.fields",
          "value": "",
          "description": "Comma-separated list of fields for the media object. Expansion required.\n\nAllowed values:\nduration_ms,height,media_key,non_public_metrics,organic_metrics,preview_image_url,promoted_metrics,public_metrics,type,url,width\n\nDefault values:\nmedia_key,type\n\nOAuth1.0a User Context authorization required if any of the following fields are included in the request:\nnon_public_metrics,organic_metrics,promoted_metrics",
          "disabled": true
        },
        {
          "key": "place.fields",
          "value": "",
          "description": "Comma-separated list of fields for the place object. Expansion required.\n\nAllowed values:\ncontained_within,country,country_code,full_name,geo,id,name,place_type\n\nDefault values:\nid,full_name",
          "disabled": true
        },
        {
          "key": "poll.fields",
          "value": "",
          "description": "Comma-separated list of fields for the poll object. Expansion required.\n\nAllowed values:\nduration_minutes,end_datetime,id,options,voting_status\n\nDefault values:\nid, options",
          "disabled": true
        },
        {
          "key": "user.fields",
          "value": "",
          "description": "Comma-separated list of fields for the user object. Expansion required.\n\nAllowed values:\ncreated_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld\n\nDefault values:\nid,name,username",
          "disabled": true
        }
      ]
    },
    "description": "Search for public Tweets created in the last 7 days.\n\nFor full details, see the [API reference](https://developer.twitter.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-recent) for this endpoint.\n\n[Sign up](https://t.co/signup) for the Twitter API"
  },
  "response": [
    {
      "name": "200 Success - Request Tweet Fields",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "https://api.twitter.com/2/tweets/search/recent?query=nyc&tweet.fields=author_id,created_at,entities,geo,in_reply_to_user_id,lang,possibly_sensitive,referenced_tweets,source",
          "protocol": "https",
          "host": [
            "api",
            "twitter",
            "com"
          ],
          "path": [
            "2",
            "tweets",
            "search",
            "recent"
          ],
          "query": [
            {
              "key": "query",
              "value": "nyc"
            },
            {
              "key": "tweet.fields",
              "value": "author_id,created_at,entities,geo,in_reply_to_user_id,lang,possibly_sensitive,referenced_tweets,source",
              "description": "attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,possibly_sensitive,promoted_metrics,public_metrics,referenced_tweets,source,text,withheld"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "content-disposition",
          "value": "attachment; filename=json.json"
        },
        {
          "key": "content-encoding",
          "value": "gzip"
        },
        {
          "key": "content-length",
          "value": "2169"
        },
        {
          "key": "content-type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "date",
          "value": "Wed, 24 Jun 2020 17:19:38 GMT"
        },
        {
          "key": "server",
          "value": "tsa_b"
        },
        {
          "key": "strict-transport-security",
          "value": "max-age=631138519"
        },
        {
          "key": "x-access-level",
          "value": "read"
        },
        {
          "key": "x-connection-hash",
          "value": "86a90a7aa13fde1840d52be0d1faf5c4"
        },
        {
          "key": "x-content-type-options",
          "value": "nosniff"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "x-rate-limit-limit",
          "value": "1800"
        },
        {
          "key": "x-rate-limit-remaining",
          "value": "1795"
        },
        {
          "key": "x-rate-limit-reset",
          "value": "1593019916"
        },
        {
          "key": "x-response-time",
          "value": "227"
        },
        {
          "key": "x-xss-protection",
          "value": "0"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"data\": [\n        {\n            \"author_id\": \"1176828691365736451\",\n            \"created_at\": \"2020-06-24T17:19:07.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 14,\n                        \"username\": \"skipbolden\"\n                    }\n                ]\n            },\n            \"id\": \"1275840892285399041\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275809336988557314\"\n                }\n            ],\n            \"source\": \"Twitter Web App\",\n            \"text\": \"RT @skipbolden: It's 1963 in The Bronx, NYC. The magic, the music, the mystery of growing up.\\nKen Wahl, Karen Allen and John Friedrich in,…\"\n        },\n        {\n            \"author_id\": \"13524182\",\n            \"created_at\": \"2020-06-24T17:19:07.000Z\",\n            \"entities\": {\n                \"hashtags\": [\n                    {\n                        \"start\": 25,\n                        \"end\": 30,\n                        \"tag\": \"NY12\"\n                    }\n                ]\n            },\n            \"id\": \"1275840892281249793\",\n            \"in_reply_to_user_id\": \"13524182\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"replied_to\",\n                    \"id\": \"1275781448855891968\"\n                }\n            ],\n            \"source\": \"Twitter Web App\",\n            \"text\": \"If Suraj Patel wins when #NY12 absentees get counted, Jerry Nadler and Max Rose will be the only white guys representing any part of NYC in Congress.\"\n        },\n        {\n            \"author_id\": \"15004848\",\n            \"created_at\": \"2020-06-24T17:19:07.000Z\",\n            \"id\": \"1275840891014561796\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"source\": \"Twitter for iPhone\",\n            \"text\": \"Started offering online camps this week and initially devastated by the swap. Now find out we have kids with allergies (not a worry in this setting) &amp; kids from MD, NYC, and Zambia! Very cool to see the positives &amp; the kids cooking their hearts out!\"\n        },\n        {\n            \"author_id\": \"956719622232924160\",\n            \"created_at\": \"2020-06-24T17:19:06.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 18,\n                        \"username\": \"SoniaChanel617\"\n                    },\n                    {\n                        \"start\": 20,\n                        \"end\": 28,\n                        \"username\": \"cvpayne\"\n                    }\n                ]\n            },\n            \"id\": \"1275840886774075396\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275840174296125440\"\n                }\n            ],\n            \"source\": \"Twitter Web App\",\n            \"text\": \"RT @SoniaChanel617: @cvpayne So many people are moving out of NYC. It’s crazy.\"\n        },\n        {\n            \"author_id\": \"1235426387957370880\",\n            \"created_at\": \"2020-06-24T17:19:05.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 18,\n                        \"username\": \"DavidYankovich\"\n                    }\n                ]\n            },\n            \"id\": \"1275840884769259523\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275834637437276165\"\n                }\n            ],\n            \"source\": \"Twitter for iPhone\",\n            \"text\": \"RT @DavidYankovich: A man who admitted his own guilt twice is getting freed from prison while black folks who jump a turnstile in NYC subwa…\"\n        },\n        {\n            \"author_id\": \"3031898016\",\n            \"created_at\": \"2020-06-24T17:19:04.000Z\",\n            \"entities\": {\n                \"hashtags\": [\n                    {\n                        \"start\": 0,\n                        \"end\": 4,\n                        \"tag\": \"NYC\"\n                    },\n                    {\n                        \"start\": 20,\n                        \"end\": 35,\n                        \"tag\": \"OccupyCityHall\"\n                    },\n                    {\n                        \"start\": 209,\n                        \"end\": 217,\n                        \"tag\": \"protest\"\n                    },\n                    {\n                        \"start\": 218,\n                        \"end\": 229,\n                        \"tag\": \"NycProtest\"\n                    },\n                    {\n                        \"start\": 230,\n                        \"end\": 247,\n                        \"tag\": \"NoJusticeNoPeace\"\n                    },\n                    {\n                        \"start\": 248,\n                        \"end\": 259,\n                        \"tag\": \"BLMprotest\"\n                    },\n                    {\n                        \"start\": 260,\n                        \"end\": 277,\n                        \"tag\": \"blacklivesmatter\"\n                    }\n                ]\n            },\n            \"id\": \"1275840878238552064\",\n            \"lang\": \"de\",\n            \"possibly_sensitive\": false,\n            \"source\": \"Twitter Web App\",\n            \"text\": \"#NYC protests 6/24\\n\\n#OccupyCityHall \\n(City Hall)\\nWash Sq (kids) 1\\nCarl Schurz (vigil) 7\\nJackie Robinson Pk (vigil) 730\\n\\nMcCarren vigil &amp; march 7\\nGAP 730\\nNicholas Hayward Jr Park vigil 8\\n\\n277 W 231st St 1\\n\\n#protest #NycProtest #NoJusticeNoPeace #BLMprotest #blacklivesmatter\"\n        },\n        {\n            \"author_id\": \"939165988435607552\",\n            \"created_at\": \"2020-06-24T17:19:03.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 16,\n                        \"username\": \"jonrappoport\"\n                    }\n                ]\n            },\n            \"id\": \"1275840877651546113\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275794225309921285\"\n                }\n            ],\n            \"source\": \"Twitter for Android\",\n            \"text\": \"RT @jonrappoport: Forget about coffee and doughnuts, Welcome back to the office! \\n\\nThat 'socially distant' elevator ride. Gives new meaning…\"\n        },\n        {\n            \"author_id\": \"110578919\",\n            \"created_at\": \"2020-06-24T17:19:03.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 13,\n                        \"username\": \"zerohedge\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 68,\n                        \"end\": 91,\n                        \"url\": \"https://t.co/wqV97PbtF9\",\n                        \"expanded_url\": \"https://www.zerohedge.com/political/de-blasio-considers-laying-22000-nyc-employees\",\n                        \"display_url\": \"zerohedge.com/political/de-b…\",\n                        \"images\": [\n                            {\n                                \"url\": \"https://pbs.twimg.com/news_img/1275839982771539968/xZNipbjm?format=jpg&name=orig\",\n                                \"width\": 650,\n                                \"height\": 447\n                            },\n                            {\n                                \"url\": \"https://pbs.twimg.com/news_img/1275839982771539968/xZNipbjm?format=jpg&name=150x150\",\n                                \"width\": 150,\n                                \"height\": 150\n                            }\n                        ],\n                        \"status\": 200,\n                        \"title\": \"De Blasio Considers Laying Off 22,000 NYC Employees \",\n                        \"description\": \"\\\"The city may have to lay off workers...\\\"\",\n                        \"unwound_url\": \"https://www.zerohedge.com/political/de-blasio-considers-laying-22000-nyc-employees\"\n                    }\n                ]\n            },\n            \"id\": \"1275840876997050369\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275839979772665861\"\n                }\n            ],\n            \"source\": \"Twitter for iPhone\",\n            \"text\": \"RT @zerohedge: De Blasio Considers Laying Off 22,000 NYC Employees  https://t.co/wqV97PbtF9\"\n        },\n        {\n            \"author_id\": \"186075913\",\n            \"created_at\": \"2020-06-24T17:19:03.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 15,\n                        \"username\": \"AmyJacobson\"\n                    },\n                    {\n                        \"start\": 67,\n                        \"end\": 81,\n                        \"username\": \"LoriLightfoot\"\n                    }\n                ]\n            },\n            \"id\": \"1275840876074369025\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275760016402849792\"\n                }\n            ],\n            \"source\": \"Twitter for Android\",\n            \"text\": \"RT @AmyJacobson: I called it! NYC reopens beaches BEFORE Chicago. \\u2066@LoriLightfoot\\u2069 sunbathing allowed since Memorial Day and now they can S…\"\n        },\n        {\n            \"author_id\": \"4421576056\",\n            \"created_at\": \"2020-06-24T17:19:03.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 19,\n                        \"username\": \"hirosemaryhello\"\n                    }\n                ]\n            },\n            \"id\": \"1275840875466305542\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"quoted\",\n                    \"id\": \"1275622383555133440\"\n                },\n                {\n                    \"type\": \"retweeted\",\n                    \"id\": \"1275837188715020290\"\n                }\n            ],\n            \"source\": \"Twitter for Android\",\n            \"text\": \"RT @hirosemaryhello: NYC! can you help the protestors currently occupying City Hall to demand the defunding of the NYPD? they need supplies…\"\n        }\n    ],\n    \"meta\": {\n        \"newest_id\": \"1275840892285399041\",\n        \"oldest_id\": \"1275840875466305542\",\n        \"result_count\": 10,\n        \"next_token\": \"b26v89c19zqg8o3fo7gesq314zlbjb2xlwutmy72r47lp\"\n    }\n}"
    },
    {
      "name": "200 Success - Request Expanded Media Fields",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "https://api.twitter.com/2/tweets/search/recent?query=has:media puppies&tweet.fields=attachments,created_at,entities&expansions=attachments.media_keys&media.fields=duration_ms,height,media_key,preview_image_url,public_metrics,type,url,width",
          "protocol": "https",
          "host": [
            "api",
            "twitter",
            "com"
          ],
          "path": [
            "2",
            "tweets",
            "search",
            "recent"
          ],
          "query": [
            {
              "key": "query",
              "value": "has:media puppies",
              "description": "Required. Query for matching Tweets. Up to 512 characters."
            },
            {
              "key": "start_time",
              "value": "",
              "description": "The oldest UTC timestamp (from most recent 7 days) from which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ.",
              "disabled": true
            },
            {
              "key": "end_time",
              "value": "",
              "description": "The newest, most recent UTC timestamp to which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).",
              "disabled": true
            },
            {
              "key": "since_id",
              "value": "",
              "description": "Returns results with a Tweet ID greater than (that is, more recent than) the specified ID. The ID specified is exclusive and responses will not include it.",
              "disabled": true
            },
            {
              "key": "until_id",
              "value": "",
              "description": "Returns results with a Tweet ID less than (that is, older than) the specified ID. The ID specified is exclusive and responses will not include it.",
              "disabled": true
            },
            {
              "key": "max_results",
              "value": "",
              "description": "The maximum number of search results to be returned by a request. A number between 10 and the system limit (currently 100). By default, a request response will return 10 results.",
              "disabled": true
            },
            {
              "key": "next_token",
              "value": "",
              "description": "This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.",
              "disabled": true
            },
            {
              "key": "tweet.fields",
              "value": "attachments,created_at,entities",
              "description": "attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,possibly_sensitive,promoted_metrics,public_metrics,referenced_tweets,source,text,withheld"
            },
            {
              "key": "expansions",
              "value": "attachments.media_keys",
              "description": "Comma-separated list of fields to expand. Expansions enable requests to expand an ID into a full object in the includes response object.\nAllowed values: attachments.poll_ids,attachments.media_keys,author_id,geo.place_id,in_reply_to_user_id,referenced_tweets.id\nDefault values: none"
            },
            {
              "key": "media.fields",
              "value": "duration_ms,height,media_key,preview_image_url,public_metrics,type,url,width",
              "description": "duration_ms,height,media_key,non_public_metrics,organic_metrics,preview_image_url,promoted_metrics,public_metrics,type,url,width"
            },
            {
              "key": "place.fields",
              "value": "",
              "description": "contained_within,country,country_code,full_name,geo,id,name,place_type",
              "disabled": true
            },
            {
              "key": "poll.fields",
              "value": "",
              "description": "duration_minutes,end_datetime,id,options,voting_status",
              "disabled": true
            },
            {
              "key": "user.fields",
              "value": "",
              "description": "created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld",
              "disabled": true
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "content-disposition",
          "value": "attachment; filename=json.json"
        },
        {
          "key": "content-encoding",
          "value": "gzip"
        },
        {
          "key": "content-length",
          "value": "1664"
        },
        {
          "key": "content-type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "date",
          "value": "Tue, 30 Jun 2020 17:39:44 GMT"
        },
        {
          "key": "server",
          "value": "tsa_b"
        },
        {
          "key": "strict-transport-security",
          "value": "max-age=631138519"
        },
        {
          "key": "x-access-level",
          "value": "read"
        },
        {
          "key": "x-connection-hash",
          "value": "857207159289071cdd445778e071a674"
        },
        {
          "key": "x-content-type-options",
          "value": "nosniff"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "x-rate-limit-limit",
          "value": "1800"
        },
        {
          "key": "x-rate-limit-remaining",
          "value": "1791"
        },
        {
          "key": "x-rate-limit-reset",
          "value": "1593539398"
        },
        {
          "key": "x-response-time",
          "value": "339"
        },
        {
          "key": "x-xss-protection",
          "value": "0"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"data\": [\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"3_1277604962361462785\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:39:06.000Z\",\n            \"entities\": {\n                \"hashtags\": [\n                    {\n                        \"start\": 55,\n                        \"end\": 61,\n                        \"tag\": \"TLOU2\"\n                    },\n                    {\n                        \"start\": 62,\n                        \"end\": 79,\n                        \"tag\": \"TheLastofUsPart2\"\n                    }\n                ],\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 18,\n                        \"username\": \"CritterOfHabit\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 80,\n                        \"end\": 103,\n                        \"url\": \"https://t.co/IZjikKfxUW\",\n                        \"expanded_url\": \"https://twitter.com/CritterOfHabit/status/1277606174284632065/photo/1\",\n                        \"display_url\": \"pic.twitter.com/IZjikKfxUW\"\n                    }\n                ]\n            },\n            \"id\": \"1278020251041570816\",\n            \"text\": \"RT @CritterOfHabit: \\\"Puppies aren't so scary, I guess\\\"\\n#TLOU2 #TheLastofUsPart2 https://t.co/IZjikKfxUW\"\n        },\n        {\n            \"created_at\": \"2020-06-30T17:38:42.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 14,\n                        \"username\": \"turner0027\"\n                    }\n                ]\n            },\n            \"id\": \"1278020146485919745\",\n            \"text\": \"RT @turner0027: GSP puppies for sale they are only 3 weeks but if you know or hear of anyone wanting them they will be ready to go in 3 wee…\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"3_1278014675309998082\",\n                    \"3_1278014683598008321\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:38:24.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 11,\n                        \"username\": \"seongem\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 63,\n                        \"end\": 86,\n                        \"url\": \"https://t.co/yaHUsQUshX\",\n                        \"expanded_url\": \"https://twitter.com/seongem/status/1278014689193140224/photo/1\",\n                        \"display_url\": \"pic.twitter.com/yaHUsQUshX\"\n                    },\n                    {\n                        \"start\": 63,\n                        \"end\": 86,\n                        \"url\": \"https://t.co/yaHUsQUshX\",\n                        \"expanded_url\": \"https://twitter.com/seongem/status/1278014689193140224/photo/1\",\n                        \"display_url\": \"pic.twitter.com/yaHUsQUshX\"\n                    }\n                ]\n            },\n            \"id\": \"1278020073261797378\",\n            \"text\": \"RT @seongem: ⩩ taeyong as puppies ¦ a short and funny thread ♡ https://t.co/yaHUsQUshX\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"7_1277795251919429636\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:38:23.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 16,\n                        \"username\": \"DannyDeraney\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 80,\n                        \"end\": 103,\n                        \"url\": \"https://t.co/jDV0jebQTH\",\n                        \"expanded_url\": \"https://twitter.com/animalIife/status/1277795285801066506/video/1\",\n                        \"display_url\": \"pic.twitter.com/jDV0jebQTH\"\n                    }\n                ]\n            },\n            \"id\": \"1278020070640410626\",\n            \"text\": \"RT @DannyDeraney: Because you want to see three puppies swinging in a hammock.  https://t.co/jDV0jebQTH\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"3_1277604962361462785\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:38:20.000Z\",\n            \"entities\": {\n                \"hashtags\": [\n                    {\n                        \"start\": 55,\n                        \"end\": 61,\n                        \"tag\": \"TLOU2\"\n                    },\n                    {\n                        \"start\": 62,\n                        \"end\": 79,\n                        \"tag\": \"TheLastofUsPart2\"\n                    }\n                ],\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 18,\n                        \"username\": \"CritterOfHabit\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 80,\n                        \"end\": 103,\n                        \"url\": \"https://t.co/IZjikKfxUW\",\n                        \"expanded_url\": \"https://twitter.com/CritterOfHabit/status/1277606174284632065/photo/1\",\n                        \"display_url\": \"pic.twitter.com/IZjikKfxUW\"\n                    }\n                ]\n            },\n            \"id\": \"1278020054811017216\",\n            \"text\": \"RT @CritterOfHabit: \\\"Puppies aren't so scary, I guess\\\"\\n#TLOU2 #TheLastofUsPart2 https://t.co/IZjikKfxUW\"\n        },\n        {\n            \"created_at\": \"2020-06-30T17:38:07.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 9,\n                        \"username\": \"PSPCA\"\n                    }\n                ]\n            },\n            \"id\": \"1278020001467858944\",\n            \"text\": \"RT @PSPCA: Ensuring your puppies are up to date on their vaccines is important - even during a pandemic! Molly, a 3-month-old Rottweiler, v…\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"13_1278005508213927938\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:38:03.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 13,\n                        \"username\": \"OregonZoo\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 27,\n                        \"end\": 50,\n                        \"url\": \"https://t.co/P6VP5CmD6p\",\n                        \"expanded_url\": \"https://twitter.com/OregonZoo/status/1278006421297090560/video/1\",\n                        \"display_url\": \"pic.twitter.com/P6VP5CmD6p\"\n                    }\n                ]\n            },\n            \"id\": \"1278019985017679872\",\n            \"text\": \"RT @OregonZoo: Mud puppies https://t.co/P6VP5CmD6p\"\n        },\n        {\n            \"created_at\": \"2020-06-30T17:38:02.000Z\",\n            \"entities\": {\n                \"hashtags\": [\n                    {\n                        \"start\": 67,\n                        \"end\": 73,\n                        \"tag\": \"ISPCA\"\n                    }\n                ],\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 10,\n                        \"username\": \"ISPCA1\"\n                    }\n                ]\n            },\n            \"id\": \"1278019980659961856\",\n            \"text\": \"RT @ISPCA1: 6 abandoned puppies found a box on disused land now in #ISPCA care. The collie/lurcher type pups, thought to be from different…\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"13_1278005508213927938\"\n                ]\n            },\n            \"created_at\": \"2020-06-30T17:37:34.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 13,\n                        \"username\": \"OregonZoo\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 27,\n                        \"end\": 50,\n                        \"url\": \"https://t.co/P6VP5CmD6p\",\n                        \"expanded_url\": \"https://twitter.com/OregonZoo/status/1278006421297090560/video/1\",\n                        \"display_url\": \"pic.twitter.com/P6VP5CmD6p\"\n                    }\n                ]\n            },\n            \"id\": \"1278019863135449088\",\n            \"text\": \"RT @OregonZoo: Mud puppies https://t.co/P6VP5CmD6p\"\n        },\n        {\n            \"created_at\": \"2020-06-30T17:37:12.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 3,\n                        \"end\": 16,\n                        \"username\": \"chance_group\"\n                    }\n                ]\n            },\n            \"id\": \"1278019772777668609\",\n            \"text\": \"RT @chance_group: Today we thank those who give us their support🙏, last night we received bags of food for our puppies🐶🐕, we almost had no…\"\n        }\n    ],\n    \"includes\": {\n        \"media\": [\n            {\n                \"height\": 812,\n                \"media_key\": \"3_1277604962361462785\",\n                \"type\": \"photo\",\n                \"url\": \"https://pbs.twimg.com/media/Ebr28bjU0AEasL0.jpg\",\n                \"width\": 1445\n            },\n            {\n                \"height\": 1080,\n                \"media_key\": \"3_1278014675309998082\",\n                \"type\": \"photo\",\n                \"url\": \"https://pbs.twimg.com/media/Ebxrk3OWsAINP6Y.jpg\",\n                \"width\": 1080\n            },\n            {\n                \"height\": 736,\n                \"media_key\": \"3_1278014683598008321\",\n                \"type\": \"photo\",\n                \"url\": \"https://pbs.twimg.com/media/EbxrlWGXsAELIRz.jpg\",\n                \"width\": 736\n            },\n            {\n                \"duration_ms\": 15034,\n                \"height\": 720,\n                \"media_key\": \"7_1277795251919429636\",\n                \"preview_image_url\": \"https://pbs.twimg.com/ext_tw_video_thumb/1277795251919429636/pu/img/QzdDVtEyX6NNqA_5.jpg\",\n                \"public_metrics\": {\n                    \"view_count\": 52717\n                },\n                \"type\": \"video\",\n                \"width\": 406\n            },\n            {\n                \"duration_ms\": 49533,\n                \"height\": 720,\n                \"media_key\": \"13_1278005508213927938\",\n                \"preview_image_url\": \"https://pbs.twimg.com/media/EbxkA_dU0AAvzTt.jpg\",\n                \"public_metrics\": {\n                    \"view_count\": 4662\n                },\n                \"type\": \"video\",\n                \"width\": 720\n            }\n        ]\n    },\n    \"meta\": {\n        \"newest_id\": \"1278020251041570816\",\n        \"oldest_id\": \"1278019772777668609\",\n        \"result_count\": 10,\n        \"next_token\": \"b26v89c19zqg8o3fo7gg1pu5pv61lxgru17onnv29q4cd\"\n    }\n}"
    },
    {
      "name": "200 Success - Recent Search (Default Payload)",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "https://api.twitter.com/2/tweets/search/recent?query=nyc",
          "protocol": "https",
          "host": [
            "api",
            "twitter",
            "com"
          ],
          "path": [
            "2",
            "tweets",
            "search",
            "recent"
          ],
          "query": [
            {
              "key": "query",
              "value": "nyc"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "content-disposition",
          "value": "attachment; filename=json.json"
        },
        {
          "key": "content-encoding",
          "value": "gzip"
        },
        {
          "key": "content-length",
          "value": "1261"
        },
        {
          "key": "content-type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "date",
          "value": "Wed, 24 Jun 2020 17:17:03 GMT"
        },
        {
          "key": "server",
          "value": "tsa_b"
        },
        {
          "key": "strict-transport-security",
          "value": "max-age=631138519"
        },
        {
          "key": "x-access-level",
          "value": "read"
        },
        {
          "key": "x-connection-hash",
          "value": "86a90a7aa13fde1840d52be0d1faf5c4"
        },
        {
          "key": "x-content-type-options",
          "value": "nosniff"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "x-rate-limit-limit",
          "value": "1800"
        },
        {
          "key": "x-rate-limit-remaining",
          "value": "1798"
        },
        {
          "key": "x-rate-limit-reset",
          "value": "1593019916"
        },
        {
          "key": "x-response-time",
          "value": "245"
        },
        {
          "key": "x-xss-protection",
          "value": "0"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"data\": [\n        {\n            \"id\": \"1275840243636322304\",\n            \"text\": \"RT @polarbearrs: Hi  #VisibleWomen ✨ I’m Anna, I’m a Black + Latina Caribbean illustrator based in NYC. I love making dreamy surrealist por…\"\n        },\n        {\n            \"id\": \"1275840238498308097\",\n            \"text\": \"RT @DavidYankovich: A man who admitted his own guilt twice is getting freed from prison while black folks who jump a turnstile in NYC subwa…\"\n        },\n        {\n            \"id\": \"1275840234521899008\",\n            \"text\": \"@freetesla11 @square1_NYC @FakeMikeMiseph @ajn465 @krystalball His evils have actually become bipartisan for the most part. Much like Reagan, in a sense.\\nTrump is disorganized and incompetent. He was handed an unprecedented level of power when he got inaugurated(both chambers, courts, governorships) and yet still accomplished very little.\"\n        },\n        {\n            \"id\": \"1275840231883898880\",\n            \"text\": \"RT @NotifyNYC: AMBER Alert: Ahsan Ali, 15-year-old  male from 46th Avenue in Queens, in a white Toyota Sienna with license plate number JJX…\"\n        },\n        {\n            \"id\": \"1275840228402569216\",\n            \"text\": \"@BeltwayGreg @zachdcarter you realize Amazon increased its presence in NYC anyway, without any tax incentives, right?\"\n        },\n        {\n            \"id\": \"1275840227924414464\",\n            \"text\": \"RT @mcgoawayylmao: @DeeH_NYC i can't wait for your best picture speech at the oscars\"\n        },\n        {\n            \"id\": \"1275840226922057728\",\n            \"text\": \"@SnottieDrippen It’s like another account tweeted a video saying JR Smith IS a bucket then used footage almost exclusively from his time in Denver and NYC as if it was last season...\"\n        },\n        {\n            \"id\": \"1275840226657816579\",\n            \"text\": \"@tracifrost1976 In NYC we wear masks.   If you're still not sure if they are good for anything, take a look at this graph.  We're keeping it low. https://t.co/pdmt5RG53h\"\n        },\n        {\n            \"id\": \"1275840225844113409\",\n            \"text\": \"@NYCMayor Where is the money you promised NYC public schools families. We were suppose to get it the first week of June\"\n        },\n        {\n            \"id\": \"1275840222559899649\",\n            \"text\": \"Just wondering how the government plans on monitoring out of state visitors. Plenty of people live in Jersey that work in NYC\"\n        }\n    ],\n    \"meta\": {\n        \"newest_id\": \"1275840243636322304\",\n        \"oldest_id\": \"1275840222559899649\",\n        \"result_count\": 10,\n        \"next_token\": \"b26v89c19zqg8o3fo7gesq314yb2ynhwgmfg7az3v76v1\"\n    }\n}"
    },
    {
      "name": "200 Success - Request Tweet Fields with Expanded User Fields",
      "originalRequest": {
        "method": "GET",
        "header": [
        ],
        "url": {
          "raw": "https://api.twitter.com/2/tweets/search/recent?query=conversation_id:1273733248749690880&tweet.fields=attachments,author_id,created_at,entities,geo,id,in_reply_to_user_id,lang,possibly_sensitive,referenced_tweets,source,text,withheld&expansions=author_id,referenced_tweets.id&user.fields=description,created_at",
          "protocol": "https",
          "host": [
            "api",
            "twitter",
            "com"
          ],
          "path": [
            "2",
            "tweets",
            "search",
            "recent"
          ],
          "query": [
            {
              "key": "query",
              "value": "conversation_id:1273733248749690880",
              "description": "Required. Query for matching Tweets. Up to 512 characters."
            },
            {
              "key": "start_time",
              "value": "",
              "description": "The oldest UTC timestamp (from most recent 7 days) from which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ.",
              "disabled": true
            },
            {
              "key": "end_time",
              "value": "",
              "description": "The newest, most recent UTC timestamp to which the Tweets will be provided. YYYY-MM-DDTHH:mm:ssZ (ISO 8601/RFC 3339).",
              "disabled": true
            },
            {
              "key": "since_id",
              "value": "",
              "description": "Returns results with a Tweet ID greater than (that is, more recent than) the specified ID. The ID specified is exclusive and responses will not include it.",
              "disabled": true
            },
            {
              "key": "until_id",
              "value": "",
              "description": "Returns results with a Tweet ID less than (that is, older than) the specified ID. The ID specified is exclusive and responses will not include it.",
              "disabled": true
            },
            {
              "key": "max_results",
              "value": "",
              "description": "The maximum number of search results to be returned by a request. A number between 10 and the system limit (currently 100). By default, a request response will return 10 results.",
              "disabled": true
            },
            {
              "key": "next_token",
              "value": "",
              "description": "This parameter is used to get the next 'page' of results. The value used with the parameter is pulled directly from the response provided by the API, and should not be modified.",
              "disabled": true
            },
            {
              "key": "tweet.fields",
              "value": "attachments,author_id,created_at,entities,geo,id,in_reply_to_user_id,lang,possibly_sensitive,referenced_tweets,source,text,withheld",
              "description": "attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,possibly_sensitive,promoted_metrics,public_metrics,referenced_tweets,source,text,withheld"
            },
            {
              "key": "expansions",
              "value": "author_id,referenced_tweets.id",
              "description": "Comma-separated list of fields to expand. Expansions enable requests to expand an ID into a full object in the includes response object.\nAllowed values: attachments.poll_ids,attachments.media_keys,author_id,geo.place_id,in_reply_to_user_id,referenced_tweets.id\nDefault values: none"
            },
            {
              "key": "media.fields",
              "value": "",
              "description": "duration_ms,height,media_key,non_public_metrics,organic_metrics,preview_image_url,promoted_metrics,public_metrics,type,url,width",
              "disabled": true
            },
            {
              "key": "place.fields",
              "value": "",
              "description": "contained_within,country,country_code,full_name,geo,id,name,place_type",
              "disabled": true
            },
            {
              "key": "poll.fields",
              "value": "",
              "description": "duration_minutes,end_datetime,id,options,voting_status",
              "disabled": true
            },
            {
              "key": "user.fields",
              "value": "description,created_at",
              "description": "created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,public_metrics,url,username,verified,withheld"
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "content-disposition",
          "value": "attachment; filename=json.json"
        },
        {
          "key": "content-encoding",
          "value": "gzip"
        },
        {
          "key": "content-length",
          "value": "1686"
        },
        {
          "key": "content-type",
          "value": "application/json; charset=utf-8"
        },
        {
          "key": "date",
          "value": "Tue, 30 Jun 2020 17:36:03 GMT"
        },
        {
          "key": "server",
          "value": "tsa_b"
        },
        {
          "key": "strict-transport-security",
          "value": "max-age=631138519"
        },
        {
          "key": "x-access-level",
          "value": "read"
        },
        {
          "key": "x-connection-hash",
          "value": "857207159289071cdd445778e071a674"
        },
        {
          "key": "x-content-type-options",
          "value": "nosniff"
        },
        {
          "key": "x-frame-options",
          "value": "SAMEORIGIN"
        },
        {
          "key": "x-rate-limit-limit",
          "value": "1800"
        },
        {
          "key": "x-rate-limit-remaining",
          "value": "1795"
        },
        {
          "key": "x-rate-limit-reset",
          "value": "1593539398"
        },
        {
          "key": "x-response-time",
          "value": "272"
        },
        {
          "key": "x-xss-protection",
          "value": "0"
        }
      ],
      "cookie": [
      ],
      "body": "{\n    \"data\": [\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"16_1276035971193044992\"\n                ]\n            },\n            \"author_id\": \"63046977\",\n            \"created_at\": \"2020-06-25T06:14:19.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 0,\n                        \"end\": 8,\n                        \"username\": \"snowman\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 90,\n                        \"end\": 113,\n                        \"url\": \"https://t.co/14TzLYBBXi\",\n                        \"expanded_url\": \"https://twitter.com/happycamper/status/1276035977375477760/photo/1\",\n                        \"display_url\": \"pic.twitter.com/14TzLYBBXi\"\n                    }\n                ]\n            },\n            \"geo\": {\n                \"place_id\": \"f7eb2fa2fea288b1\"\n            },\n            \"id\": \"1276035977375477760\",\n            \"in_reply_to_user_id\": \"17200003\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"replied_to\",\n                    \"id\": \"1275653067283759104\"\n                }\n            ],\n            \"source\": \"Twitter for iPhone\",\n            \"text\": \"@snowman Ooo, thanks error message, public_metircs are not the metrics you’re looking for https://t.co/14TzLYBBXi\"\n        },\n        {\n            \"author_id\": \"17200003\",\n            \"created_at\": \"2020-06-24T20:04:54.000Z\",\n            \"id\": \"1275882613572583424\",\n            \"in_reply_to_user_id\": \"17200003\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"replied_to\",\n                    \"id\": \"1273733248749690880\"\n                }\n            ],\n            \"source\": \"Twitter for Android\",\n            \"text\": \"Using Labs Recent search for polling use cases has been 🔥👍. A simple alternative to streaming in many cases...\"\n        },\n        {\n            \"attachments\": {\n                \"media_keys\": [\n                    \"16_1275763720522625029\"\n                ]\n            },\n            \"author_id\": \"196883832\",\n            \"created_at\": \"2020-06-24T12:12:29.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 0,\n                        \"end\": 8,\n                        \"username\": \"snowman\"\n                    },\n                    {\n                        \"start\": 9,\n                        \"end\": 21,\n                        \"username\": \"happycamper\"\n                    }\n                ],\n                \"urls\": [\n                    {\n                        \"start\": 22,\n                        \"end\": 45,\n                        \"url\": \"https://t.co/qvk5BCBtqh\",\n                        \"expanded_url\": \"https://twitter.com/jellybeanjones/status/1275763727908798470/photo/1\",\n                        \"display_url\": \"pic.twitter.com/qvk5BCBtqh\"\n                    }\n                ]\n            },\n            \"geo\": {\n                \"place_id\": \"f7eb2fa2fea288b1\"\n            },\n            \"id\": \"1275763727908798470\",\n            \"in_reply_to_user_id\": \"17200003\",\n            \"lang\": \"und\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"replied_to\",\n                    \"id\": \"1275653067283759104\"\n                }\n            ],\n            \"source\": \"Twitter for  iPhone\",\n            \"text\": \"@snowman @happycamper https://t.co/qvk5BCBtqh\"\n        },\n        {\n            \"author_id\": \"17200003\",\n            \"created_at\": \"2020-06-24T04:52:46.000Z\",\n            \"entities\": {\n                \"mentions\": [\n                    {\n                        \"start\": 0,\n                        \"end\": 12,\n                        \"username\": \"happycamper\"\n                    }\n                ]\n            },\n            \"id\": \"1275653067283759104\",\n            \"in_reply_to_user_id\": \"63046977\",\n            \"lang\": \"en\",\n            \"possibly_sensitive\": false,\n            \"referenced_tweets\": [\n                {\n                    \"type\": \"replied_to\",\n                    \"id\": \"1274086728471461889\"\n                }\n            ],\n            \"source\": \"Twitter Web App\",\n            \"text\": \"@happycamper Wait, when I try that, I get an error: {\\n    \\\"errors\\\": [\\n        { \\\"message\\\": \\\"[public_metircs] is not one of [attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,promoted_metrics,public_metrics]\\\"\"\n        }\n    ],\n    \"includes\": {\n        \"users\": [\n            {\n                \"created_at\": \"2009-08-05T05:46:48.000Z\",\n                \"description\": \"Part-time fiddler, wanderer, yogi, scubadiver #savegamehenge Full time explorer, festvarian, music lover, nerd, @TwitterBoulder - Opinions are my own. she/her\",\n                \"id\": \"63046977\",\n                \"name\": \"Emily Waligoske 🏕\",\n                \"username\": \"happycamper\"\n            },\n            {\n                \"created_at\": \"2008-11-05T23:06:37.000Z\",\n                \"description\": \"family, travel, music, farming, photography, coding, weather, rain, snow, snowmelt, hydrology, flood early-warning systems. From MN, live in CO. @TwitterDev\",\n                \"id\": \"17200003\",\n                \"name\": \"Jim Moffitt\",\n                \"username\": \"snowman\"\n            },\n            {\n                \"created_at\": \"2010-09-30T03:36:40.000Z\",\n                \"description\": \"IT wizard @ Twitter Boulder 🧙\\u200d♂️🗻💻 🎧🌞✌🏽Turn my headphones up! #BlackLivesMatter\",\n                \"id\": \"196883832\",\n                \"name\": \"zachariah jones\",\n                \"username\": \"jellybeanjones\"\n            }\n        ],\n        \"tweets\": [\n            {\n                \"author_id\": \"17200003\",\n                \"created_at\": \"2020-06-24T04:52:46.000Z\",\n                \"entities\": {\n                    \"mentions\": [\n                        {\n                            \"start\": 0,\n                            \"end\": 12,\n                            \"username\": \"happycamper\"\n                        }\n                    ]\n                },\n                \"id\": \"1275653067283759104\",\n                \"in_reply_to_user_id\": \"63046977\",\n                \"lang\": \"en\",\n                \"possibly_sensitive\": false,\n                \"referenced_tweets\": [\n                    {\n                        \"type\": \"replied_to\",\n                        \"id\": \"1274086728471461889\"\n                    }\n                ],\n                \"source\": \"Twitter Web App\",\n                \"text\": \"@happycamper Wait, when I try that, I get an error: {\\n    \\\"errors\\\": [\\n        { \\\"message\\\": \\\"[public_metircs] is not one of [attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,non_public_metrics,organic_metrics,promoted_metrics,public_metrics]\\\"\"\n            },\n            {\n                \"author_id\": \"17200003\",\n                \"created_at\": \"2020-06-18T21:44:05.000Z\",\n                \"id\": \"1273733248749690880\",\n                \"lang\": \"en\",\n                \"possibly_sensitive\": false,\n                \"source\": \"Twitter Web App\",\n                \"text\": \"So, what's your favorite thing about Twitter Developer Labs? \\n\\nI find it hard to pick one and am loving the ability to select the Tweet object fields of interest. \\n\\ntweet.fields=created_at,author_id,context_annotations\"\n            },\n            {\n                \"author_id\": \"63046977\",\n                \"created_at\": \"2020-06-19T21:08:42.000Z\",\n                \"entities\": {\n                    \"hashtags\": [\n                        {\n                            \"start\": 209,\n                            \"end\": 215,\n                            \"tag\": \"fresh\"\n                        }\n                    ],\n                    \"mentions\": [\n                        {\n                            \"start\": 0,\n                            \"end\": 8,\n                            \"username\": \"snowman\"\n                        }\n                    ]\n                },\n                \"id\": \"1274086728471461889\",\n                \"in_reply_to_user_id\": \"17200003\",\n                \"lang\": \"en\",\n                \"possibly_sensitive\": false,\n                \"referenced_tweets\": [\n                    {\n                        \"type\": \"replied_to\",\n                        \"id\": \"1273733248749690880\"\n                    }\n                ],\n                \"source\": \"Twitter Web App\",\n                \"text\": \"@snowman My fave is the new the metrics, especially for building apps to help Twitter users track the metrics for their Tweets.\\ntweet.fields=public_metircs,non_public_metrics,organic_metrics,promoted_metrics  #fresh\"\n            }\n        ]\n    },\n    \"meta\": {\n        \"newest_id\": \"1276035977375477760\",\n        \"oldest_id\": \"1275653067283759104\",\n        \"result_count\": 4\n    }\n}"
    }
  ]
}