Smart run

Name the job, not the tool. Send capability plus a small canonical input to POST /v1/run and Cracked picks the best live endpoint for it, translates your input into that endpoint's schema, runs it and falls through to the next candidate if the upstream fails. Same auth, same billing, same run record as a direct run.

curl -s https://cracked-ai-pearl.vercel.app/v1/run -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"capability":"instagram-profile","input":{"username":"nike"}}'

Why

Request

POST /v1/run
{
  "capability": "web-search",     // or "query": "instagram followers" (fuzzy match on name/tags)
  "input": { "query": "peptide therapy austin", "limit": 10 },
  "wait": true,                    // false = 202 + runId for long scrapers, poll GET /v1/runs/{runId}
  "webhook_url": "https://..."     // optional
}

When provider and endpoint are present the request is a normal direct run and capability is ignored. Unknown capability ids return 404 CAPABILITY_NOT_FOUND with the five closest ids in the message.

Response

A standard run record plus three fields:

{ "runId": "…", "status": "COMPLETED", "output": [ ... ],
  "provider": "apify", "endpoint": "/apify/instagram-profile-scraper",
  "providerResponse": { "httpStatus": 200, "error": null },
  "billing": { "units": 1, "providerUsd": 0.0033, "platformFeeUsd": 0.001, "totalUsd": 0.0043, "byok": false },
  "capability": "instagram-profile",
  "routedTo": { "provider": "apify", "endpoint": "/apify/instagram-profile-scraper" },
  "attempts": [
    { "provider": "apify", "endpoint": "/abe/tiktok-profile-scraper", "status": "FAILED", "httpStatus": 502, "runId": "…", "error": "Actor run failed" },
    { "provider": "apify", "endpoint": "/apify/instagram-profile-scraper", "status": "COMPLETED", "httpStatus": 200, "runId": "…" }
  ],
  "hints": { "capability": "GET /v1/capabilities?id=instagram-profile" } }

If every candidate fails you get the last run record (status FAILED, BLOCKED or TIMED_OUT) with the full attempts list. Failed attempts are recorded as runs but are not billed. With wait: false the first candidate that accepts the job (HTTP 202, status RUNNING) is treated as success; poll it with GET /v1/runs/{runId}?wait=30.

Listing capabilities

GET /v1/capabilities is public and returns every capability with its input schema and the candidates ranked for this deployment, including which are live right now. GET /v1/capabilities?id=web-search returns one. In MCP the same surface is list_capabilities and run_capability.

curl -s https://cracked-ai-pearl.vercel.app/v1/capabilities?id=web-search

Capabilities

36 capabilities. Required fields are marked. Candidates are listed in curated order; live ranking may differ.

CapabilityInputCandidates
web-search
Search the web and get ranked results with titles, URLs and snippets.
{"query":"peptide therapy"}
query* stringSearch query
limit number = 10Max results
serper/search
tavily/search
brave/web
exa/search
apify/apify/google-search-scraper
apify/apify/rag-web-browseralso fetches page content
duckduckgo/instant-answer (last resort)instant answer only, not a full SERP
web-scrape
Fetch one URL and return its readable content (text or markdown) plus title and metadata.
{"url":"https://example.com"}
url* stringAbsolute http(s) URL
max_chars number = 20000Truncate content to this many characters
firecrawl/scrape
jina/read
web/fetch
brightdata/unlockresidential proxy for anti-bot sites
apify/apify/web-fetch
web-crawl-map
List the URLs of a website (sitemap or crawl map) so you can pick pages to scrape.
{"url":"https://example.com"}
url* stringSite root URL
limit number = 200Max URLs
firecrawl/map
web/sitemap
apify/apify/website-content-crawlerfull crawl: returns page content, slower
news-search
Recent news articles matching a query with source, date and URL.
{"query":"peptide therapy"}
query* stringQuery
limit number = 20Max articles
serper/news
newsapi/everything
brave/news
apify/data_xplorer/google-news-scraper-fast
gdelt/articles (last resort)
instagram-profile
Profile details for an Instagram account: followers, following, bio, verified, recent post count.
{"username":"nike"}
username* stringInstagram username or profile URL
apify/apify/instagram-profile-scraper
apify/apify/instagram-scraper
apify/coderx/instagram-profile-scraper-bio-posts
instagram-posts
Recent posts from an Instagram account with captions, likes, comments and media URLs.
{"username":"nike"}
username* stringInstagram username or profile URL
limit number = 20Max posts
apify/apify/instagram-post-scraper
apify/apify/instagram-scraper
tiktok-profile
Profile details for a TikTok account: followers, likes, bio, video count.
{"username":"nike"}
username* stringTikTok username (with or without @) or profile URL
apify/abe/tiktok-profile-scraper
apify/clockworks/tiktok-profile-scraper
apify/clockworks/tiktok-scraper
tiktok-videos
Recent videos from a TikTok account with views, likes, shares and captions.
{"username":"nike"}
username* stringTikTok username or profile URL
limit number = 20Max videos
apify/clockworks/tiktok-profile-scraper
apify/clockworks/tiktok-scraper
apify/clockworks/free-tiktok-scraper
youtube-search
Search YouTube videos by keyword with title, channel, views and URL.
{"query":"peptide therapy"}
query* stringSearch query
limit number = 10Max videos
youtube/search
apify/streamers/youtube-scraper
youtube-transcript
Transcript (captions) of a YouTube video as text.
{"url":"https://example.com"}
url* stringYouTube video URL
language string = enCaption language code
apify/pintostudio/youtube-transcript-scraper
apify/starvibe/youtube-video-transcript
apify/karamelo/youtube-transcripts
apify/topaz_sharingan/Youtube-Transcript-Scraper-1
x-profile
Profile details for an X account: followers, following, bio, verified, tweet count.
{"username":"nike"}
username* stringX handle (with or without @) or profile URL
apify/apidojo/twitter-user-scraper
apify/apidojo/tweet-scraperreturns the latest post; author object carries profile stats
x-search
Search recent posts on X by keyword, hashtag or advanced query.
{"query":"peptide therapy"}
query* stringSearch terms (X advanced search syntax allowed)
limit number = 20Max posts
apify/apidojo/tweet-scraper
apify/apidojo/twitter-scraper-lite
apify/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest
reddit-search
Search Reddit posts by keyword, optionally inside one subreddit.
{"query":"peptide therapy"}
query* stringSearch query
subreddit stringOptional subreddit name without r/
limit number = 25Max posts
reddit/searchReddit public JSON, rate-limited
apify/trudax/reddit-scraper-lite
apify/fatihtahta/reddit-scraper-search-fast
linkedin-profile
Public LinkedIn profile: headline, location, experience, education, skills.
{"url":"https://example.com"}
url* stringLinkedIn profile URL or public identifier, e.g. satyanadella
apify/harvestapi/linkedin-profile-scraper
apify/apimaestro/linkedin-profile-detail
apify/dev_fusion/Linkedin-Profile-Scraper
pdl/person-enrich
linkedin-company
LinkedIn company page: industry, size, headquarters, description, follower count.
{"url":"https://example.com"}
url* stringLinkedIn company URL or slug, e.g. anthropic
apify/harvestapi/linkedin-company
apify/apimaestro/linkedin-company-detail
apify/automation-lab/linkedin-company-scraper
google-maps-places
Local businesses and places matching a query: name, address, rating, phone, website, coordinates.
{"query":"peptide therapy"}
query* stringWhat to find, e.g. 'med spa'
location stringWhere, e.g. 'Austin, TX' (can also be part of query)
limit number = 20Max places
serper/places
apify/compass/crawler-google-places
apify/compass/google-maps-extractor
apify/lukaskrivka/google-maps-with-contact-detailsadds emails and social profiles
google-maps-reviews
Reviews for one Google Maps place: rating, text, author, date.
{"place":"ChIJN1t_tDeuEmsRUsoyG83frY4"}
place* stringGoogle Maps place URL or place_id (ChIJ...)
limit number = 50Max reviews
apify/compass/google-maps-reviews-scraper
apify/web_wanderer/google-reviews-scraper
amazon-product
Amazon product details or search results: title, price, rating, ASIN, images.
{"query":"peptide therapy"}
query* stringSearch term, ASIN, or Amazon product/search URL
limit number = 10Max products
apify/junglee/amazon-crawler
apify/junglee/free-amazon-product-scraper
amazon-reviews
Customer reviews for one Amazon product: rating, title, text, date, verified purchase.
{"product":"B00E9M4XEE"}
product* stringASIN or Amazon product URL
limit number = 50Max reviews
apify/junglee/amazon-reviews-scraper
apify/web_wanderer/amazon-reviews-extractor
company-enrich
Firmographics for a company by website domain: name, industry, size, location, description, socials.
{"domain":"anthropic.com"}
domain* stringCompany website domain, e.g. anthropic.com
apollo/enrich-company
pdl/company-enrich
web/fetch (last resort)homepage title, description and Open Graph only
email-find
Most likely work email for a person at a company domain.
{"domain":"anthropic.com","first_name":"Jane","last_name":"Doe"}
domain* stringCompany domain
first_name* stringFirst name
last_name* stringLast name
hunter/email-finder
apollo/enrich-person
pdl/person-enrich
email-verify
Deliverability verdict for an email address.
{"email":"jane@example.com"}
email* stringEmail address
hunter/email-verifier
domain/email-check (last resort)syntax + MX heuristics, no SMTP probe
geocode
Coordinates, country and timezone for a city, address or place name.
{"query":"peptide therapy"}
query* stringPlace name or address
limit number = 5Max matches
open-meteo/geocode
openstreetmap/geocode
weather-forecast
Current conditions plus daily forecast for coordinates. Use geocode first for a city name.
{"latitude":30.27,"longitude":-97.74}
latitude* numberLatitude
longitude* numberLongitude
days number = 3Forecast days 1-16
units string = fahrenheitcelsius or fahrenheit
open-meteo/forecast
stock-quote
Latest price, change and volume for a stock ticker.
{"symbol":"AAPL"}
symbol* stringTicker symbol, e.g. AAPL
alphavantage/quote
polygon/aggregateslast 7 daily bars
apify/architjn/yahoo-financeYahoo Finance history
crypto-price
Spot price of a cryptocurrency in a fiat currency with 24h change and market cap.
{"coin":"bitcoin"}
coin* stringCoin id or symbol, e.g. bitcoin, ethereum, solana
currency string = usdFiat currency
coingecko/simple-price
defillama/pricesUSD only
domain-lookup
WHOIS/RDAP registration data for a domain: registrar, created and expiry dates, nameservers, status.
{"domain":"anthropic.com"}
domain* stringDomain, e.g. example.com
domain/rdap
domain/dns (last resort)nameservers only
github-repo
Repository metadata: description, stars, forks, language, license, default branch, topics.
{"repo":"vercel/next.js"}
repo* stringowner/name or repository URL
github/repo
web/fetch (last resort)page text, not structured
jobs-search
Job listings matching a title or keyword, optionally in a location.
{"query":"peptide therapy"}
query* stringJob title or keywords
location stringCity, state or country
limit number = 25Max listings
apify/misceres/indeed-scraper
apify/valig/indeed-jobs-scraper
apify/curious_coder/linkedin-jobs-scraper
apify/api-empire/linkedin-jobs-scraperLinkedIn jobs (formerly bebity/linkedin-jobs-scraper)
remotive/jobs (last resort)remote jobs only, ignores location
real-estate-listings
Homes for sale in a city, neighbourhood or ZIP code: price, beds, baths, sqft, address, listing URL.
{"location":"Austin, TX"}
location* stringCity and state, e.g. 'Austin, TX', or a 5-digit ZIP
limit number = 20Max listings
apify/maxcopell/zillow-scraper
apify/maxcopell/zillow-zip-searchZIP codes only
image-generate
Create an image from a text prompt. Returns image URL(s) or base64 depending on the model.
{"prompt":"A lighthouse at dawn, watercolor"}
prompt* stringImage prompt
size string = landscapesquare, landscape or portrait
fal/flux-schnell
openai/image
kie/flux-kontext
stability/sd3
fal/flux-pro
video-generate
Create a short video clip from a text prompt. Asynchronous: send wait=false and poll the run.
{"prompt":"A lighthouse at dawn, watercolor"}
prompt* stringVideo prompt
aspect_ratio string = 16:916:9 or 9:16
kie/veo3-video
minimax/video
fal/run
text-to-speech
Convert text to spoken audio. Returns base64 MP3 or an audio URL.
{"text":"Hello world"}
text* stringText to speak
voice stringProvider voice id (optional)
elevenlabs/tts
minimax/tts
transcribe-audio
Speech to text for a hosted audio or video file URL, with optional speaker labels.
{"url":"https://example.com"}
url* stringPublic audio/video URL
diarize boolean = falseSpeaker labels
language stringLanguage code (optional)
deepgram/transcribe-url
llm-chat
Generate text with a frontier or open model. Cheapest live model first.
{"prompt":"A lighthouse at dawn, watercolor"}
prompt* stringUser prompt
system stringOptional system prompt
max_tokens number = 1024Max output tokens
json boolean = falseAsk for a JSON object response
openai/chat
anthropic/messages
gemini/generate
openrouter/chat
groq/chat
mistral/chat
xai/chat
huggingface/chat
minimax/chat
translate
Translate text between languages.
{"text":"Hello world","to":"es"}
text* stringText to translate
to* stringTarget language code or name, e.g. es
from stringSource language code (optional)
mymemory/translateexpects ISO codes; max ~500 chars per call
openai/chat
anthropic/messages
gemini/generate

When to use a direct run instead

Examples

# fuzzy capability lookup
curl -s https://cracked-ai-pearl.vercel.app/v1/run -H "Authorization: Bearer $CRACKED_API_KEY" -H "content-type: application/json" \
  -d '{"query":"tiktok followers","input":{"username":"nike"}}'

# long scraper: start and poll
curl -s https://cracked-ai-pearl.vercel.app/v1/run -H "Authorization: Bearer $CRACKED_API_KEY" -H "content-type: application/json" \
  -d '{"capability":"google-maps-places","input":{"query":"med spa","location":"Austin, TX","limit":20},"wait":false}'
curl -s "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer $CRACKED_API_KEY"

# keyless: weather, crypto, geocode
curl -s https://cracked-ai-pearl.vercel.app/v1/run -H "Authorization: Bearer $CRACKED_API_KEY" -H "content-type: application/json" \
  -d '{"capability":"crypto-price","input":{"coin":"bitcoin"}}'
Smart run (capabilities) · Cracked