Threads

Polls

Updated: Jul 2, 2026
Copy for LLM
You can use the Threads API to create posts with polls.

Limitations

  • You can attach polls only to text-only posts.

Create a post with a poll

You can attach a poll when making a request to the POST /threads endpoint to create a media object. Include the following parameter in your request:
  • poll_attachment – A JSON object containing the options for the poll.
The poll_attachment object must be of the form:
{
  "option_a": "first option",
  "option_b": "second option",
  "option_c": "third option", // Optional
  "option_d": "fourth option" // Optional
}
The poll_attachment object must contain at least 2 options and no more than 4 options. Each option must be between 1 and 25 characters long.

Example request

curl -i -X POST \
"https://graph.threads.com/v1.0/<THREADS_USER_ID>/threads?media_type=TEXT&text=MyText&access_token=<ACCESS_TOKEN>" \
-d poll_attachment='{"option_a":"first option", "option_b":"second option"}'

Example response

{
  "id": "1234567" // Threads Media Container ID
}
The request above creates a Threads post container. After you publish it, the post contains a poll attachment with the provided options.

Media retrieval

Make a request to the GET /threads or GET /{threads-media-id} endpoint to retrieve media objects. Make sure to include the following field with your API request:
  • poll_attachment – The poll attachment for the post.

Example request

curl -i -X GET \
"https://graph.threads.com/v1.0/<THREADS_MEDIA_ID>&access_token=<ACCESS_TOKEN>" \
-d fields=id,poll_attachment{option_a,option_b,option_c,option_d,option_a_votes_percentage,option_b_votes_percentage,option_c_votes_percentage,option_d_votes_percentage,total_votes,expiration_timestamp}

Example response

{
  "id": "1234567", // Threads Media ID
  "poll_attachment": {
    "option_a": "first option",
    "option_b": "second option",
    "option_c": "third option",
    "option_d": "fourth option",
    "option_a_votes_percentage": 0.10, // Percentage of votes for first option
    "option_b_votes_percentage": 0.20,
    "option_c_votes_percentage": 0.15,
    "option_d_votes_percentage": 0.55,
    "total_votes": 100,
    "expiration_timestamp": "2025-01-01T23:00:00+0000" // Time when the poll expires
  }
}
Note: The API returns the fields for option C and option D only when they are available for the poll being retrieved.