Developer Migration Studio · Zero Container Cold Starts
Migrate from Apify Pinterest & Airbnb Actors to <1s Synchronous REST JSON.
Running interactive moodboards, visual color search, or boutique stay price comparisons inside async scraper containers means paying Docker boot overhead and waiting 15–60 seconds per job just to poll a dataset. Switch in 5 minutes to https://api.pindataapi.com/v1/*: normalized HD images, 5-swatch hex palettes, outbound shop links, and Airbnb nightly rates over a single synchronous GET request at $0.08–$0.20 per 1,000 pins.
✓ Instant $1.20 (12,000 Credits) at 0 ms + $2.00 (+20,000 Credits) Sandbox Streak (32,000 total free credits = 16,000 pins) · ✓ Supports 0%-fee Crypto (+5% bonus) · ✓ $9.00 Indie Starter Micro-Pack never expires
1-to-1 Schema Translation
Apify Pinterest & Airbnb Actor Input JSON → Synchronous REST Endpoints
Base URL: https://api.pindataapi.com · $1.00 = 10,000 Credits
| Actor Input JSON Field | Direct Sync Endpoint | Query Parameters | Typical Latency | Exact Unit Cost |
|---|---|---|---|---|
| search: "ceramic mug", maxItems: 20, endPage: 1 (Pinterest Pins Search Actor) | GET /v1/pins/search | ?query=ceramic+mug&limit=20 | <1s sync JSON (18–45 ms warm cache) | 2 Credits / pin ($0.08–$0.20 / 1K; 0 if empty) |
| startUrls: ["https://www.pinterest.com/pin/14074436123984512/"] | GET /v1/pins/details | ?pin_id=14074436123984512 | <700 ms sync JSON | 5 Credits / lookup ($0.20–$0.50 / 1K) |
| search: "mid century interior", type: "boards" (Creator Moodboards) | GET /v1/boards/search | ?query=mid+century+interior&limit=20 | <1s sync JSON | 2 Credits / board ($0.08–$0.20 / 1K; 0 if empty) |
| profiles: ["architecturaldigest"] / username: "etsy" (Creator & Merchant Profile) | GET /v1/users/profile | ?username=architecturaldigest | <850 ms sync JSON | 10 Credits / profile ($0.40–$1.00 / 1K) |
| locationQueries: ["Paris"], checkIn: "2026-12-10", checkOut: "2026-12-12", adults: 2 (Airbnb Scraper) | GET /v1/stays/search | ?location=Paris&checkin=2026-12-10&checkout=2026-12-12&adults=2 | 0.6–1.6 s sync JSON (25 ms cached) | 5 Credits / stay ($0.20–$0.50 / 1K; 0 if empty) |
Why Interactive Visual Apps & AI Agents Switch
60%–85% Lower Total Cost & Zero Container Cold Starts
When powering user-facing aesthetic search bars, Shopify trend dashboards, or Claude/Cursor MCP visual tools, container spin-up delays and idle compute units kill UX and margins.
| Dimension | Async Container Actors | PinData API Direct REST Gateway |
|---|---|---|
| Response Model & Cold Start | Async Docker container boot (15–60s queue + spin-up) → poll run status → fetch dataset items | Single synchronous HTTP GET (<1s; 18–45 ms cached) — zero container startup fee |
| Real-Time Single-Query Cost (20 Pins) | Container start event + residential proxy CU burn (~$0.03–$0.10 effective on micro runs) | 40 Credits = $0.0016–$0.0040 (0 Credits if 0 results returned) |
| 100,000 Visual Pins Extraction | $150–$350+ ($1.50–$3.50/1K pay-per-result + $39–$49/mo platform fee; monthly credits expire) | $8.00 on Business Scale ($0.08/1K) or $11.50 on Pro Studio ($0.115/1K) or $9.00+ never-expiring PAYG |
| Aesthetic Color & Shop-the-Look Fields | Inconsistent raw nested JSON across separate Pinterest and Airbnb community Actors | Normalized 5-swatch hex palettes, aspect-ratio badges, save velocity, merchant domains, and nightly USD stay pricing |
| Concurrency & Rate Limits | Capped by Actor RAM quota (8–32 GB on Starter) — parallel user searches queue up | 30 RPM (2 RPS) on Free Studio → 60 to 600 RPM (15 RPS) on Paid tiers |
| Billing Flexibility & Payment Rails | Monthly platform subscription required for volume tiers; card billing only | $9.00 Indie Starter PAYG (never expires) or monthly plans via 0%-fee Crypto (+5% bonus) |
5-Minute Drop-In Migration
Replace ApifyClient.actor().call() with One HTTP Request
Delete async dataset polling loops and Docker cold-start retries. Copy-paste the Python, Node.js, or cURL snippet below using your pn_live_... key from /signup.
# BEFORE (Async Actor job: 15–45s container boot + dataset polling + residential proxy CU burn)
# run = ApifyClient(TOKEN).actor("...").call(run_input={
# "search": "japanese ceramic mug",
# "maxItems": 20,
# })
# items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
# AFTER (PinData API: <1s synchronous HTTP GET — 0 container boot fees, zero OAuth wait)
import os
import requests
API_KEY = os.environ["PINDATAAPI_KEY"] # pn_live_... (12,000 free credits on signup)
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1. Search Pinterest visual pins with 5-swatch hex palettes & shop-the-look domains
pins_resp = requests.get(
"https://api.pindataapi.com/v1/pins/search",
params={"query": "japanese ceramic mug", "limit": 20},
headers=HEADERS,
timeout=15,
)
pins_resp.raise_for_status()
pins = pins_resp.json()["data"]["pins"]
# 2. Search boutique Airbnb stays synchronously (/v1/stays/search)
stays = requests.get(
"https://api.pindataapi.com/v1/stays/search",
params={"location": "Paris", "checkin": "2026-12-10", "checkout": "2026-12-12", "adults": 2},
headers=HEADERS,
timeout=15,
).json()["data"]["listings"]
print(pins[0]["title"], pins[0]["dominant_color"], stays[0]["nightly_price_usd"])// BEFORE: await apifyClient.actor("...").call({ search: "mid century interior", maxItems: 20 })
// AFTER: Native fetch() — zero SDK dependencies, <1s response for Next.js / n8n / AI Agents
const API_KEY = process.env.PINDATAAPI_KEY!;
const headers = { Authorization: `Bearer ${API_KEY}` };
// 1. Visual Pin Search -> /v1/pins/search
const searchRes = await fetch(
"https://api.pindataapi.com/v1/pins/search?query=" +
encodeURIComponent("mid century interior") +
"&limit=20",
{ headers },
);
const { data } = await searchRes.json();
// 2. Creator Boards + Boutique Stays in parallel
const [boardsRes, staysRes] = await Promise.all([
fetch(`https://api.pindataapi.com/v1/boards/search?query=${encodeURIComponent("ceramic studio")}&limit=10`, { headers }),
fetch(`https://api.pindataapi.com/v1/stays/market?market=Kyoto&limit=10`, { headers }),
]);
const boards = (await boardsRes.json()).data.boards;
const stays = (await staysRes.json()).data.listings;
console.log({ pinsCount: data.pins.length, boardsCount: boards.length, staysCount: stays.length });# 1. Search Pinterest visual pins (<1s sync JSON — 2 Credits / pin returned)
curl -sS "https://api.pindataapi.com/v1/pins/search?query=ceramic+mug&limit=5" \
-H "Authorization: Bearer pn_live_YOUR_API_KEY"
# 2. Inspect full Pin metadata & image tiers by pin_id (5 Credits)
curl -sS "https://api.pindataapi.com/v1/pins/details?pin_id=14074436123984512" \
-H "Authorization: Bearer pn_live_YOUR_API_KEY"
# 3. Search creator aesthetic moodboards (2 Credits / board)
curl -sS "https://api.pindataapi.com/v1/boards/search?query=mid+century+interior&limit=10" \
-H "Authorization: Bearer pn_live_YOUR_API_KEY"
# 4. Search Airbnb boutique stays with nightly USD pricing & Superhost flags (5 Credits / stay)
curl -sS "https://api.pindataapi.com/v1/stays/search?location=Paris&checkin=2026-12-10&checkout=2026-12-12&adults=2" \
-H "Authorization: Bearer pn_live_YOUR_API_KEY"{
"ok": true,
"endpoint": "/v1/pins/search",
"meta": {
"request_id": "req_pn_sync_mig_84c1e",
"credits_used": 4,
"took_ms": 22,
"cache_hit": true
},
"data": {
"query": "ceramic mug",
"count": 2,
"pins": [
{
"pin_id": "14074436123984512",
"title": "Hand-Thrown Speckled Stoneware Espresso Mug",
"dominant_color": "#D4A373",
"palette_swatches": ["#D4A373", "#FAF7F5", "#8B5E3C", "#2A9D8F", "#141110"],
"aspect_ratio": "1080x1620",
"save_count": 14280,
"outbound_domain": "etsy.com",
"outbound_url": "https://www.etsy.com/listing/speckled-stoneware-mug",
"image_url": "https://i.pinimg.com/originals/92/4a/1c/924a1cc8f12e.jpg"
}
]
}
}Claude Web · ChatGPT · Cursor · n8n
1-Click Remote OAuth 2.1 MCP Connector
Building multimodal moodboard, trend scouting, or travel concierge AI agents? Connect Claude Web or ChatGPT Connectors directly via OAuth 2.1 PKCE — zero local Docker or npx setup required:
https://mcp.pindataapi.com/v1/mcpUsing Cursor, Claude Desktop, or Windsurf with an API key? Point https://api.pindataapi.com/mcp with header x-api-key: pn_live_.... Full setup guide on /mcp.
Endpoint Reference & Benchmarks
Explore Verified Endpoint Docs
- → GET /v1/pins/search — Visual pins with 5-swatch hex palettes, aspect ratio, saves & merchant links
- → GET /v1/boards/search — Curated creator moodboards, pin counts & follower velocity
- → GET /v1/stays/search — Boutique Airbnb stays with nightly USD pricing, Superhost & coordinates
- → GET /v1/stays/market — City-wide short-term rental supply & ADR benchmarks
- → Pinterest API Pricing Guide, Airbnb API Alternative Guide & Apify vs PinData Benchmark
REST API Migration FAQ
- Why is calling a synchronous Pinterest & Airbnb REST API 60%–85% cheaper than container-based Actor runs?
- Every container Actor run boots an isolated Docker worker, allocates residential proxies, and bills Compute Units (CUs) or pay-per-result minimums ($1.50–$5.00+ per 1,000 items plus monthly platform fees). PinData API eliminates container cold starts completely: you call https://api.pindataapi.com/v1/pins/search or /v1/stays/search directly over HTTP and pay strictly 2 Credits ($0.08–$0.20 per 1,000 pins) with $0 container boot fees and 0 Credits charged on empty results.
- Do I need Pinterest Official API v5 OAuth App approval to use PinData API?
- No. Pinterest Official API v5 requires business verification, demo videos, and multi-week app review—and restricts public cross-creator visual trend search. PinData API issues a live pn_live_ API key in 3 seconds at /signup with zero OAuth approval wait.
- Can I test for free and top up Pay-As-You-Go starting at $9 without a monthly commitment?
- Yes. Every new account receives 12,000 Free Credits ($1.20) instantly upon signup at /signup with no credit card required, plus up to +20,000 Developer Sandbox Streak Credits. When scaling up, choose never-expiring PAYG packs starting at our $9.00 Indie Starter Micro-Pack (90,000 Credits) or monthly Studio plans via instant 0%-fee Crypto (+5% bonus credits).
- Does PinData API work with n8n, Make, Claude Web, ChatGPT Connectors, and Cursor?
- Yes. In n8n or Make, replace async 'Run Actor + Poll Dataset' two-step loops with a single synchronous HTTP Request node to https://api.pindataapi.com/v1/pins/search (<1s response). For Claude Web and ChatGPT Connectors, paste our 1-click OAuth 2.1 Remote MCP URL: https://mcp.pindataapi.com/v1/mcp.
Ready to drop container cold starts?
Create your account in 3 seconds and get 12,000 Free Credits ($1.20) instantly — enough for 6,000 Pinterest visual pins or 2,400 boutique stay listings with zero credit card or OAuth review wait.