bitly-The service is receiving too many requests from you

n8n으로 쓰레드 자동화 글쓰기를 하고 있는데요. 400자 제한 때문에 짧은 주소 서비스를 사용 중입니다. 그런데 오늘 아래와 같은 에러가 나오면서 멈춰버렸습니다. 매일 뭔가 계속 서비스에 문제가 있는데, 그래서 좀 불안합니다. Make는 한 번 세팅해 놓으면 안정적으로 신경 쓰지 않아도 괜찮았는데, n8n은 그렇지 않아서 불안합니다.
The service is receiving too many requests from you
MONTHLY_ENCODE_LIMIT_REACHED
Bitly(비트리) API의 월간 단축 URL 생성 한도에 도달하여 발생한 오류입니다.
MONTHLY_ENCODE_LIMIT_REACHED: Bitly 전용 오류 메시지로, “이번 달에 만들 수 있는 단축 링크 개수를 모두 채웠다”는 뜻입니다.
n8n을 통해 자동화를 진행하시다가 이 오류를 보셨다면, 현재 사용 중인 Bitly 요금제에서 허용하는 한 달 치 ‘URL 생성(Encoding)’ 횟수를 모두 소진했음을 의미합니다.
Error code
429Full message
Try spacing your requests out using the batching settings under ‘Options’
Error Code 429: “Too Many Requests”라는 뜻으로, 서버가 감당하기에 너무 많은 요청을 보냈거나 설정된 제한(Rate Limit)을 넘었을 때 발생합니다.
제가 무료 API 사용할 때 한 달 제한 수를 생각하지 않은 게 실수였습니다.
Bitly 무료 요금제 주요 제한 (2026년 기준)
- 월간 단축 링크 생성: 5개 (가장 큰 원인)
- 월간 QR 코드 생성: 2개
- 커스텀 뒷주소(Back-halves): 3개
- API 호출 한도: 월 1,000회 (링크 클릭 정보 확인 등은 가능하지만, ‘생성’ 자체는 5개 한도에 묶임)
- 링크 광고: 무료 링크 클릭 시 Bitly 광고 페이지(중간 페이지)가 노출될 수 있음
해결책 제안
- Bitly 요금제 업그레이드: ‘Core’ 플랜($10/월)으로 업그레이드하면 월 100개까지 생성 가능합니다.
- 대체 서비스 이용: Dub.co나 TinyURL 같은 서비스는 무료 한도가 Bitly보다 훨씬 넉넉합니다. (Dub.co는 무료로 월 25개~50개 정도 제공)
- 자체 구축(추천): 아까 말씀드린 워드프레스 Code Snippets 방식을 사용하면, 내 서버를 이용하기 때문에 평생 무료/무제한으로 사용할 수 있습니다.
우선 무료 서비스 API의 월간 개수를 알아봤습니다.
Dub.co 무료 플랜 API 한도
- 무료 플랜에서 API 사용 가능, 1 user + API Access 포함.
- 레이트 리밋: API 호출 60 requests/minute (키 기준).
- 월 사용량은 무료 플랜 기준으로
- 새 링크 25개/월
- 트래킹 클릭 1,000회/월 정도에 맞춰 설계되어 있음.
Dub는 n8n에서 노드를 검색해봤지만 없었습니다. HTTP request로 복잡하게 구현해야 할 듯합니다.
TinyURL 무료 플랜 개요
다만 무료 플랜에서의 정확한 API 호출 수 한도는 공개 비교 페이지 기준으로는 명시되어 있지 않고, 대량/브랜디드 링크, UTM 등은 유료 플랜(월 10달러 수준)에서 제공합니다.
TinyURL도 무료 플랜과 API Access를 제공하는 것으로 안내되고 있습니다.
무료 API는 모두 한계가 있습니다. 그나마 저에게는 딱 맞다고 생각하지만, 31일에서 쉬는 날 5일을 제외하면 거의 매일 에러가 발생합니다.
워드프레스에 Code Snippets

Code Snippets 플러그인을 설치했습니다.

상단에 Add New를 클릭합니다.

<?php
// 1. 단축링크용 데이터베이스 공간(포스트 타입) 만들기
add_action('init', function() {
register_post_type('short_link', [
'label' => '단축링크 관리',
'public' => true,
'show_ui' => true,
'rewrite' => ['slug' => 's'], // 주소 형식을 nightwelfare.kr/s/코드 로 설정
]);
});
// 2. 외부(n8n)에서 호출할 수 있는 API 문 열기
add_action('rest_api_init', function () {
register_rest_route('myapi/v1', '/shorten', [
'methods' => 'POST',
'callback' => 'generate_short_url',
'permission_callback' => '__return_true' // 테스트를 위해 우선 활성화
]);
});
function generate_short_url($data) {
$long_url = $data['url'];
if (empty($long_url)) return new WP_Error('no_url', 'URL이 없습니다.', ['status' => 400]);
$slug = substr(md5(uniqid(rand(), true)), 0, 6); // 6자리 랜덤 코드 생성
wp_insert_post([
'post_title' => $slug,
'post_name' => $slug,
'post_type' => 'short_link',
'post_status' => 'publish',
'meta_input' => [ 'long_url' => $long_url ]
]);
return [ 'short_url' => home_url('/s/' . $slug) ];
}
// 3. 사용자가 짧은 주소로 들어오면 실제 페이지로 보내주기
add_action('template_redirect', function() {
if (is_singular('short_link')) {
$long_url = get_post_meta(get_the_ID(), 'long_url', true);
if ($long_url) {
wp_redirect($long_url, 301); // 301 영구 이동
exit;
}
}
});
코드를 입력하고 제목은 n8n-shortener라고 입력했습니다.
2단계: 워드프레스 ‘애플리케이션 비밀번호’ 생성 (보안용)
n8n이 본인 사이트에 안전하게 접속하기 위해 필요합니다.

nightwelfare.kr 관리자 메뉴 → 사용자(Users) → 프로필(Profile)로 이동합니다.

맨 아래로 내려가면 Application Passwords 섹션이 있습니다.
이름에 n8n-shortener라고 입력하고 Add New Application Password를 클릭합니다.
화면에 나타나는 비밀번호(예: xxxx xxxx xxxx xxxx)를 따로 복사해두세요. (한 번만 보입니다!)
저는 이미 설정했으므로 암호를 이용하기로 했습니다.

호스팅어의 플러그인인 Hostinger Reach 플러그인이 활성화되어 있을 때는 Application Passwords가 보이지 않습니다. 반드시 플러그인을 비활성화한 후 발급받으셔야 합니다.

단축링크 관리 메뉴도 생겼습니다. 잘못 발행된 링크는 삭제할 수 있습니다. 다만 가져오는 링크의 제목이 표시되면 좋을 텐데 아직 그렇지 못합니다. 나중에 기능을 추가해봐야겠어요. 처음에 생성되고 나서 없는 링크라고 나올 때는 설정 → 포스트 링크에서 저장을 다시 눌러주세요. 그러면 됩니다.
n8n 운영 팁

저는 구글 블로그에 글이 올라오면 자동으로 쓰레드에도 글을 작성하도록 설정해서 운영하고 있는데요. 직접 운영해보니 이렇게 할 경우 어느 한 곳이 막히면 전체가 멈춰버리기 때문에 분리하는 것이 필요하겠다는 생각이 들었습니다. 블로그 작성 워크, 쓰레드 워크, 트위터 워크 이런 식으로 분리해볼까 생각 중입니다. 에러가 나서 멈추더라도 워크 하나만 멈추기 때문에 다른 곳에는 영향을 미치지 않습니다.