# marketplace-rate-limiting

Teaches your agent to handle VTEX API 429s: exponential backoff with jitter, rate limit headers, circuit breaker and request queuing.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1000 installs · ★ 46
- Author: vtex
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/vtex/skills/tree/HEAD/skills/marketplace-rate-limiting/SKILL.md
- Updated: 2026-10-14
- HTML: https://affpapa.org/en/nevibecode/skills/marketplace-rate-limiting

## What it does

The skill kicks in when you build a VTEX API integration — catalog sync, order processing, price or inventory updates. Your agent gets a rule set: on a 429, wait instead of hammering the endpoint again, read `Retry-After`, and take whichever is larger — that value or the computed backoff. The delay formula is `min(maxDelay, baseDelay * 2^attempt)` with jitter between 0.5 and 1.0, so parallel clients do not stampede the moment the window resets.

It also covers `X-RateLimit-Remaining` and `X-RateLimit-Reset`: the agent is told to slow down before a 429 ever arrives. Pricing API and Orders API limits are spelled out, along with burst credits — excess requests burn them, and once they hit zero the request is blocked. A TypeScript example with axios shows `requestWithRetry`, retrying only on 429 and 503, with a config for `maxRetries`, `baseDelayMs` and `maxDelayMs`.

Catalog sync logic, order event consumption and invoice submission are out of scope; the same repository ships separate skills for those. If your integration already retries in a `while(true)` loop with no delay, that is worth a look — tight loops drain burst credits and stretch the block.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill marketplace-rate-limiting -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/marketplace-rate-limiting/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/marketplace-rate-limiting/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill marketplace-rate-limiting -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/marketplace-rate-limiting/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill marketplace-rate-limiting -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/marketplace-rate-limiting/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install vtex/skills marketplace-rate-limiting
```

2. **Manually: put the files in place**
- File: `.github/skills/marketplace-rate-limiting/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill marketplace-rate-limiting -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/vtex/skills --path skills/marketplace-rate-limiting
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/marketplace-rate-limiting/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add vtex/skills --skill marketplace-rate-limiting -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/vtex/skills/tree/HEAD/skills/marketplace-rate-limiting/SKILL.md

## When to use it
- handle VTEX API 429s without losing data
- add exponential backoff with jitter to retries
- read rate limit headers and slow down early
- put a circuit breaker in front of a flaky service
- cap request throughput with a queue

## Example prompts
- Add backoff retries to my VTEX API client
- Why does my integration keep hitting 429 on price updates?
- Set up a request queue for the Orders API

## Similar
- [setup-rate-limiting](https://affpapa.org/en/nevibecode/commands/setup-rate-limiting.md) — command · 247 installs
- [rate-limiting-implementation](https://affpapa.org/en/nevibecode/skills/rate-limiting-implementation.md) — skill · 502 installs
- [api-rate-limiting](https://affpapa.org/en/nevibecode/skills/secondsky-api-rate-limiting.md) — skill · 491 installs
- [rate-limiting-abuse-protection](https://affpapa.org/en/nevibecode/skills/rate-limiting-abuse-protection.md) — skill · 319 installs
- [api-gateway-backend-security-and-rate-limiting](https://affpapa.org/en/nevibecode/skills/api-gateway-backend-security-and-rate-limiting.md) — skill · 360 installs
- [implementing-api-rate-limiting-and-throttling](https://affpapa.org/en/nevibecode/skills/implementing-api-rate-limiting-and-throttling.md) — skill · 348 installs

From the same set: [vtex/skills](https://affpapa.org/en/nevibecode/by/vtex/skills.md) — 8 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
