ThingHTTP App

ThingHTTP enables communication among devices, websites, and web services without having to implement the protocol on the device level. You specify actions in ThingHTTP, which you trigger using other ThingSpeak™ apps such as TweetControl, TimeControl, and React.

Create a ThingHTTP Request

  1. Click Apps > ThingHTTP.

  2. Click New ThingHTTP.

  3. Specify settings:

    • Name: Enter a unique name for your ThingHTTP request.

    • API Key: Auto generated API key for the ThingHTTP request.

    • URL: Enter the address of the website or the web service to read data from or write data to, starting with either http:// or https://.

    • HTTP Auth Username: If your URL requires authentication, enter the username for authentication to access private channels or websites.

    • HTTP Auth Password: If your URL requires authentication, enter the password for authentication to access private channels or websites.

    • Method: Select the HTTP method required to access the URL.

    • Content Type: Enter the MIME or form type of the request content. For example, application/x-www-form-urlencoded.

    • HTTP Version: Select the version of HTTP on your server.

    • Host: If your ThingHTTP request requires a host address, enter the domain name. For example,

    • Headers: If your ThingHTTP request requires custom headers, enter name of the header and a value.

    • Body: Enter the message you want to include in your request.

    • Parse String: If you want to parse the response, enter the exact string to look for in the response data.

Trigger ThingHTTP Request

Send an HTTP POST to
to trigger the request. Include your ThingHTTP API key and message.

When you send the POST request to your ThingHTTP, it executes the defined HTTP request and returns the response to you.


Send an HTTP POST request.

     api_key=YOUR_ThingHTTP_APIKEY&message=hello world

Replace the YOUR_ThingHTTP_APIKEY with your ThingHTTP API key.

Custom Replacement Keys

A ThingHTTP request has placeholders for custom key-value pairs that you can replace with specific values. When you send the request, insert the values within the %% signs in the ThingHTTP body form field. For example:


Pass the replacement name in the API request as a parameter, without the enclosing %% signs. For example:

     api_key=YOUR_ThingHTTP_APIKEY&message=hello world

sends the string "hello world" as the message.

Channel Value Replacements

Include channel data in your ThingHTTP request to get the last value from a channel field:

Replace the CHANNEL_ID with your channel ID and FIELD_NUMBER with your field number.

For example, to set the "message" parameter equal to the last value from Channel 1417, field 1:

     api_key=YOUR_ThingHTTP_APIKEY&message=The last update to field 1 in channel 1417 is %%channel_1417_field_1%% 

Parse String

ThingHTTP sends the full response generated by the request. To extract a piece of data from the response, add a parse string to the ThingHTTP request, with a Parent_cell.child_cell format. If you know the full XPATH to the data, specify the XPATH as the parse string.


Use ThingHTTP to send the following request to Google Finance.

     Method: GET
     Parse String: #ref_626307_c
The request parses the response for the string ref_626307_c, which corresponds to the S&P 500 current price change for the day. Additionally, you can parse JSON data with JavaScript-equivalent dot notation.

TimeControl Replacements

The TimeControl app can trigger a ThingHTTP request. Use replacement keys to access time data from a TimeControl, relative to your time zone:

  • %%datetime%%: The full date and time, for example: 2014-09-24 5:32 p.m.

  • %%day%%: The name of the weekday, for example: Wednesday

  • %%day_index%%: The zero-based index of the weekday starting on Sunday, for example: 3

  • %%hour%%: The hour of the day, for example: 5 p.m.

  • %%minute%%: The minute of the day, for example: 32

  • %%time%%: The time of the day, for example: 5:32 p.m.

Was this topic helpful?