首页/数据/数据工程与 ETL 速查/API 增量拉取与分页
管道基础52 条

API 增量拉取与分页

第三方 API 采集要处理三件事:增量参数(时间戳或游标)、分页方式(page/offset 或 cursor)、失败重试与限流退避。

增量方式updated_after 时间戳、since_id、cursor 游标
分页方式offset/page 或 next_cursor,后者对数据变化更稳
可靠性记录请求游标,失败从游标续拉

时间戳增量拉取(curl + jq)

时间戳增量拉取(curl + jq)
TOKEN=$(cat /etc/dataops/api_token)
curl -s -H "Authorization: Bearer $TOKEN" \
  "https://api.example.com/v1/orders?updated_after=2026-10-11T00:00:00Z&limit=200" \
  | jq -r '.data[] | [.id, .updated_at] | @tsv'
把令牌放环境变量文件并限制权限,不要直接写在命令行里(会进 shell 历史与进程列表)。

易错点

  • 时间戳边界含不含(>= 还是 >)未与服务方对齐,会稳定丢最后一秒的数据
  • 只重试不记录进度,长任务中断后从头拉,容易触发接口限流

数据来源与参考

  • 行业通用 API 分页与增量拉取模式
  • RFC 8288 Web Linking 中游标分页相关约定
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌