# Do I need residential proxies to scrape Douyin or TikTok, and what do they cost?

> Why Douyin and TikTok scrapers end up on residential proxies, how per-GB pricing becomes a cost per 1,000 results, and the per-call cost with no proxy at all.

Canonical page: https://okdata.online/answers/do-i-need-proxies-for-social-media-scraping/

**Short answer: **If you scrape Douyin or TikTok yourself at any real volume, almost certainly yes, because server IPs get blocked quickly and residential traffic is sold by the gigabyte. Through okdata you need no proxy: 1,000 TikTok videos from search cost $0.068, 1,000 Douyin videos $1.00, and 1,000 Douyin comments $0.10, with failed calls free.

The pattern repeats on every forum. A scraper works on a laptop, moves to a cloud server, and starts getting captchas, empty responses or blocks within hours. Datacenter IP ranges are easy for platforms to recognise. The usual next step is a residential proxy pool, and then a thread like [this one on V2EX, asking for a proxy setup because the cost is too high](https://www.v2ex.com/t/1076743).

## How proxy pricing turns into cost per result

Residential proxies are sold mostly by traffic: large networks list plans [priced per GB](https://brightdata.com/pricing/proxy-network/residential-proxies). To compare that with an API, work out:

cost per 1,000 results = (GB transferred per 1,000 results ÷ success rate) × price per GB

Three things make the real number worse than the first estimate:

- **Page weight.** A headless browser on a video feed pulls images and previews you never use; you pay for all of it.
- **Failures.** Blocked and captcha pages still cost traffic. At a 70% success rate you pay for every page about 1.4 times.
- **Rotation logic.** Expired IPs mid-run need retry code; MediaCrawler users have asked about exactly that, [proxies that expire with no retry](https://github.com/NanmiCoder/MediaCrawler/issues/456).

Then add the server, the accounts and the hours spent tuning it.

## The same data with no proxy

| Data | Endpoint | Per call | 1,000 items |
|---|---|---|---|
| TikTok videos by keyword | [TikTok video search](/apis/tiktok/videos/search/) | $0.002 | $0.068 |
| TikTok comments | [TikTok video comments](/apis/tiktok/videos/comments/list/) | $0.002 | $0.04 |
| Douyin videos by keyword | [Douyin video search](/apis/douyin/videos/search/) | $0.02 | $1.00 |
| Douyin comments | [Douyin video comments](/apis/douyin/videos/comments/list/) | $0.002 | $0.10 |

Your server talks to one HTTPS endpoint with a key. Blocks, captchas and IP rotation happen upstream, and a call that fails is not charged.

```bash
curl -G "https://api.okdata.online/v1/tiktok/videos/search" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'query=camping gear' --data-urlencode 'sort=latest'
```

## When a proxy pool still makes sense

If you collect millions of pages a month, need pages this catalog does not cover, or already run a crawling team, your own proxies can come out cheaper per page. Measure the success rate over a week before committing, since that number moves the total most. For smaller, steady jobs such as [trend research](/solutions/trend-research/), per-call pricing with nothing to rotate is usually the cheaper side.

## Endpoints used

- [Douyin video search](https://okdata.online/apis/douyin/videos/search/) `douyin.videos.search`: $0.02 per call · about 20 videos per page
- [TikTok video search](https://okdata.online/apis/tiktok/videos/search/) `tiktok.videos.search`: $0.002 per call · about 30 videos per page
- [Douyin video comments](https://okdata.online/apis/douyin/videos/comments/list/) `douyin.videos.comments.list`: $0.002 per call · about 20 comments per page
- [TikTok video comments](https://okdata.online/apis/tiktok/videos/comments/list/) `tiktok.videos.comments.list`: $0.002 per call · about 50 comments per page

Updated 2026-11-12
