Chilkat Online Tools

SQL Server / Twitter API v2 / Recent search

Back to Collection Items

-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    -- Important: Do not use nvarchar(max).  See the warning about using nvarchar(max).
    DECLARE @sTmp0 nvarchar(4000)
    -- This example assumes the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @http int
    -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    DECLARE @queryParams int
    -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @queryParams OUT

    EXEC sp_OAMethod @queryParams, 'UpdateString', @success OUT, 'query', ''

    -- Adds the "Authorization: Bearer <access_token>" header.
    EXEC sp_OASetProperty @http, 'AuthToken', '<access_token>'

    DECLARE @resp int
    EXEC sp_OAMethod @http, 'QuickRequestParams', @resp OUT, 'GET', 'https://api.twitter.com/2/tweets/search/recent', @queryParams
    EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT
    IF @iTmp0 = 0
      BEGIN
        EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @queryParams
        RETURN
      END

    DECLARE @sbResponseBody int
    -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @resp, 'GetBodySb', @success OUT, @sbResponseBody

    DECLARE @jResp int
    -- Use "Chilkat_9_5_0.JsonObject" for versions of Chilkat < 10.0.0
    EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT

    EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody
    EXEC sp_OASetProperty @jResp, 'EmitCompact', 0


    PRINT 'Response Body:'
    EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT
    PRINT @sTmp0

    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT

    PRINT 'Response Status Code = ' + @respStatusCode
    IF @respStatusCode >= 400
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Failed.'
        EXEC @hr = sp_OADestroy @resp

        EXEC @hr = sp_OADestroy @http
        EXEC @hr = sp_OADestroy @queryParams
        EXEC @hr = sp_OADestroy @sbResponseBody
        EXEC @hr = sp_OADestroy @jResp
        RETURN
      END
    EXEC @hr = sp_OADestroy @resp

    -- 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

    DECLARE @author_id nvarchar(4000)

    DECLARE @created_at nvarchar(4000)

    DECLARE @id nvarchar(4000)

    DECLARE @lang nvarchar(4000)

    DECLARE @possibly_sensitive int

    DECLARE @source nvarchar(4000)

    DECLARE @text nvarchar(4000)

    DECLARE @in_reply_to_user_id nvarchar(4000)

    DECLARE @j int

    DECLARE @count_j int

    DECLARE @start int

    DECLARE @v_end int

    DECLARE @username nvarchar(4000)

    DECLARE @v_type nvarchar(4000)

    DECLARE @tag nvarchar(4000)

    DECLARE @url nvarchar(4000)

    DECLARE @expanded_url nvarchar(4000)

    DECLARE @display_url nvarchar(4000)

    DECLARE @status int

    DECLARE @title nvarchar(4000)

    DECLARE @description nvarchar(4000)

    DECLARE @unwound_url nvarchar(4000)

    DECLARE @k int

    DECLARE @count_k int

    DECLARE @width int

    DECLARE @height int

    DECLARE @Newest_id nvarchar(4000)
    EXEC sp_OAMethod @jResp, 'StringOf', @Newest_id OUT, 'meta.newest_id'
    DECLARE @Oldest_id nvarchar(4000)
    EXEC sp_OAMethod @jResp, 'StringOf', @Oldest_id OUT, 'meta.oldest_id'
    DECLARE @Result_count int
    EXEC sp_OAMethod @jResp, 'IntOf', @Result_count OUT, 'meta.result_count'
    DECLARE @Next_token nvarchar(4000)
    EXEC sp_OAMethod @jResp, 'StringOf', @Next_token OUT, 'meta.next_token'
    DECLARE @i int
    SELECT @i = 0
    DECLARE @count_i int
    EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'data'
    WHILE @i < @count_i
      BEGIN
        EXEC sp_OASetProperty @jResp, 'I', @i
        EXEC sp_OAMethod @jResp, 'StringOf', @author_id OUT, 'data[i].author_id'
        EXEC sp_OAMethod @jResp, 'StringOf', @created_at OUT, 'data[i].created_at'
        EXEC sp_OAMethod @jResp, 'StringOf', @id OUT, 'data[i].id'
        EXEC sp_OAMethod @jResp, 'StringOf', @lang OUT, 'data[i].lang'
        EXEC sp_OAMethod @jResp, 'BoolOf', @possibly_sensitive OUT, 'data[i].possibly_sensitive'
        EXEC sp_OAMethod @jResp, 'StringOf', @source OUT, 'data[i].source'
        EXEC sp_OAMethod @jResp, 'StringOf', @text OUT, 'data[i].text'
        EXEC sp_OAMethod @jResp, 'StringOf', @in_reply_to_user_id OUT, 'data[i].in_reply_to_user_id'
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'data[i].entities.mentions'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'IntOf', @start OUT, 'data[i].entities.mentions[j].start'
            EXEC sp_OAMethod @jResp, 'IntOf', @v_end OUT, 'data[i].entities.mentions[j].end'
            EXEC sp_OAMethod @jResp, 'StringOf', @username OUT, 'data[i].entities.mentions[j].username'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'data[i].referenced_tweets'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'StringOf', @v_type OUT, 'data[i].referenced_tweets[j].type'
            EXEC sp_OAMethod @jResp, 'StringOf', @id OUT, 'data[i].referenced_tweets[j].id'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'data[i].entities.hashtags'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'IntOf', @start OUT, 'data[i].entities.hashtags[j].start'
            EXEC sp_OAMethod @jResp, 'IntOf', @v_end OUT, 'data[i].entities.hashtags[j].end'
            EXEC sp_OAMethod @jResp, 'StringOf', @tag OUT, 'data[i].entities.hashtags[j].tag'
            SELECT @j = @j + 1
          END
        SELECT @j = 0
        EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'data[i].entities.urls'
        WHILE @j < @count_j
          BEGIN
            EXEC sp_OASetProperty @jResp, 'J', @j
            EXEC sp_OAMethod @jResp, 'IntOf', @start OUT, 'data[i].entities.urls[j].start'
            EXEC sp_OAMethod @jResp, 'IntOf', @v_end OUT, 'data[i].entities.urls[j].end'
            EXEC sp_OAMethod @jResp, 'StringOf', @url OUT, 'data[i].entities.urls[j].url'
            EXEC sp_OAMethod @jResp, 'StringOf', @expanded_url OUT, 'data[i].entities.urls[j].expanded_url'
            EXEC sp_OAMethod @jResp, 'StringOf', @display_url OUT, 'data[i].entities.urls[j].display_url'
            EXEC sp_OAMethod @jResp, 'IntOf', @status OUT, 'data[i].entities.urls[j].status'
            EXEC sp_OAMethod @jResp, 'StringOf', @title OUT, 'data[i].entities.urls[j].title'
            EXEC sp_OAMethod @jResp, 'StringOf', @description OUT, 'data[i].entities.urls[j].description'
            EXEC sp_OAMethod @jResp, 'StringOf', @unwound_url OUT, 'data[i].entities.urls[j].unwound_url'
            SELECT @k = 0
            EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'data[i].entities.urls[j].images'
            WHILE @k < @count_k
              BEGIN
                EXEC sp_OASetProperty @jResp, 'K', @k
                EXEC sp_OAMethod @jResp, 'StringOf', @url OUT, 'data[i].entities.urls[j].images[k].url'
                EXEC sp_OAMethod @jResp, 'IntOf', @width OUT, 'data[i].entities.urls[j].images[k].width'
                EXEC sp_OAMethod @jResp, 'IntOf', @height OUT, 'data[i].entities.urls[j].images[k].height'
                SELECT @k = @k + 1
              END
            SELECT @j = @j + 1
          END
        SELECT @i = @i + 1
      END

    EXEC @hr = sp_OADestroy @http
    EXEC @hr = sp_OADestroy @queryParams
    EXEC @hr = sp_OADestroy @sbResponseBody
    EXEC @hr = sp_OADestroy @jResp


END
GO

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}"
    }
  ]
}