Threads Insights API로 글별 조회수 뽑기: 매일 올린 5편이 합쳐 88회였던 기록
Threads 글마다 조회수·좋아요·답글 수를 API로 모으는 방법과, 그 숫자를 읽을 때 걸러야 하는 것들을 적었습니다. 5일 동안 매일 올린 글에서 단발 글과 댓글 체인 글의 조회수가 어떻게 갈렸는지도 함께 남깁니다.
6월 8일부터 12일까지 Threads에 하루 한 편씩 글을 올렸습니다. 그 전 2주는 조회수를 손으로 옮겨 적는 게 번거로워서 기록이 비어 있었고, 그래서 6월 13일에 Threads Insights API로 글별 숫자를 한 번에 뽑는 스크립트를 만들었습니다. 뽑아 보니 다섯 편 조회수를 다 합쳐도 88회였고, 좋아요와 다른 사람 답글은 0이었습니다. 그중 댓글 없이 한 번에 끝나는 단발 글 두 편이 16회와 63회, 본문 아래에 댓글로 이어 쓴 글 세 편이 6회·1회·2회였습니다.
아래는 그 숫자를 뽑은 방법과, 숫자를 읽을 때 걸러야 했던 것들입니다.
Threads 글별 조회수를 API로 가져오는 순서
Threads 앱의 인사이트 화면에서도 글마다 숫자를 볼 수 있지만, 여러 글을 한 표로 보려면 API가 편합니다. 필요한 건 세 가지입니다.
- Meta 개발자 앱에서 받은 Threads 액세스 토큰
- 권한
threads_basic(모든 호출에 필요)과threads_manage_insights(인사이트 조회에 필요) - 내 글 목록을 가져오는 호출 하나, 글마다 숫자를 가져오는 호출 하나
내 최근 글 목록을 받아 날짜로 거르고, 남은 글마다 인사이트를 묻는 순서입니다. 제가 쓴 스크립트는 파이썬 표준 라이브러리만 썼고, 호출 모양은 아래와 같습니다.
# 1) 내 최근 글 50개 (id, 링크, 올린 시각, 본문)
curl "https://graph.threads.com/v1.0/me/threads?fields=id,permalink,timestamp,text,media_type&limit=50&access_token=$THREADS_TOKEN"
# 2) 글 하나의 숫자
curl "https://graph.threads.com/v1.0/{글id}/insights?metric=views,likes,replies,reposts,quotes&access_token=$THREADS_TOKEN"
공식 문서에 나온 글별 지표는 views, likes, replies, reposts, quotes, shares 여섯 가지입니다(2026년 10월 확인). 응답의 시각은 UTC라서, 한국 시간으로 바꾼 뒤 6월 8일 0시부터 13일 23시 59분까지만 남겼습니다. 토큰은 코드에 넣지 않고 홈 폴더의 .threads.env 파일이나 환경변수에서 읽게 했고, 에러가 나도 요청 주소를 통째로 찍지 않게 했습니다. 주소에 토큰이 들어 있기 때문입니다.
지표마다 자세한 설명은 Meta 공식 문서 Threads Insights에 있습니다.
조회수 숫자를 읽을 때 걸러야 하는 것
처음 표를 받았을 때 그대로 비교하면 안 되는 부분이 네 군데 있었습니다.
첫째, 숫자는 누적값입니다. 6월 13일에 한 번에 뽑았으니 8일에 올린 글은 5일 치, 12일에 올린 글은 하루 치가 쌓인 값입니다. 엄밀한 24시간 비교가 아닙니다.
둘째, 답글 수에 내 댓글도 들어갑니다. 댓글 체인 글 세 편은 답글이 1로 나왔는데, 전부 제가 단 이어쓰기 댓글이었습니다. 다른 사람 답글은 0이었습니다.
셋째, 올린 시각이 어긋난 글은 따로 봐야 합니다. 6월 9일 글은 08:00 예정이었는데 08:58에 올라갔습니다. 그 글이 낮게 나온 게 형식 때문인지 시간 때문인지 가를 수 없어서 비교에서 뺐습니다.
넷째, 공식 문서에 views와 shares는 아직 개발 중인 지표라고 적혀 있고, 댓글 아래에 달린 답글의 숫자는 잡히지 않는다고 되어 있습니다. 다른 사람 글을 다시 올린 리포스트는 빈 배열이 옵니다.
단발 글과 댓글 체인 글의 조회수 차이
| 날짜 | 글 | 형식 | 조회수 |
|---|---|---|---|
| 6/8 | 수집보다 만들기 | 단발 | 16 |
| 6/9 | 막은 건 내 설정 | 댓글 체인 | 6 (시간 어긋남) |
| 6/10 | 프로젝트에 몇 시간 썼나 | 댓글 체인 | 1 |
| 6/11 | 모은 걸 어떻게 봐야 편한가 | 단발 | 63 |
| 6/12 | Fable 써 본 이야기 | 댓글 체인 | 2 |

다섯 편뿐이라 단정할 수는 없지만, 그 주에는 단발 두 편이 댓글 체인 세 편보다 많이 읽혔습니다. 가장 많이 읽힌 63회짜리는 백엔드 개발자라 코드는 금방 짤 줄 알았는데 막힌 건 코드가 아니었다는, 직접 만들다 겪은 일을 한 번에 끝낸 글이었습니다. 6월 12일 글은 화제가 된 지 이틀 뒤에 올려서, 형식보다 늦은 타이밍 탓도 섞여 있습니다.
매일 올린다고 더 읽히지는 않았습니다
그 주에는 만든 게 많았습니다. 영상 링크를 넣으면 요약해서 노션에 정리하는 정보조사 도구를 실제로 쓰기 시작했고, 당근마켓에서 25만 원에 산 중고 맥미니를 회사 서버로 들였고, 앞으로 만들 여섯 개 부서의 기획 문서도 한꺼번에 써 뒀습니다. 서버 구성과 비용은 중고 Mac mini 2018을 회사 서버로 쓰는 구성에 따로 정리했습니다.
매일 올렸지만 글은 대부분 한 자리 수 조회수에 머물렀습니다. 그 주 숫자를 보고 나서 댓글 체인을 기본으로 두지 않고 단발로 끝낼 수 있는지부터 보게 됐습니다. 일주일 뒤 AI 비용을 거의 안 들이고 자동화를 돌리는 이야기는 댓글 체인으로 올렸는데도 960회까지 나왔으니, 형식보다 무엇을 쓰는지가 더 크게 갈랐습니다. 그 구성은 OpenRouter 무료 모델로 자동화 AI 비용을 거의 0원으로 맞춘 방법에 따로 적었습니다.
직접 겪지 않은 기술 글은 내렸습니다
같은 주에 Kotlin 코루틴 함정을 정리한 블로그 글을 올렸다가 내렸습니다. 다시 읽어 보니 실제로 부딪힌 일을 쓴 게 아니라 공부한 내용을 옮긴 글이었습니다. 그 뒤로 기술 글은 실제로 겪은 일이나 직접 잰 숫자가 있을 때만 올립니다.
Threads 토큰 만료와 API로 안 되는 것
Threads 장기 토큰은 60일 동안 유효합니다. 발급하고 24시간이 지난 뒤부터 만료 전까지 https://graph.threads.com/refresh_access_token 에 grant_type=th_refresh_token 으로 요청하면 그날부터 다시 60일이 됩니다. 60일 동안 한 번도 갱신하지 않으면 그 토큰은 더 이상 갱신할 수 없어서 새로 받아야 합니다(2026년 10월 확인, 공식 문서 Long-Lived Access Tokens). 매주 숫자를 뽑는다면 갱신도 일정에 같이 넣어 두는 게 편합니다.
이 방법으로 볼 수 있는 건 내 계정 글의 숫자뿐이고, 다른 사람 글의 조회수는 가져올 수 없습니다. 조회수가 누가 봤는지까지 알려 주지도 않습니다.