optimize-rest-api-performance

Diagnose and tune slow dlt REST API pipelines through parallelization, pagination, and session reuse.

Updated Jun 15, 2026
One-click install
npx skills add https://github.com/aminojagh/LLMZC --skill optimize-rest-api-performance-aminojagh
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: optimize-rest-api-performance
Source: https://github.com/aminojagh/LLMZC/tree/main/05_02_dlt_workshop/.claude/skills/optimize-rest-api-performance
Command: npx skills add https://github.com/aminojagh/LLMZC --skill optimize-rest-api-performance-aminojagh

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? REST API data extraction pipelines built with dlt often run slowly because of thousands of sequential requests, one-request-per-parent child resources, tiny pages, or repeated connection overhead. This Skill provides a structured diagnose-fix-measure loop to raise extraction throughput. ## Core Features & Use Cases - Bottleneck Diagnosis: Measure per-resource extract time via pipeline.last_trace and identify whether the slowdown comes from sequential requests, child resources, small pages, or large responses. - Targeted Fixes: Parallelize child resources and top-level endpoints, increase page size, reuse a shared HTTP session, and narrow payloads with data_selector. - Rate-Limit Awareness: Monitor HTTP 429 responses and tune retry/backoff settings so added concurrency does not trigger persistent throttling. - Use Case: A pipeline fetching comments for every post takes hours because each parent triggers one sequential request. Apply the parallelized transformer pattern, raise per_page to the API maximum, and compare before/after timings in last_trace. ## Quick Start Ask the assistant to optimize your slow dlt REST API pipeline by naming the pipeline and describing the symptom, such as thousands of sequential requests or slow child resources.

Frequently Asked Questions about optimize-rest-api-performance

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I speed up a slow dlt REST API pipeline?▼

Measure per-resource extract time with pipeline.last_trace, then match the symptom to a fix: parallelize child resources, increase page size, run top-level resources concurrently, reuse a shared HTTP session, or narrow payloads with data_selector. Apply one change at a time and re-measure.

How to parallelize child resources in dlt rest_api?▼

Set "parallelized": True on the child resource in the rest_api config so children are fetched concurrently using the transformer pattern. Note that all child pages for one parent are buffered in memory, so avoid this for parents with very large child sets.

Should I add concurrency before fixing pagination in dlt?▼

No. Verify every resource has an explicit paginator configured first, because auto-detected paginators can loop or stall and added concurrency only makes the stall happen faster. Confirm pagination works correctly before parallelizing.

Why does my dlt pipeline hit 429 rate limit errors after parallelizing?▼

More concurrency issues requests faster, so rate limits are reached sooner. dlt retries HTTP 429 and respects Retry-After headers; tune request_max_attempts, request_backoff_factor, and request_timeout, and reduce concurrency if 429s persist.

When should I use data_selector in a dlt rest_api source?▼

Use data_selector when responses are large but you only need part of each payload. It applies a JSONPath expression to extract just the records, reducing parse CPU and memory, and pairs with processing_steps filters to drop unwanted rows early.