# ReefAPI > 192 production REST data APIs for developers — reviews, jobs, real-estate, e-commerce, travel, finance and more. One API key, one shared credit pool. Every endpoint returns a uniform JSON envelope: { ok, data, meta, error }. > Base URL: https://api.reefapi.com//v1/ · Auth: `x-api-key` header · Try live: https://reefapi.com/playground ## Reputation & Reviews - [App Store Reviews API — unified Apple App Store + Google Play reviews, ratings, top charts and ASO discovery](https://reefapi.com/docs/app-store): 7 endpoints — unified Apple + Play reviews for one or more apps · full AI-ready doc: https://reefapi.com/docs/app-store.md - POST /app-store/v1/reviews — unified Apple + Play reviews for one or more apps (params: apps, appleAppId, googlePlayPackage, appName, stores, countries, maxReviews; 1 credit) - POST /app-store/v1/search — ranked app search results (params: query*, stores, country, count; 1 credit) - POST /app-store/v1/topCharts — ranked chart/category apps (params: stores, country, category, count, chart, device; 1 credit) - POST /app-store/v1/listCategories — static genre/category list (params: stores; 0 credit) - POST /app-store/v1/appDetails — full app profile (params: appId, appleAppId, googlePlayPackage, stores, country, includeSimilarApps; 1 credit) - POST /app-store/v1/developerApps — every other app published by the same developer (params: appId, appleAppId, googlePlayPackage, stores, country, count; 1 credit) - POST /app-store/v1/similarApps — related / similar apps for an app (params: appId, appleAppId, googlePlayPackage, stores, country, count; 1 credit) - [App & SaaS Reputation API — resolve an app by name, store URL or domain into a fused reputation profile (store ratings, Trustpilot, TrustRadius, GitHub, Product Hunt, live status and news)](https://reefapi.com/docs/enrich-app): 3 endpoints — name|store-URL|domain → entity-resolved app/SaaS reputation: store ratings + Trustpilot + GitHub + Product Hunt (basic) — see app_reputation_rich for the full fan-out (review samples + TrustRadius + status + news) · full AI-ready doc: https://reefapi.com/docs/enrich-app.md - POST /enrich-app/v1/app_reputation — name|store-URL|domain → entity-resolved app/SaaS reputation: store ratings + Trustpilot + GitHub + Product Hunt (basic) — see app_reputation_rich for the full fan-out (review samples + TrustRadius + status + news) (params: query*, country, stores, include, exclude, trustradius_slug; 5 credits) - POST /enrich-app/v1/app_reputation_rich — everything in app_reputation + a recent store-review sample + TrustRadius B2B reviews + vendor live status/incidents + recent news mentions (params: query*, country, stores, include, exclude, trustradius_slug; 10 credits) - POST /enrich-app/v1/batch — reputation for up to 10 apps/domains in one call (basic groups, cache-first, per-item ok/error) (params: queries*, country, stores, include, exclude; 4 credits) - [Local Business Intelligence API — turn a business name and location into a place profile with multi-source reviews, website health and legitimacy signals](https://reefapi.com/docs/enrich-local): 2 endpoints — name+location ‖ place_query → matched place (Google Maps) + multi-source review presence + website health + indexed presence + negative-news + legitimacy signal list, with an honest coverage_note + per-group provenance. · full AI-ready doc: https://reefapi.com/docs/enrich-local.md - POST /enrich-local/v1/business_lookup — name+location ‖ place_query → matched place (Google Maps) + multi-source review presence + website health + indexed presence + negative-news + legitimacy signal list, with an honest coverage_note + per-group provenance. (params: name, location, place_query, lat, lng, country, yelp_enc_biz_id, include, exclude; 8 credits) - POST /enrich-local/v1/batch — enrich up to 10 businesses in one call (lead-list use-case; per-item ok/error, cache-first). (params: businesses*, include, exclude; 8 credits) - [Business Trust API — public trust and reputation signals for any domain or company](https://reefapi.com/docs/enrich-trust): 2 endpoints — domain‖company_name → entity-resolved PUBLIC trust signals: positive_signals[], risk_signals[], unknowns[] + a respectful heuristic recommendation. NOT KYB/AML. · full AI-ready doc: https://reefapi.com/docs/enrich-trust.md - POST /enrich-trust/v1/business_trust — domain‖company_name → entity-resolved PUBLIC trust signals: positive_signals[], risk_signals[], unknowns[] + a respectful heuristic recommendation. NOT KYB/AML. (params: domain, company_name, country, business_type, depth; 7 credits) - POST /enrich-trust/v1/batch — assess up to 10 domains in one call (core signals, cache-first, per-item ok/error) (params: domains*, country, business_type; 24 credits) - [Google Maps API — place search, business details, public reviews, nearby search, geocoding and change monitoring: name, address, phone, website, rating, review count, categories, photos and coordinates from Google Maps (geo-biased, logged-out, no API key or quota)](https://reefapi.com/docs/google-maps): 8 endpoints — Search places by text query with optional lat/lng geo-bias. Returns up to 200 places with name, address, rating, categories, phone, website, coordinates, photos. · full AI-ready doc: https://reefapi.com/docs/google-maps.md - POST /google-maps/v1/place/search — Search places by text query with optional lat/lng geo-bias. Returns up to 200 places with name, address, rating, categories, phone, website, coordinates, photos. (params: query*, lat, lng, altitude, maxResults, lang, region, include_contacts; 2 credits) - POST /google-maps/v1/place/detail — The single richest matching place: name, address, phone, website, rating, total review count, categories, coordinates, opening hours and photos. (params: query*, lat, lng, lang, region, include_contacts; 3 credits) - POST /google-maps/v1/place/by-id — Fetch a place directly by its Google id — fid (0x…:0x…), place_id or numeric cid — no text query needed. Use the id returned by place/search. (params: fid, place_id, cid, query, lat, lng, lang, region; 3 credits) - POST /google-maps/v1/place/nearby — Find places of a given type near coordinates (e.g. coffee shops, pharmacies, ATMs around a lat/lng). Returns up to 200 nearby places. (params: lat*, lng*, type*, radius, maxResults, lang, region; 2 credits) - POST /google-maps/v1/geocode — Turn an address or place name into coordinates: returns latitude, longitude and the formatted address of the best match. (params: address*, lang, region; 1 credit) - POST /google-maps/v1/place/reviews — Public Google reviews for a place — paginated to ALL reviews. Each review carries author name, rating, text, date, photos and the owner's response. Resolve a place by query, or pass its fid/cid/place_id from place/search. (params: query, fid, cid, place_id, sort, max_reviews, cursor, lat, lng, lang, region; 1 credit) - POST /google-maps/v1/place/photos — Public photos for a place — the featured/hero gallery plus user-uploaded photos attached to reviews. Each is a stable image CDN URL (append '=s800' etc. for a sized variant). Resolve by query or pass an id. (params: query, fid, cid, place_id, lat, lng, lang, region; 2 credits) - POST /google-maps/v1/place/freshness — Monitor a place for changes: returns the current place plus a typed diff vs the snapshot you pass from a previous call (rating/review_count/phone/website/address changes). (params: query*, lat, lng, previous, lang, region; 2 credits) - [Naver API (Korea) — Naver Place & Map scraper: search Korean businesses (all categories) with full profiles, ratings, visitor & blog reviews, plus Naver search autocomplete](https://reefapi.com/docs/naver): 7 endpoints — search restaurants & food places by query (richest food data) · full AI-ready doc: https://reefapi.com/docs/naver.md - POST /naver/v1/place/search — search restaurants & food places by query (richest food data) (params: query*, limit; 1 credit) - POST /naver/v1/place/search-all — search ANY business type on Naver Place/Map (clinics, cafes, hotels, salons, shops…) (params: query*, limit; 1 credit) - POST /naver/v1/place/detail — full place profile (rating, phone, hours, images) (params: place_id*, query; 1 credit) - POST /naver/v1/place/reviews — visitor reviews (latest page, ~20 per call) with the true total (params: place_id*, limit, page_size, sort, query; 1 credit) - POST /naver/v1/place/blog-reviews — blog reviews (params: place_id*, limit, page_size, query; 1 credit) - POST /naver/v1/place/resolve — resolve a query → place_id (works for food AND any other business) (params: query*, place_id; 1 credit) - POST /naver/v1/search/autocomplete — Naver search-box keyword suggestions for a partial term (keyword research) (params: query*, limit; 1 credit) - [ReclameAqui API (Brazil) — company reputation, ratings, statistics and consumer complaints from ReclameAqui](https://reefapi.com/docs/reclameaqui): 6 endpoints — resolve a company by name/slug · full AI-ready doc: https://reefapi.com/docs/reclameaqui.md - POST /reclameaqui/v1/company/search — resolve a company by name/slug (params: query, slug; 1 credit) - POST /reclameaqui/v1/company/detail — company profile + reputation index (params: slug, company_id; 1 credit) - POST /reclameaqui/v1/company/stats — reputation metrics + main/performance problems (params: slug, company_id; 3 credits) - POST /reclameaqui/v1/company/complaints — paginated complaints for a company (params: company_id*, status, statuses, limit, page_size, date_from, date_to, company_slug, company_name; 1 credit) - POST /reclameaqui/v1/complaints/search — search complaints by keyword (params: query*, limit, page_size, date_from, date_to; 1 credit) - POST /reclameaqui/v1/complaint/detail — single complaint thread (HTML timeline) (params: company_slug*, complaint_url_slug*; 2 credits) - [Sitejabber API — business reviews, ratings and TrustScore scraper: overall star rating, total review count, 5-to-1-star rating distribution, sub-ratings (service, value, shipping, returns, quality), and every customer review with rating, text, date, country, verified status, helpful votes and the business's reply — by domain, plus business search and category browse from Sitejabber.com (SmartCustomer), no API key required](https://reefapi.com/docs/sitejabber): 5 endpoints — Get a business's customer reviews from Sitejabber by domain — paginated, 20 per page. Each review has the 1-5 star rating, title, full text, the five sub-ratings (service, value, shipping, returns, quality), date, the reviewer's country, verified status, products used, helpful/not-helpful vote counts and the business's reply. Page with `page` until meta.pagination.has_more is false. · full AI-ready doc: https://reefapi.com/docs/sitejabber.md - POST /sitejabber/v1/reviews — Get a business's customer reviews from Sitejabber by domain — paginated, 20 per page. Each review has the 1-5 star rating, title, full text, the five sub-ratings (service, value, shipping, returns, quality), date, the reviewer's country, verified status, products used, helpful/not-helpful vote counts and the business's reply. Page with `page` until meta.pagination.has_more is false. (params: domain*, page; 1 credit) - POST /sitejabber/v1/aggregate — The rating summary for a business by domain (no individual reviews) — overall star rating, total review count, the 5★→1★ rating distribution, and the five sub-rating averages (service, value, shipping, returns, quality). Cheaper than `reviews` when you only need the score. (params: domain*; 1 credit) - POST /sitejabber/v1/detail — The full business profile on Sitejabber by domain — name, website, founded year, industry, the AI summary of what customers say, categories, overall rating, total review count, sub-rating breakdown and the rating distribution. (params: domain*; 1 credit) - POST /sitejabber/v1/search — Search Sitejabber for businesses by name or keyword — returns matching businesses with name, domain, overall rating, total review count, industry and AI summary. 28 per page. (params: query*, page; 1 credit) - POST /sitejabber/v1/category — Browse the businesses listed in a Sitejabber category — returns each business's name, domain, rating, review count and industry, ranked. 10 per page; paginate with `page`. Pick a top-level category from the list, or pass any deeper sub-category slug from a sitejabber.com/categories/ URL (e.g. 'banking', 'insurance', 'web-hosting', 'dating') — those work too. (params: category*, page; 1 credit) - [Tripadvisor API — hotel, restaurant & attraction reviews, ratings and place profiles from tripadvisor.com](https://reefapi.com/docs/tripadvisor): 4 endpoints — Reviews + the full place profile (rating histogram, subratings, amenities) for one or more Tripadvisor places, by page URL. · full AI-ready doc: https://reefapi.com/docs/tripadvisor.md - POST /tripadvisor/v1/reviews — Reviews + the full place profile (rating histogram, subratings, amenities) for one or more Tripadvisor places, by page URL. (params: startUrls, url, queries, query, maxReviews, language; 1 credit) - POST /tripadvisor/v1/places/list — Discover hotels, restaurants or attractions in a city/area (name, rating, review count) — the feeder for `reviews`. (params: location*, category, geo_id, location_slug, max_results; 2 credits) - POST /tripadvisor/v1/detail — Full profile for one Tripadvisor hotel, restaurant or attraction by page URL: overall rating, total reviews, ranking, price level, the per-star rating breakdown, category subratings (cleanliness / service / value / location / food / atmosphere), amenities, cuisines, address, coordinates and phone. (params: url*; 2 credits) - POST /tripadvisor/v1/search — Find Tripadvisor places (hotels, restaurants, attractions) and destinations by name — the typeahead the site's own search box uses. Returns the matching location IDs + page URLs to feed into `reviews` or `detail`. (params: query*; 1 credit) - [Trustpilot API — company reviews, TrustScore, profile details, review filters, category browsing, and consumer profiles from Trustpilot.com](https://reefapi.com/docs/trustpilot): 12 endpoints — Get a company's Trustpilot reviews and its full profile from trustpilot.com — TrustScore, star rating, total review count, 5-to-1-star rating distribution, business categories, and every review with rating, title, text, date, verified status, likes and the company's reply. Newest first; optionally filter by star rating. · full AI-ready doc: https://reefapi.com/docs/trustpilot.md - POST /trustpilot/v1/company/reviews — Get a company's Trustpilot reviews and its full profile from trustpilot.com — TrustScore, star rating, total review count, 5-to-1-star rating distribution, business categories, and every review with rating, title, text, date, verified status, likes and the company's reply. Newest first; optionally filter by star rating. (params: company*, maxReviews, includeCompany, sort, date_posted, rating, verified, with_replies, query, languages, page, locale; 1 credit) - POST /trustpilot/v1/company/details — The full Trustpilot company profile WITHOUT reviews (cheaper than company/reviews when you only need the listing) → TrustScore, star rating, total reviews (and last-12-months), 5-to-1-star distribution, category rankings (e.g. #2 of 26 in Bank), contact info (address, phone, website, email), how the business replies to reviews (reply rate + average days), business verification, claimed/closed status, what customers talk about most (AI topic summaries), the AI review summary and the company description. By company domain. (params: company*, locale; 1 credit) - POST /trustpilot/v1/category/browse — List the companies in a Trustpilot category (20/page) → each company's name, domain, TrustScore, review count and location. Filter by country, minimum TrustScore and claimed status, and sort by recently-reviewed. Also returns the category's size and subcategories, plus the newest companies and the recently-reviewed companies in that category — all in one call. (params: categoryId*, page, cursor, locale, sort, country, min_rating, claimed; 1 credit) - POST /trustpilot/v1/category/companies — List the companies in a Trustpilot category (20/page), ranked → each company's name, domain, TrustScore, review count, categories and location. Filter by country, minimum TrustScore and claimed status. Paginate with page. (params: categoryId*, page, locale, sort, country, min_rating, claimed; 1 credit) - POST /trustpilot/v1/category/recently-reviewed — The companies in a Trustpilot category that were reviewed most recently → name, domain, TrustScore, review count and location. (params: categoryId*, locale; 1 credit) - POST /trustpilot/v1/category/newest — The newest companies added to a Trustpilot category → name, domain, TrustScore, review count and location. (params: categoryId*, locale; 1 credit) - POST /trustpilot/v1/category/details — Details of a Trustpilot category → its display name, the number of businesses in it, and its subcategories. (params: categoryId*, locale; 1 credit) - POST /trustpilot/v1/category/search — Search Trustpilot categories by keyword → matching categories with their id and display name (feed a categoryId into category/companies). (params: query*, locale; 1 credit) - POST /trustpilot/v1/company/search — Search Trustpilot for companies by name (10 matches/page) → each match's name, domain, TrustScore, star rating, review count, categories and location. Filter by minimum TrustScore and minimum review count. Also returns matching categories. (params: query*, page, cursor, min_rating, min_review_count, locale; 1 credit) - POST /trustpilot/v1/consumer/details — A Trustpilot consumer's public profile → display name, country, number of reviews written, and review statistics. By consumer id. (params: consumer_id*, locale; 1 credit) - POST /trustpilot/v1/consumer/reviews — Every review a Trustpilot consumer has written across all companies → each review's company, rating, title, text and date. Paginate with page. (params: consumer_id*, page, cursor, locale; 1 credit) - POST /trustpilot/v1/reviewer/profile — Alias of consumer/details + consumer/reviews: a reviewer's profile AND every review they have written. By consumer id. (params: consumer_id*, page, cursor, locale; 1 credit) - [TrustRadius API — B2B software reviews, ratings & product profiles from trustradius.com and GetApp](https://reefapi.com/docs/trustradius): 3 endpoints — Fetch verified user reviews and ratings for a B2B software product from TrustRadius (up to 639 reviews with full verbatim text, reviewer job title, company industry and size) or GetApp. Filter by public-only or include all review visibility levels. · full AI-ready doc: https://reefapi.com/docs/trustradius.md - POST /trustradius/v1/product/reviews — Fetch verified user reviews and ratings for a B2B software product from TrustRadius (up to 639 reviews with full verbatim text, reviewer job title, company industry and size) or GetApp. Filter by public-only or include all review visibility levels. (params: product_slug*, source, skip, limit, fetch_all, include_non_public, category_path; 1 credit) - POST /trustradius/v1/product/detail — product metadata (name, description, rating, category) (params: product_slug*, source, category_path; 1 credit) - POST /trustradius/v1/product/resolve — resolve a TrustRadius/GetApp/Capterra/G2 URL → source + slug (params: url*; 0 credit) - [Yandex Maps API — place search, business detail and reviews scraper: name, address, phone, website, rating, review count, categories, coordinates and opening hours from Yandex Maps (yandex.com.tr) across Turkey, Russia and the CIS — plus paginated customer reviews, geo-anchored nearby search and address geocoding, no API key required](https://reefapi.com/docs/yandex-maps): 5 endpoints — Search Yandex Maps for businesses by text/category. Returns up to ~25 orgs with name, address, coordinates, rating, review count, categories, phone, website, social links and opening hours. · full AI-ready doc: https://reefapi.com/docs/yandex-maps.md - POST /yandex-maps/v1/search — Search Yandex Maps for businesses by text/category. Returns up to ~25 orgs with name, address, coordinates, rating, review count, categories, phone, website, social links and opening hours. (params: text*, city, region_id, ll, z; 1 credit) - POST /yandex-maps/v1/detail — Full business card for one org by org_id (or a Yandex Maps org URL): name, address, coordinates, rating, categories, phones, website, social links, opening hours, features and photo count. (params: org_id, url; 1 credit) - POST /yandex-maps/v1/reviews — Paginated public customer reviews for an org: author handle, level, star rating, text, date and the business's reply. 50 reviews per page — page with `page`; meta.total_pages / meta.review_count tell you how many. (params: org_id*, page; 1 credit) - POST /yandex-maps/v1/nearby — Find businesses of a category around a coordinate. Returns geo-anchored orgs (same shape as search) closest to the given 'lon,lat' center. (params: ll*, text*, z; 1 credit) - POST /yandex-maps/v1/geocode — Geocode an address/place name to coordinates via Yandex. Returns the matched toponym with latitude/longitude and a normalized address. Pass a complete address; Yandex resolves it directly (don't over-qualify a place already named). (params: address*; 1 credit) - [Yellow Pages API — US local business directory scraper: search businesses by category and city, get full business details (name, phone, address, website, rating, reviews, opening hours, years in business, categories and services) and browse any category in any US city from yellowpages.com, no API key required](https://reefapi.com/docs/yellowpages): 3 endpoints — Search the Yellow Pages business directory by category/keyword and US location. Returns up to 30 businesses per page with name, phone, address, categories, star rating, review count, years in business, a 'From Business' snippet and the detail URL. Paginate with `page`; meta.total_results gives the full match count. · full AI-ready doc: https://reefapi.com/docs/yellowpages.md - POST /yellowpages/v1/search — Search the Yellow Pages business directory by category/keyword and US location. Returns up to 30 businesses per page with name, phone, address, categories, star rating, review count, years in business, a 'From Business' snippet and the detail URL. Paginate with `page`; meta.total_results gives the full match count. (params: search_terms*, geo_location_terms*, page; 1 credit) - POST /yellowpages/v1/detail — Full business profile from a Yellow Pages detail URL (the `url` of a search result): name, description, full address, geo coordinates, phone, website, email, rating + review count, years in business / founding year, payment methods, languages, opening hours, the list of services offered and recent customer reviews. (params: url*; 1 credit) - POST /yellowpages/v1/category — Browse every business in a Yellow Pages category for a US city — e.g. all restaurants in Chicago, all dentists in Miami. Same business fields as search, paginated. Use this when you want a city-wide category list rather than a keyword search. (params: category*, location*, page; 1 credit) - [Yelp API scraper — business search, reviews, ratings, business data (price, phone, hours, amenities, photos), menus and popular dishes from yelp.com](https://reefapi.com/docs/yelp): 9 endpoints — Fetch all reviews (with full pagination — newest, oldest, highest rated or elite first) plus the complete Yelp business profile — rating, review count, categories, price, phone, address, hours, amenities and photos. Accepts up to 39 businesses per call via their Yelp business ID. · full AI-ready doc: https://reefapi.com/docs/yelp.md - POST /yelp/v1/business/reviews — Fetch all reviews (with full pagination — newest, oldest, highest rated or elite first) plus the complete Yelp business profile — rating, review count, categories, price, phone, address, hours, amenities and photos. Accepts up to 39 businesses per call via their Yelp business ID. (params: encBizIds*, maxReviews, sortBy, ratings, language, includeDetail, includeNotRecommended, reviewsPerPage; 1 credit) - POST /yelp/v1/business/details — Get the full Yelp business profile without reviews — name, categories, star rating, review count, price level, phone, full address, coordinates, hours, amenities and photo. Faster and cheaper than business/reviews when you only need the listing. Accepts up to 39 businesses per call via their Yelp business ID. (params: encBizIds*, includePii; 1 credit) - POST /yelp/v1/search — Search Yelp by keyword or category in a location — just like typing 'Pizza in San Francisco, CA' on the Yelp website — with the same filters the site offers (price, rating, open-now, sort order and feature attributes). Returns a ranked list of businesses, each with its Yelp business ID, name, Yelp URL, star rating, review count, price level, categories, address and photo. Pass the business ID directly into business/reviews or business/details. Paginate with the offset parameter. (params: term*, location*, limit, offset, sort_by, price, open_now, min_rating, attributes; 1 credit) - POST /yelp/v1/popular_dishes — Get a restaurant's popular dishes from Yelp — the 'Popular dishes' section shown on the Yelp business page — returning each dish's name and photo. Identify the restaurant by its Yelp business URL, its Yelp business ID (from the search or business details actions), or its Yelp slug. Restaurant pages only; returns an empty list when Yelp shows no popular dishes for that restaurant. (params: business_url, business_id, slug, limit; 1 credit) - POST /yelp/v1/menus — Get a restaurant's menu from Yelp when Yelp hosts it — returning menu sections with each item's name, description, price and photo. Identify the restaurant by its Yelp business URL, Yelp business ID, or slug. Only menus hosted on Yelp are returned; many restaurants link to an external menu, which Yelp has no structured data for — `menu_available` is false in those cases. (params: business_url, business_id, slug; 1 credit) - POST /yelp/v1/business/photos — Get a Yelp business's photos — the images shown on its Yelp page, with captions and categories (food, menu, interior, etc.) where Yelp provides them. Identify the business by its Yelp business URL, Yelp business ID, or slug. (params: business_url, business_id, slug, limit; 1 credit) - POST /yelp/v1/review_highlights — Get a Yelp business's review highlights — the recurring phrases reviewers mention (e.g. 'happy hour', 'great service'), each with a sample snippet from a real review. A fast at-a-glance read on what the business is known for. Identify the business by its Yelp business URL, Yelp business ID, or slug. (params: business_url, business_id, slug, limit; 1 credit) - POST /yelp/v1/business/url-to-id — Convert any yelp.com/biz/… business page URL into the Yelp business ID used by business/details, business/reviews, popular_dishes and menus. (params: business_url*; 1 credit) - POST /yelp/v1/business/search — Find a Yelp business by name (plus optional location) and return its Yelp business ID, name and Yelp URL. Pass the business ID straight into business/reviews or business/details. No Yelp account required. (params: name*, location, limit, resolveAll; 1 credit) ## E-commerce & Marketplaces - [AliExpress API — product search, full product detail (SKU/variant prices, specs, images), buyer reviews, shipping rates, store catalogs and deals (region- and currency-aware)](https://reefapi.com/docs/aliexpress): 8 endpoints — Product search cards (price, sold_count, rating, store); filters sort/min_price/max_price/ship_from/free_shipping, paginated · full AI-ready doc: https://reefapi.com/docs/aliexpress.md - POST /aliexpress/v1/search — Product search cards (price, sold_count, rating, store); filters sort/min_price/max_price/ship_from/free_shipping, paginated (params: query, country, currency, page, max_pages, max_results, sort, min_price, max_price, ship_from, free_shipping; 1 credit) - POST /aliexpress/v1/product_detail — Full product + SKU-variant price/stock matrix + specs + images + video + store + shipping + rating + coupons + sale countdown + wishlist counts + item weight where the seller published one (empty when they did not — never guessed) (params: product_id, url, country, currency, language, province, city; 2 credits) - POST /aliexpress/v1/reviews — Buyer reviews (paginated — fetch many pages in one call) + rating distribution (params: product_id, url, page, max_pages, max_results, page_size, filter, review_sort, country, currency; 1 credit) - POST /aliexpress/v1/similar — Products similar to a given item (search-backed 'more like this', seed product excluded), paginated (params: product_id, url, query, page, max_pages, max_results, sort, country, currency; 1 credit) - POST /aliexpress/v1/description — Full product description text + images (params: product_id, url, description_url, country, currency; 1 credit) - POST /aliexpress/v1/shipping — Shipping options per destination country (params: product_id, url, country, currency, language, province, city; 1 credit) - POST /aliexpress/v1/store_info — Store profile (+ live seller metrics when a query is supplied) (params: store_id, store_url, query, country, currency; 1 credit) - POST /aliexpress/v1/deals — SuperDeals / discounted cards (search-derived, sorted by discount) (params: query*, min_discount, sort, page, max_pages, max_results, country, currency; 1 credit) - [Allegro API scraper — search Poland's #1 marketplace (allegro.pl): listings with price, condition, delivery & category filters, offer/product detail, category browse, related offers and a seller's full catalogue. Prices in PLN, results paginated.](https://reefapi.com/docs/allegro): 5 endpoints — Search Allegro by keyword — returns offer cards with title, price (PLN), delivery cost, seller, rating, photos and offer URL. Supports price range, condition, free-delivery, sort and category filters, with page pagination. · full AI-ready doc: https://reefapi.com/docs/allegro.md - POST /allegro/v1/search — Search Allegro by keyword — returns offer cards with title, price (PLN), delivery cost, seller, rating, photos and offer URL. Supports price range, condition, free-delivery, sort and category filters, with page pagination. (params: query*, max_pages, sort, min_price, max_price, condition, free_delivery, category; 2 credits) - POST /allegro/v1/category — Browse an Allegro category without a keyword (the /kategoria/ grid) — discover popular offers in a category. Supports price/condition/free-delivery/sort filters and page pagination. (params: category*, max_pages, sort, min_price, max_price, condition, free_delivery; 2 credits) - POST /allegro/v1/offer — Single Allegro offer/product detail by id or URL — title, price (PLN), main image and gallery, seller handle, and description. (params: offer_id, offer_url, url; 2 credits) - POST /allegro/v1/seller_offers — A seller's public active listings, paginated — every offer a seller (shop) has live. Provide the seller login (handle from a seller URL / a search result's seller.login). (params: seller*, max_pages, sort; 2 credits) - POST /allegro/v1/suggested — Related/recommended Allegro offers for a keyword — a quick set of relevant offers (the first result page) useful for 'more like this' / market discovery. (params: query*; 2 credits) - [Amazon Product Data API — product detail, reviews, offers, search, best-sellers, and seller data across 19 Amazon marketplaces (amazon.com, .co.uk, .de, .co.jp and more)](https://reefapi.com/docs/amazon): 15 endpoints — full product page (title/price/currency/rating/count/brand/features/images/categories/variations/tech-specs/A+content/compare-similar) + top-8 inline reviews, by ASIN · full AI-ready doc: https://reefapi.com/docs/amazon.md - POST /amazon/v1/product/detail — full product page (title/price/currency/rating/count/brand/features/images/categories/variations/tech-specs/A+content/compare-similar) + top-8 inline reviews, by ASIN (params: asin*, marketplace, include_reviews, fields, exclude; 2 credits) - POST /amazon/v1/product/reviews — Amazon product reviews by ASIN — the public reviews from the product page (and optionally merged + deduped across several marketplaces for more depth). Each review has author, rating, title, date, body, verified badge and helpful votes. (params: asin*, marketplace, marketplaces; 1 credit) - POST /amazon/v1/product/offers — pinned buybox + all-offers (AOD aodAjaxMain): price/seller/condition/ships_from/delivery/prime, by ASIN (params: asin*, marketplace; 2 credits) - POST /amazon/v1/search — product search with optional filters (price range, minimum rating, deals, brand) → results[]{asin,title,price,currency,rating,rating_count,image,sponsored} (params: query*, marketplace, page, max_results, sort, price_min, price_max, min_rating, deals, discount, prime, brand, brand_exact; 1 credit) - POST /amazon/v1/products_batch — Look up MANY Amazon products in ONE call by ASIN — up to 40 per request → each product's title, current price and currency, star rating with review count, image, and any clippable coupon or deal badge. ONE upstream request serves the whole list (not one per ASIN), so this is the cheap way to refresh a price list or reconcile a catalogue against Amazon. IMPORTANT — this returns the SUMMARY card for each product, which is what Amazon publishes on a multi-product surface. For features, technical specifications, variations, barcodes, A+ content or reviews, use product/detail, which reads the full product page and costs one call per ASIN. (params: asins*, marketplace; 10 credits) - POST /amazon/v1/category/browse — Browse a department or sub-department by its Amazon browse NODE id and page through the grid — the catalogue-walking counterpart to `search`, for when you want everything in a category rather than everything matching a phrase. Node ids come from a category URL (the number after `node=` / `n%3A`). Pagination is page-native: keep asking for the next page while `has_next` is true; an empty page means you reached the end. There is deliberately NO total count — Amazon's own result-count value swings between identical requests, so publishing it would hand you a number you cannot rely on. (params: node*, marketplace, page; 1 credit) - POST /amazon/v1/bestsellers — best-sellers ranking for a department (category slug required) (params: category*, marketplace, max_results; 1 credit) - POST /amazon/v1/new-releases — new-releases ranking for a department (category slug required) (params: category*, marketplace, max_results; 1 credit) - POST /amazon/v1/seller/profile — seller profile (name, feedback %, lifetime ratings, rating) (params: seller_id*, marketplace; 1 credit) - POST /amazon/v1/autocomplete — search autocomplete suggestions (params: query*, marketplace; 0 credit) - POST /amazon/v1/seller/products — a seller's catalog/storefront by seller_id (paginated) (params: seller_id*, marketplace, page; 1 credit) - POST /amazon/v1/seller/reviews — seller FEEDBACK reviews (rating/text/rater/date) by seller_id (params: seller_id*, marketplace; 1 credit) - POST /amazon/v1/deals — Amazon deal-products (today's deals / goldbox): asin/title/price/image (params: marketplace; 1 credit) - POST /amazon/v1/product/related — Amazon related & recommended products by ASIN — the product-recommendation carousels from the Amazon product page grouped by relationship: 'Customers who viewed this item also viewed', 'Customers also bought', 'Products related to this item' and 'Frequently bought together'. Each recommended product comes with its ASIN, title, price, star rating and image — ideal for building 'you may also like' / cross-sell feeds. (params: asin*, marketplace; 1 credit) - POST /amazon/v1/gtin-to-asin — Amazon barcode lookup — convert a product barcode (UPC, EAN, ISBN or GTIN) into the matching Amazon ASIN(s). Pass the 8-14 digit code from a physical product and get back the Amazon listing(s) it maps to (ASIN, title, price, rating, image) — for catalog matching, price checks and reconciling SKUs to Amazon products. (params: gtin, marketplace; 1 credit) - [ASOS API scraper — product search, filters, sale & new-in browse, multi-region product detail (sizes/stock/prices), reviews & similar items across UK, US, DE, FR and global markets (asos.com)](https://reefapi.com/docs/asos): 11 endpoints — Keyword product search across the ASOS catalogue with filters (price, brand, colour, size, product type, sale, new-in, discount), sorting and offset/limit pagination. · full AI-ready doc: https://reefapi.com/docs/asos.md - POST /asos/v1/search — Keyword product search across the ASOS catalogue with filters (price, brand, colour, size, product type, sale, new-in, discount), sorting and offset/limit pagination. (params: query*, store, lang, currency, country, offset, limit, sort, min_price, max_price, brand, colour, color, size, product_type, on_sale, new_in_within, discount, channel, key_store_dataversion; 1 credit) - POST /asos/v1/category — Browse all products in a category by category_id, with the same filters, sorting and pagination as search. Get category ids from the 'navigation' action. (params: category_id*, store, lang, currency, country, offset, limit, sort, min_price, max_price, brand, colour, color, size, product_type, on_sale, new_in_within, discount, channel; 1 credit) - POST /asos/v1/sale — On-sale / marked-down products only. Provide a keyword (query) or a category_id; supports the same filters, sort and pagination as search. (params: query, category_id, store, lang, currency, country, offset, limit, sort, min_price, max_price, brand, colour, color, size, product_type, discount; 1 credit) - POST /asos/v1/new_in — Newest arrivals — freshness-sorted products, optionally limited to a recent window (today / last 7 / 14 / 28 days). Provide a keyword (query) or a category_id. (params: query, category_id, store, lang, currency, country, offset, limit, new_in_within, min_price, max_price, brand, colour, color, size, product_type; 1 credit) - POST /asos/v1/product — full product detail (sizes/stock/description/images) by product_id or product_url (params: product_id, product_url, store; 1 credit) - POST /asos/v1/products — batch product detail for comma-separated product_ids (params: product_ids*, store; 1 credit) - POST /asos/v1/navigation — category links from gender landing pages; format=tree returns nested path hierarchy (params: gender, store, format; 1 credit) - POST /asos/v1/reviews — product reviews + rating summary from PDP embedded ratings blob (paginated) (params: product_id, product_url, offset, limit; 1 credit) - POST /asos/v1/similar — related products via same-brand search fallback (true mightLike API is account-gated) (params: product_id, product_url, limit, store; 1 credit) - POST /asos/v1/filters — available search/category facets (brands, colours, sizes, price ranges) (params: query, category_id, store, lang, currency, country; 1 credit) - POST /asos/v1/suggestions — search autocomplete suggestions for partial query (params: query*, store, lang, currency, country; 1 credit) - [AutoTrader UK API — search used and new car listings on autotrader.co.uk with full advert detail: price, price indicator, mileage, spec, images and dealer reviews (US market: use the cars-com engine)](https://reefapi.com/docs/autotrader): 2 endpoints — UK car listings (make/model + filters, paginated); postcode defaults to a UK centroid if omitted · full AI-ready doc: https://reefapi.com/docs/autotrader.md - POST /autotrader/v1/search — UK car listings (make/model + filters, paginated); postcode defaults to a UK centroid if omitted (params: make, model, postcode, min_price, max_price, min_year, max_year, min_mileage, max_mileage, fuel, body_type, transmission, radius, page, market; 1 credit) - POST /autotrader/v1/listing_detail — Full advert (price+priceIndicator+deviation, mileage, full spec [fuel/trans/body/doors/seats/engine], description, images[], dealer+reviews+address) (params: id*, postcode, market; 1 credit) - [Best Buy API — search products, fetch product details, live prices, images, and customer reviews from BestBuy.com](https://reefapi.com/docs/bestbuy): 15 endpoints — Search Best Buy by keyword → a paginated, sortable, filterable list of products with name, brand, model, current & regular price, savings, star rating + review count, stock status, image gallery, variants, category, seller type (Best Buy itself vs a marketplace seller), and the product link. Narrow with friendly filters: brand, min_price/max_price, min_rating, condition. NOTE: the full category breadcrumb (category_path) is not published on Best Buy's result grid - grid rows carry the product_type labels instead. For the breadcrumb, use product_detail for one product or products_batch for up to 15 at a time. · full AI-ready doc: https://reefapi.com/docs/bestbuy.md - POST /bestbuy/v1/search — Search Best Buy by keyword → a paginated, sortable, filterable list of products with name, brand, model, current & regular price, savings, star rating + review count, stock status, image gallery, variants, category, seller type (Best Buy itself vs a marketplace seller), and the product link. Narrow with friendly filters: brand, min_price/max_price, min_rating, condition. NOTE: the full category breadcrumb (category_path) is not published on Best Buy's result grid - grid rows carry the product_type labels instead. For the breadcrumb, use product_detail for one product or products_batch for up to 15 at a time. (params: query*, max_results, page, sort, brand, min_price, max_price, min_rating, condition, category, include_sponsored; 2 credits) - POST /bestbuy/v1/product_detail — Get the full product card for one Best Buy item by its product number, URL, or product-id → name, brand, model, current/regular price + savings, clearance/sale flags & special offers, stock status, star rating with a 5★-to-1★ breakdown, what customers like/dislike, image gallery, color/storage/carrier variants, and the category breadcrumb. (params: sku, url; 2 credits) - POST /bestbuy/v1/products_batch — Look up MANY Best Buy products in ONE call by product number — up to 15 per request → each product's barcode (UPC), name, brand, price, rating, images, full technical specifications, shipping weight and package dimensions. Built for enriching a whole catalogue or price list at once instead of one product at a time. (params: skus*; 5 credits) - POST /bestbuy/v1/reviews — Get customer reviews for a Best Buy product → each review's star rating, title, full text, author, date, pros & cons, verified-purchase / incentivized flags, how long they've owned it, helpful-vote counts, and any customer photos. Paginated. (params: sku, url, page, page_size, sort; 1 credit) - POST /bestbuy/v1/review_summary — Get the review snapshot for a Best Buy product → average rating, total review count, verified-purchase count, the full 5★-to-1★ rating breakdown, and a 'what customers say' summary of the most-mentioned pros and cons — in a single call. (params: sku, url; 1 credit) - POST /bestbuy/v1/search_suggestions — Get Best Buy search autocomplete suggestions for a partial query → the suggested search terms (with spell-correction), just like the dropdown under the search box. (params: query*, limit; 1 credit) - POST /bestbuy/v1/popular_terms — Get Best Buy's currently trending / most-popular search terms (no input needed). (params: none; 1 credit) - POST /bestbuy/v1/price — Get the live pricing for a Best Buy product by SKU → current price, regular price, savings, clearance/sale flags and special offers (from Best Buy's pricing API). (params: sku*; 1 credit) - POST /bestbuy/v1/gifts — Get the Gift-With-Purchase offers for a Best Buy product by SKU → each promotional offer (e.g. 'Apple TV Up to 1 Month GWP') and the free gift SKUs that come with it. (params: sku*; 1 credit) - POST /bestbuy/v1/description — Get a Best Buy product's full description and complete technical specifications by SKU → the marketing description plus every spec (name/value pairs: connectivity, dimensions, features, etc.). The deep product detail that lives on the product page. (params: sku, url; 2 credits) - POST /bestbuy/v1/deals — Browse Best Buy's current deals — on-sale and clearance products site-wide, sorted by biggest discount by default → each product's name, brand, current & regular price, the amount and percent saved, star rating, stock status, image and link. Great for a 'today's best deals' / price-drop feed. (To find deals within a category, use search with sort=best_discount.) (params: sort, max_results, page, include_sponsored; 1 credit) - POST /bestbuy/v1/trending — Get Best Buy's trending-right-now search terms — what shoppers are searching for at the moment (distinct from popular_terms, which is all-time most-popular). No input needed. (params: none; 1 credit) - POST /bestbuy/v1/qa — Get the customer questions & answers for a Best Buy product → each question with its author, date, and every answer (text, author, date, helpful-vote count, and which answer was voted best). Great for pre-purchase research. Paginated. (params: sku, url, page, page_size, sort; 1 credit) - POST /bestbuy/v1/store_availability — Check whether a Best Buy product (by SKU) is available to buy for a given ZIP code (and optionally a specific store) → an available flag plus the live buy-button status (e.g. Add to Cart / Sold Out / Pre-Order). Useful for retail-arbitrage and local-stock checks. (params: sku*, zip, store_id; 1 credit) - POST /bestbuy/v1/categories — Discover the categories and filter facets available for a Best Buy keyword search → the category sub-paths (each with a category id you can browse) plus every filterable facet (Brand, Price, Customer Rating, and category-specific attributes) with their values and product counts. Use it to learn what you can filter by before calling search. (params: query*, category; 1 credit) - [bol.com API scraper - search, product detail, marketplace seller offers and category browse for bol.com, the leading online retailer in the Netherlands and Belgium. Prices in EUR, Dutch and French storefronts, no account, no browser.](https://reefapi.com/docs/bol): 4 endpoints — Search bol.com by keyword, paginated. Every row carries the product id and url, title, brand, the current price and bol's own 90-day reference price, the discount, the seller behind the buy-box (bol itself or a marketplace partner), the delivery promise, the rating and review count, the category path, the EAN when bol publishes one, and whether the row is a paid placement. The response also returns the ids of the categories the results fall into, which is what `category` takes. · full AI-ready doc: https://reefapi.com/docs/bol.md - POST /bol/v1/search — Search bol.com by keyword, paginated. Every row carries the product id and url, title, brand, the current price and bol's own 90-day reference price, the discount, the seller behind the buy-box (bol itself or a marketplace partner), the delivery promise, the rating and review count, the category path, the EAN when bol publishes one, and whether the row is a paid placement. The response also returns the ids of the categories the results fall into, which is what `category` takes. (params: query*, page, sort, market, max_rotations; 2 credits) - POST /bol/v1/product/detail — Full bol.com product by id (or by its url): title, brand, EAN and MPN, the buy-box price with bol's 90-day reference price and the discount, the seller, the delivery promise, the full image gallery, the complete specification table, the description as plain text, the category breadcrumb, the average rating and review count, and how many competing offers exist. Review TEXT is not returned - bol serves it only to a signed-in session, and this endpoint never invents it. (params: product_id*, market, max_rotations; 2 credits) - POST /bol/v1/product/offers — Every seller offering one bol.com product, with that seller's price, condition, delivery promise, shipping cost and bol seller rating - bol is a marketplace and this is the competing-offer table behind the buy-box, on bol's own price-overview page. Cheap: about 45 KB per call against 290 KB for the product page. (params: product_id*, market, max_rotations; 1 credit) - POST /bol/v1/category — Browse a bol.com category by its id, paginated - the same rich product row `search` returns, plus the category bol resolved and its breadcrumb. Category listings page far deeper than search does and their result total is exact rather than estimated. (params: category_id*, page, sort, market, max_rotations; 2 credits) - [Ceneo API scraper — Polish price comparison: search products, read the full product record, and get every merchant's offer (price, shop rating, delivery) for one product on ceneo.pl. Prices in PLN. No account, no browser.](https://reefapi.com/docs/ceneo): 3 endpoints — Search ceneo.pl by keyword and get the matching products: Ceneo product id, title, brand, image, the FROM price (the cheapest offer Ceneo knows for that product), how many shops sell it, the customer rating and review count, the category, and Ceneo's own key-parameter preview. Use the returned `product_id` with `product/offers` to get every shop's price for that product. · full AI-ready doc: https://reefapi.com/docs/ceneo.md - POST /ceneo/v1/search — Search ceneo.pl by keyword and get the matching products: Ceneo product id, title, brand, image, the FROM price (the cheapest offer Ceneo knows for that product), how many shops sell it, the customer rating and review count, the category, and Ceneo's own key-parameter preview. Use the returned `product_id` with `product/offers` to get every shop's price for that product. (params: query*, page, sort, max_rotations; 1 credit) - POST /ceneo/v1/product/detail — The full Ceneo product record by `product_id` (or product URL): title, brand, description, image gallery, the price BAND across all shops (price_min/price_max) with Ceneo's own offer count, the customer rating, the category breadcrumb and the complete technical specification, grouped exactly as Ceneo groups it. (params: product_id*, max_rotations; 1 credit) - POST /ceneo/v1/product/offers — Every shop offer for one product — the price comparison itself. For the given `product_id` you get one row per merchant: merchant name, Ceneo merchant id, merchant domain, price (numeric and formatted), the Ceneo shop rating and how many reviews it rests on, the delivery cost line, whether delivery is free, the declared dispatch time and a working offer link. Rows are ordered cheapest first. Ceneo shows only part of the list on the product page; by default this action returns the complete one. (params: product_id*, all_offers, max_rotations; 2 credits) - [Chrono24 API — luxury watch marketplace scraper: search pre-owned and new watches by brand, model or keyword with price, condition, year, movement and sort filters, plus full watch detail (reference number, movement, case material, case diameter, year, condition, dial, seller location, price and images) and brand/model browse from chrono24.com — no API key required](https://reefapi.com/docs/chrono24): 3 endpoints — Search Chrono24 by free-text keyword (brand + model + reference, e.g. 'rolex submariner', 'omega speedmaster 3861'). Optional filters: price_min/price_max, condition (new/used), movement, year, sort. Paginated (~60/page). Returns listing cards with title, price, currency, condition availability, image and url. · full AI-ready doc: https://reefapi.com/docs/chrono24.md - POST /chrono24/v1/search — Search Chrono24 by free-text keyword (brand + model + reference, e.g. 'rolex submariner', 'omega speedmaster 3861'). Optional filters: price_min/price_max, condition (new/used), movement, year, sort. Paginated (~60/page). Returns listing cards with title, price, currency, condition availability, image and url. (params: query*, page, price_min, price_max, condition, movement, year, sort; 1 credit) - POST /chrono24/v1/browse — Browse all listings for a brand (e.g. brand='rolex') or a brand+model (brand='omega', model='speedmaster'). Same filters and paginated card shape as search — the catalog-discovery surface for a whole brand or model family. (params: brand*, model, page, price_min, price_max, condition, movement, year, sort; 1 credit) - POST /chrono24/v1/detail — Full watch listing by `url` OR `listing_id`: brand, model, reference number, price, currency, condition (+ condition text), year, movement, case material, case diameter, crystal, strap material, dial, gender, jewels, power reserve, scope of delivery, seller location, delivery estimate, description and all images. (params: url, listing_id; 1 credit) - [Copart API — salvage & insurance auto-auction scraper: search live Copart lots by make, model, year, damage, title type, odometer and location, then pull full lot detail (VIN, damage, title, odometer, estimated value, current bid, sale date) and hi-res auction photos. Largest US salvage / total-loss car auction. No API key, no login required.](https://reefapi.com/docs/copart): 4 endpoints — Search live Copart auction lots by free-text `query` and/or structured filters (make, model, year or year_min/year_max, title_type, vehicle_type, damage, condition, source, odometer_min/max, yard_number). Sortable + paginated. Returns rich lot cards with damage, title, odometer, estimated value, current bid, sale date, location and thumbnail. · full AI-ready doc: https://reefapi.com/docs/copart.md - POST /copart/v1/search — Search live Copart auction lots by free-text `query` and/or structured filters (make, model, year or year_min/year_max, title_type, vehicle_type, damage, condition, source, odometer_min/max, yard_number). Sortable + paginated. Returns rich lot cards with damage, title, odometer, estimated value, current bid, sale date, location and thumbnail. (params: query, make, model, year, year_min, year_max, title_type, vehicle_type, damage, condition, source, odometer_min, odometer_max, yard_number, location, sort, page, size; 1 credit) - POST /copart/v1/lot_detail — Full detail for one lot by `lot_number`: VIN (publicly masked by Copart), make, model, trim, year, primary/secondary damage, title type & group, odometer, color, engine, fuel, drive, transmission, estimated retail value, current/high bid, sale date & time, yard location (city/state/zip/lat/long) and keys availability. (params: lot_number*; 1 credit) - POST /copart/v1/lot_images — All auction photos for one lot by `lot_number`: ordered full-size, hi-res and thumbnail image URLs for the vehicle (exterior, interior, damage, VIN plate, odometer). (params: lot_number*; 1 credit) - POST /copart/v1/yards — Live list of Copart yards / locations you can filter `search` by, each with its yard_number and current lot count. Lifted from the live search facet taxonomy — use a yard_number with search's `yard_number` filter to scope to one location. (params: query; 1 credit) - [Coupang API scraper - live keyword search and product lookup for coupang.com, South Korea's largest e-commerce marketplace. Prices in KRW with the list price and discount behind them, rocket-delivery filter, ratings and review counts, delivery ETA. No account, no browser.](https://reefapi.com/docs/coupang): 2 endpoints — Search Coupang by keyword, in Korean or English, optionally narrowed by price range and to Coupang's own rocket-delivery inventory, and sorted by price, recency or sales. Every row carries the item and product ids, the product url, the title, the price as a number in KRW with the formatted string beside it, the list price and the discount percentage where Coupang shows one, the rating and review count on almost every row (99.0% of 420 measured rows; a brand-new listing has neither), whether it is in stock, the promised delivery date, the shipping terms where Coupang states them (94.0% of the same 420 rows), and whether the row is a sponsored placement. 🔴 ONE PAGE ONLY: Coupang's search route serves up to 60 rows and its own pagination is broken (page 2 comes back empty and offset silently repeats page 1), so there is no page parameter and no way past 60 - narrow the keyword or the price range instead. 🔴 Coupang never answers a search with an empty page: a keyword it cannot match is answered with 60 unrelated recommendations and Coupang publishes no flag saying so, so this endpoint derives one - see `possible_no_match`. 🔴 One product id can appear on several rows: Coupang lists each sellable variant (pack size, colour) as its own row at its own price, so `item_id` is the unique key, not `product_id`. · full AI-ready doc: https://reefapi.com/docs/coupang.md - POST /coupang/v1/search — Search Coupang by keyword, in Korean or English, optionally narrowed by price range and to Coupang's own rocket-delivery inventory, and sorted by price, recency or sales. Every row carries the item and product ids, the product url, the title, the price as a number in KRW with the formatted string beside it, the list price and the discount percentage where Coupang shows one, the rating and review count on almost every row (99.0% of 420 measured rows; a brand-new listing has neither), whether it is in stock, the promised delivery date, the shipping terms where Coupang states them (94.0% of the same 420 rows), and whether the row is a sponsored placement. 🔴 ONE PAGE ONLY: Coupang's search route serves up to 60 rows and its own pagination is broken (page 2 comes back empty and offset silently repeats page 1), so there is no page parameter and no way past 60 - narrow the keyword or the price range instead. 🔴 Coupang never answers a search with an empty page: a keyword it cannot match is answered with 60 unrelated recommendations and Coupang publishes no flag saying so, so this endpoint derives one - see `possible_no_match`. 🔴 One product id can appear on several rows: Coupang lists each sellable variant (pack size, colour) as its own row at its own price, so `item_id` is the unique key, not `product_id`. (params: query*, sort, price_min, price_max, rocket_delivery, max_rotations; 1 credit) - POST /coupang/v1/product — Look up ONE Coupang product by id - search-grade fields. 🔴 Read this before you call it: Coupang's product-detail page is closed to unauthenticated clients, so this action answers by asking Coupang's own search index for the id. That means you get exactly the fields a search card carries, complete and correct, and NOT a full product record. You DO get: the title, the price as a number in KRW, the list price and discount, the currency, whether it is in stock, the rating and review count, the thumbnail, the shipping terms and promised delivery date, and the item / vendor-item ids. You do NOT get: the product description, the specification table, the image gallery (one thumbnail only), the seller or vendor name, the option/variant attribute list, the stock quantity, the category path, or any review text - Coupang does not publish any of those on the surface that is open to us. 🔴 A Coupang product id covers several sellable items at DIFFERENT prices (one coffee product measured at 4 010 / 5 700 / 5 990 / 6 250 / 6 270 / 8 550 KRW for different pack sizes), so this action returns EVERY item Coupang lists under the id in `items[]` and names the one Coupang ranks first as `item` - use `items[]` if you need the cheapest or a specific pack. A dead or invented id returns NOT_FOUND rather than the recommendations Coupang backfills with. (params: product_id*, max_rotations; 1 credit) - [eBay API — search active listings, research sold prices, and fetch full item detail across 13 eBay marketplaces (no account required)](https://reefapi.com/docs/ebay): 7 endpoints — active-listing search by `query` -> results[]{item_id,title,price{value,currency},condition,buying_format,shipping,location,image,url,sold_count?,catalog_rating?}. Filters: domain(com/co.uk/de/...), page, max_results(<=240/page), sort(best_match|newly_listed|ending_soonest|price_low|price_high), condition(new|used|refurbished|open_box|for_parts), category, buy_it_now, auction. seller is item-page-only. · full AI-ready doc: https://reefapi.com/docs/ebay.md - POST /ebay/v1/search — active-listing search by `query` -> results[]{item_id,title,price{value,currency},condition,buying_format,shipping,location,image,url,sold_count?,catalog_rating?}. Filters: domain(com/co.uk/de/...), page, max_results(<=240/page), sort(best_match|newly_listed|ending_soonest|price_low|price_high), condition(new|used|refurbished|open_box|for_parts), category, buy_it_now, auction. seller is item-page-only. (params: query*, domain, page, max_results, sort, condition, category, buy_it_now, auction, price_min, price_max, free_shipping, returns_accepted, best_offer, location; 1 credit) - POST /ebay/v1/item_detail — Full eBay item detail by item_id or listing URL: title, price, list price, currency, condition, availability, brand, model, MPN, images, category path, item specifics, seller (name, feedback score, review count), shipping terms, return policy, PLUS auction fields (bids, current_bid, time_left, end_time), watchers, quantity_available/quantity_sold, best_offer flag, and multi-variation SKUs (variations[]{dimension, values[]{value, out_of_stock}}). Set include_description=1 to inline the full seller description text. (params: item_id, url, domain, include_description; 2 credits) - POST /ebay/v1/items_batch — Look up MANY eBay listings in ONE call by item number — up to 40 per request → the same full record `item_detail` returns for each one (title, price, condition, brand/model/MPN, images, category path, item specifics, seller reputation, shipping terms, return policy, auction fields, quantities). Built for enriching a price list or a competitor's catalogue in one round trip instead of one item at a time. COST, stated plainly so you can budget it: eBay publishes no batched item endpoint — every listing is its own page — so this costs ONE UPSTREAM REQUEST PER ITEM ID, exactly as if you had called item_detail N times, and it is priced that way. What you save is wall-clock, not requests: the fetches run concurrently, measured at 25.6s sequential vs 4.1s for 8 ids (6.2x). `meta.upstream_calls` always reports the true number. Anything eBay does not resolve comes back in `not_found` rather than being silently dropped, so a batch of 40 can never hide which one went missing. If you only need card-level fields (item_id, title, price, condition, shipping, image, url) there is a genuinely cheaper route that costs ONE upstream call: `search` with query `(id1,id2,id3)` — eBay's own OR syntax — measured to resolve 6 ids per call (a 7th is dropped) and to return no item specifics, seller or return policy. (params: item_ids*, domain; 2 credits) - POST /ebay/v1/seller_items — All active listings in a seller's storefront by `seller` username (eBay _ssn) -> results[]{item_id,title,price{value,currency},condition,buying_format,shipping,location,image,url}. Same card shape + filters/pagination as `search`. Use to scan a competitor's full catalog. Page-native paging via meta.pagination. (params: seller*, domain, page, max_results, sort, condition, category, price_min, price_max, free_shipping, returns_accepted, best_offer, location, buy_it_now, auction; 2 credits) - POST /ebay/v1/seller_profile — Seller reputation by `seller` username -> seller_profile{store_name, feedback_score, feedback_positive_pct, positive_pct_12mo, items_sold_display, followers_display, member_since, location, business_seller, top_rated, feedback_ratings{positive/neutral/negative:{m1,m6,m12}}}. From the public storefront + feedback pages (logged-out, no account). (params: seller*, domain; 3 credits) - POST /ebay/v1/deals — eBay Daily Deals grid (/deals) -> results[]{item_id,title,price{value,currency},was_price{value,currency},shipping,deal_badge,image,url}. Current promoted discounts site-wide for the marketplace. No query needed. (params: domain, max_results; 1 credit) - POST /ebay/v1/categories — eBay category tree / ID lookup (/n/all-categories) -> categories[]{category_id,name,slug} + groups[] (top-level departments). Pass `query` to filter by name so you can resolve a category name (e.g. 'cell phones') to the numeric ID used by search's `category` param — no need to know '9355' in advance. (params: query, domain, max_results; 1 credit) - [eMAG API scraper — search, category browse, product detail & competing-merchant offers for eMAG, the leading marketplace in Romania (emag.ro), Bulgaria (emag.bg) and Hungary (emag.hu). Prices in RON/EUR/HUF, merchant names, ratings, stock. No account, no browser.](https://reefapi.com/docs/emag): 4 endpoints — Search eMAG by keyword — paginated, sortable, and filterable by price range, brand, in-stock and minimum star rating. Every row carries the eMAG product code, title, current price with its own currency, the EU 'lowest price in the last 30 days' when eMAG publishes it, the MERCHANT selling it, stock state, rating and review count, and how many competing offers exist for the same product. `total` is eMAG's own result count for the filtered set. If eMAG redirects a keyword to one of its categories (it sends 'laptop' to its Laptops category, for example), you get that category's products and `redirected_to` tells you where it went. · full AI-ready doc: https://reefapi.com/docs/emag.md - POST /emag/v1/search — Search eMAG by keyword — paginated, sortable, and filterable by price range, brand, in-stock and minimum star rating. Every row carries the eMAG product code, title, current price with its own currency, the EU 'lowest price in the last 30 days' when eMAG publishes it, the MERCHANT selling it, stock state, rating and review count, and how many competing offers exist for the same product. `total` is eMAG's own result count for the filtered set. If eMAG redirects a keyword to one of its categories (it sends 'laptop' to its Laptops category, for example), you get that category's products and `redirected_to` tells you where it went. (params: query*, market, page, sort, price_min, price_max, brand, in_stock, min_rating, max_rotations; 2 credits) - POST /emag/v1/category — Browse an eMAG category by its slug, with the same filters as `search` — price range, brand, in-stock only, minimum star rating — plus sorting and pagination. Same row shape as `search`. This is the enumeration workhorse: use it when you want everything in a category rather than what a keyword happens to match, and `total` tells you how big the filtered set is before you page through it. (params: category*, market, page, sort, price_min, price_max, brand, in_stock, min_rating, max_rotations; 2 credits) - POST /emag/v1/product/detail — Full eMAG product by `code` or `url`: title, brand, manufacturer part number, current price and currency, the EU-mandated lowest price of the last 30 days and the manufacturer's RRP when eMAG publishes them, the discount computed from those rather than guessed, the merchant with its own rating and positive-feedback share, stock and delivery estimate, warranty and return period, the full image gallery, the description, the breadcrumb, the complete grouped specification table, and how many competing offers exist. Fields eMAG does not publish come back as null — nothing here is inferred. (params: code, url, market, max_rotations; 1 credit) - POST /emag/v1/product/offers — Every merchant selling the same product on eMAG, by `code` or `url` — the buybox offer plus each competing marketplace seller, with that seller's price. eMAG is a marketplace and publishes this set on the product page itself, so one call gives you the whole merchant table for price comparison. The buybox row is complete (seller rating, stock, delivery, warranty, return period); the competing rows carry what eMAG publishes for them — merchant name, offer id and price — and their remaining fields are null rather than filled in with the buybox's values. (params: code, url, market, max_rotations; 1 credit) - [Encar API — South Korea's #1 used-car marketplace scraper: search live Encar listings by make, model, year, price, mileage, fuel, transmission and region, then pull full car detail (price in KRW, year, mileage, fuel, transmission, color, options, inspection & accident-record status, warranty, photos and dealer firm) and browse all Korean & imported makes with live counts. No API key, no login required.](https://reefapi.com/docs/encar): 3 endpoints — Search live Encar used-car listings by structured filters: make, model, trim, car_type (domestic/imported), fuel, transmission, region, price_min/max (in 만원 = 10,000 KRW), year_min/max and mileage_min/max. Sortable + paginated. Returns rich cards with price (native 만원 + KRW), year, mileage, fuel, transmission, region, trust/condition flags, thumbnail and photos. · full AI-ready doc: https://reefapi.com/docs/encar.md - POST /encar/v1/search — Search live Encar used-car listings by structured filters: make, model, trim, car_type (domestic/imported), fuel, transmission, region, price_min/max (in 만원 = 10,000 KRW), year_min/max and mileage_min/max. Sortable + paginated. Returns rich cards with price (native 만원 + KRW), year, mileage, fuel, transmission, region, trust/condition flags, thumbnail and photos. (params: make, model, trim, car_type, fuel, transmission, region, price_min, price_max, year_min, year_max, mileage_min, mileage_max, sort, page, size; 1 credit) - POST /encar/v1/detail — Full detail for one car by `id`: price (만원 + KRW), make/model/grade (Korean + English), year, mileage, displacement, transmission, fuel, color, seats, body type, options, warranty, inspection & accident-record availability, seizing/pledge counts, VIN (when public), all photos, view count, free-text description and the selling dealer's firm. Dealer personal data (name/phone/id/address) is redacted unless include_pii is set. (params: id*; 1 credit) - POST /encar/v1/makes — Browse all Korean (domestic) and imported makes available on Encar, each with its live listing count. Use a returned make name with `search`'s `make` filter. Counts are pulled live from the search API (not a stale list). (params: car_type; 0 credit) - [Product Safety & Recall Match API — match a product by barcode or title+brand against US FDA and EU recalls, with confidence scoring and brand recall watch](https://reefapi.com/docs/enrich-recall): 3 endpoints — Resolve a product (GTIN ‖ title+brand ‖ listing_url) and match it against FDA + EU recalls with transparent confidence. recalls[] = high-confidence (brand independently matched); possible[] = lower-confidence candidates. · full AI-ready doc: https://reefapi.com/docs/enrich-recall.md - POST /enrich-recall/v1/product_match — Resolve a product (GTIN ‖ title+brand ‖ listing_url) and match it against FDA + EU recalls with transparent confidence. recalls[] = high-confidence (brand independently matched); possible[] = lower-confidence candidates. (params: gtin, title, brand, category, listing_url, max_results; 3 credits) - POST /enrich-recall/v1/brand_check — All recalls for a brand / recalling-firm (normalized passthrough of the recall engine's by_company), newest first — the seller-watch / due-diligence use case. (params: brand*, category, date_from, date_to, limit; 2 credits) - POST /enrich-recall/v1/batch — Scan up to 25 catalog products in one call (seller pre-listing audit). Each item is product_match'd; per-item ok/error + a roll-up summary. (params: items*, max_results; 2 credits) - [Online Store Intelligence API — turn a store domain into a profile: e-commerce platform (Shopify, WooCommerce, Magento and more), catalog sample, tech stack and reputation](https://reefapi.com/docs/enrich-store): 3 endpoints — store domain → platform verdict + store metadata + tech-stack + catalog sample (price/discount/stock signals) + reputation (mode-scaled depth) · full AI-ready doc: https://reefapi.com/docs/enrich-store.md - POST /enrich-store/v1/store_lookup — store domain → platform verdict + store metadata + tech-stack + catalog sample (price/discount/stock signals) + reputation (mode-scaled depth) (params: store*, mode, max_items, include_marketplace; 8 credits) - POST /enrich-store/v1/platform_detect — store domain → ecommerce platform verdict (shopify|woocommerce|magento|bigcommerce|prestashop|custom_or_unknown) from the store's own public JSON capability test + technographic fingerprint — fast, no catalog fetch (params: store*; 2 credits) - POST /enrich-store/v1/batch — look up to 5 stores in one call (basic mode, cache-first, per-store ok/error) (params: stores*; 20 credits) - [Etsy API scraper — search handmade & vintage listings, full product detail (price, variations, materials, photos), shop profiles, a shop's full paginated catalog, category browse and all customer reviews from etsy.com](https://reefapi.com/docs/etsy): 8 endpoints — Search Etsy handmade/vintage listings by keyword — returns listing cards with id, title, price, sale price, shop, image and listing URL. Supports category, price range, sort and pagination filters. · full AI-ready doc: https://reefapi.com/docs/etsy.md - POST /etsy/v1/listings/search — Search Etsy handmade/vintage listings by keyword — returns listing cards with id, title, price, sale price, shop, image and listing URL. Supports category, price range, sort and pagination filters. (params: query*, max_pages, sort, min_price, max_price, category, free_shipping; 2 credits) - POST /etsy/v1/listings/detail — Full Etsy listing detail by listing ID or URL — title, price, sale price, currency, rating, review count, favorites (demand signal), stock-left, variations, gallery images, description, tags, materials, category and shipping estimate. (params: listing_url, listing_id, url; 2 credits) - POST /etsy/v1/shops/detail — Etsy shop profile by shop slug or URL — name, total lifetime sales, location, star rating, review count, admirers (followers), active-listings count, year opened and the shop's featured listings (deduped, with title/price/image). (params: shop_url, shop_slug, url; 2 credits) - POST /etsy/v1/shops/listings — Browse a shop's full active catalog, paginated — every product the shop sells (not just the featured handful), with id, title, price, sale price, image and listing URL. Page through with max_pages to pull the whole inventory. (params: shop_url, shop_slug, url, max_pages, sort; 1 credit) - POST /etsy/v1/listings/category — Browse Etsy by category (the /c/ grid) — discover trending/popular listings in a category without a keyword. Supports sub-categories, price range, sort and pagination. (params: category*, max_pages, sort, min_price, max_price, free_shipping; 1 credit) - POST /etsy/v1/reviews/shop — Customer reviews for an Etsy shop — star rating, review text, reviewer, date, the shop's reply, buyer photos and the listing each review is about. Pass shop_slug for the full paginated review stream (about 14 reviews per page). Passing only the numeric shop_id uses Etsy's compact shop-summary feed, which returns at most 6 reviews no matter what limit you ask for. (params: shop_slug, shop_url, url, shop_id, limit, max_pages, exclude_listing_id; 1 credit) - POST /etsy/v1/reviews/listing — Customer reviews for a single Etsy listing — star rating, review text, reviewer, date, the shop's reply and buyer photos, plus the item's overall rating and total review count. Page 1 is the review panel Etsy shows on the item page (up to 4 reviews); raise max_pages to pull further reviews of this item out of the shop's review stream. (params: listing_url, listing_id, url, max_pages; 1 credit) - POST /etsy/v1/search/suggest — Etsy search autocomplete — keyword suggestions for a partial query (no account required). (params: query*, limit; 1 credit) - [Flipkart API scraper — India's largest e-commerce marketplace (flipkart.com): product search with full filters, product detail (price/specs/variants/offers), buyer reviews, categories, sellers, similar products, available filters and autocomplete](https://reefapi.com/docs/flipkart): 12 endpoints — Flipkart product search with filters — keyword search returning product cards (title/price/mrp/discount/rating/image/url) plus the total result count, paginated. Filter by brand, price range, minimum rating, minimum discount, F-Assured and any category facet (use the `filters` action to discover what a query supports). · full AI-ready doc: https://reefapi.com/docs/flipkart.md - POST /flipkart/v1/search — Flipkart product search with filters — keyword search returning product cards (title/price/mrp/discount/rating/image/url) plus the total result count, paginated. Filter by brand, price range, minimum rating, minimum discount, F-Assured and any category facet (use the `filters` action to discover what a query supports). (params: q*, page, sort, brand, min_price, max_price, min_rating, min_discount, f_assured, no_cost_emi, include_out_of_stock, facets; 1 credit) - POST /flipkart/v1/product — full product page facts (title/price/mrp/rating/specs/highlights/images/seller/similar) (params: url, itm_id; 1 credit) - POST /flipkart/v1/reviews — Flipkart buyer reviews for a product, paginated — each review has rating, title, body, reviewer name, location, certified-buyer badge, helpful/up/down votes and date, plus the product's total review count. Page through with meta.next_page to collect them all. (params: url, slug, itm_id, page, sort; 1 credit) - POST /flipkart/v1/category — category/browse listing cards from a Flipkart category URL/path — a `/pr?sid=…` category link, a `~cs-…` curated collection, or a store/hub page such as /mobiles or /mobile-phones-store (params: url, path, page; 1 credit) - POST /flipkart/v1/browse — Alias of the `category` action — browse/listing cards from a Flipkart category URL or site-relative path. (browse needs url OR path.) (params: url, path, page; 1 credit) - POST /flipkart/v1/similar — similar/related products from a product page reco widgets (params: url, itm_id, product_id; 1 credit) - POST /flipkart/v1/seller — Who sells a product: seller id, fulfilment and availability, resolved from a product URL — plus storefront catalog cards when a storefront path is supplied. Start with `product_url` (the live-verified route); Flipkart has no public /seller/ storefront, so a bare `seller_id` returns metadata only. (params: product_url, url, seller_id, seller_path, seller_url, product_id, page; 1 credit) - POST /flipkart/v1/autocomplete — search autosuggest suggestions for a partial query (params: q*; 1 credit) - POST /flipkart/v1/categories — top-level navigation/category links from homepage state (params: none; 1 credit) - POST /flipkart/v1/variants — Product variants (the sibling SKUs — color/storage/size) each with its OWN price, stock status and product URL, from the product page. (params: url, itm_id, product_id; 1 credit) - POST /flipkart/v1/filters — Available search filters (facets) for a query — every filter Flipkart offers for these results: brand, price, rating, discount, offers, availability and category-specific facets (processor, RAM, screen size, etc.), each value carrying a count and a ready-to-use filter `param`. Feed a value's `param` back into search's `facets` argument. (params: q*, brand; 1 credit) - POST /flipkart/v1/offers — Bank, EMI, exchange and cashback offers for a product (the offer strip on the product page): e.g. 'Flipkart Axis Bank Card 5% cashback', 'Exchange offer up to ₹X off', 'No Cost EMI'. Honest-empty when a product has no active offers. (params: url, itm_id; 1 credit) - [GOAT API — live sneaker & streetwear resale data scraper: product search, full catalogue detail (name, brand, SKU, colorway, designer, release date, sizes, images), GOAT display price and the live per-size resale price grid (lowest ask, condition, instant-ship) from goat.com — no API key, no login](https://reefapi.com/docs/goat): 5 endpoints — Search GOAT for products by keyword. Returns matching products (name, slug, brand image, category) plus related curated collections. Resolves the `slug`/`product_id` you feed into product_detail and prices. `limit` caps results. · full AI-ready doc: https://reefapi.com/docs/goat.md - POST /goat/v1/search — Search GOAT for products by keyword. Returns matching products (name, slug, brand image, category) plus related curated collections. Resolves the `slug`/`product_id` you feed into product_detail and prices. `limit` caps results. (params: query*, limit; 1 credit) - POST /goat/v1/suggest — Autocomplete suggestions for a partial query — quick product + collection name matches as the customer types. Lighter than search. (params: query*; 1 credit) - POST /goat/v1/product_detail — Full catalogue record for one product by `slug` / `url` / `product_id`: name, nickname, brand, SKU, colorway, designer, gender, silhouette, release date, season, materials, size range, taxonomy, images, the GOAT display price and the offer floor/ceiling. Pair with `prices` for the live per-size resale grid. (params: slug, url, product_id; 1 credit) - POST /goat/v1/prices — Live per-size resale price grid for a product (the market-data moat). For each size of the given `condition` it returns the lowest live ask + listing count, plus the cheapest listing overall. Accepts `slug`/`url`/`product_id`. `condition` (used/new_no_defects), `country` set the market. Optional `size` narrows to one size (returns every live listing for it). Honest-empty when nothing is listed. (params: slug, url, product_id, condition, country, size; 1 credit) - POST /goat/v1/related — Products related to one product by `slug`/`url`: GOAT's recommended products plus the brand / category / silhouette grids GOAT surfaces on the page. Catalogue discovery from any starting product. (params: slug, url; 1 credit) - [Grailed API scraper — curated menswear, streetwear & archive-fashion resale data from grailed.com: search listings with price/size/designer/category/condition filters, full listing detail (description, measurements, photos, seller), SOLD comps for price history, designer & seller storefront listings — no API key required](https://reefapi.com/docs/grailed): 6 endpoints — Search Grailed listings by keyword + filters (designer, category, size, color, condition, department, strata, location, price band) with sorting and pagination. Returns live listings with price, size, condition, designer, photos and a seller summary. The catalog-discovery surface. · full AI-ready doc: https://reefapi.com/docs/grailed.md - POST /grailed/v1/search — Search Grailed listings by keyword + filters (designer, category, size, color, condition, department, strata, location, price band) with sorting and pagination. Returns live listings with price, size, condition, designer, photos and a seller summary. The catalog-discovery surface. (params: query, designer, category, category_path, department, size, color, condition, strata, location, price_from, price_to, sort, page, per_page; 1 credit) - POST /grailed/v1/listing_detail — Full detail for one listing by `id` or `url`: title, description, price, size (pretty + exact), condition, color, category, all photos, measurements, traits, shipping table, designers, sold price, and a seller summary. (params: id, url; 1 credit) - POST /grailed/v1/sold_listings — Search SOLD listings (resale comps) by keyword + the same filters as search. Each result carries its sold_price and sold_at — the price-history / market-value moat for valuing menswear, streetwear and archive pieces. (params: query, designer, category, department, size, color, condition, strata, price_from, price_to, sort, page, per_page; 1 credit) - POST /grailed/v1/seller_listings — All active listings from one seller's storefront by `seller_id`. Same listing shape as search; paginated. Resolve a seller_id from any search/detail result's seller.id. (params: seller_id*, query, category, designer, sort, page, per_page; 1 credit) - POST /grailed/v1/designers — Search Grailed's designer/brand directory by name → id, slug, listings_count, logo and departments. Use the returned exact `name` to filter search/sold_listings by designer, and the `slug` for the `designer_detail` action. (params: query*, page, per_page; 1 credit) - POST /grailed/v1/designer_detail — Designer/brand profile by `slug`: id, title, description, follower count and the exact name to use as a designer filter. (params: slug*; 1 credit) - [Gumtree UK Classifieds API scraper — search listings & adverts, browse the full category tree, read category/location filters, get rich advert detail, similar listings and keyword suggestions from gumtree.com (cars, property, jobs, for-sale, pets and more). No account needed; seller PII redacted.](https://reefapi.com/docs/gumtree): 6 endpoints — Search Gumtree UK adverts and return paginated listing cards — title, price, location, posted date, images, seller type and attributes. Filter by keyword, area/postcode, category slug, price range, search radius and seller type; sort by newest, price or distance. Fetches up to 50 pages (~1,500 adverts) per call with automatic de-duplication, or pass a full Gumtree search URL. · full AI-ready doc: https://reefapi.com/docs/gumtree.md - POST /gumtree/v1/search — Search Gumtree UK adverts and return paginated listing cards — title, price, location, posted date, images, seller type and attributes. Filter by keyword, area/postcode, category slug, price range, search radius and seller type; sort by newest, price or distance. Fetches up to 50 pages (~1,500 adverts) per call with automatic de-duplication, or pass a full Gumtree search URL. (params: market, query, location, category, url, sort, min_price, max_price, distance, seller_type, featured_only, with_photos, max_pages, include_pii; 1 credit) - POST /gumtree/v1/listing_detail — Full advert detail by listing `url` OR numeric `id`: title, full description, price, all photos, every attribute (mileage, year, bedrooms, condition…), map coordinates, location/postcode, category breadcrumbs and the public seller profile (display name, rating, total adverts, ads per category, member-since). (params: market, url, id, include_pii; 1 credit) - POST /gumtree/v1/similar — Related / similar adverts for a given listing (by `url` or `id`) — Gumtree's own 'you might also like' recommendations as clean listing cards. (params: market, url, id, include_pii; 1 credit) - POST /gumtree/v1/categories — Gumtree's full browse tree — the top-level categories (Motors, For Sale, Property, Jobs, Pets, Services, Community) and their sub-categories with slugs and paths. Use the slugs as the `category` parameter of search / filters. (params: market; 1 credit) - POST /gumtree/v1/filters — Available filters & facets for a category and/or location: selectable sub-categories (with live advert counts), area / postcode facets (with counts), sort options, search-radius options and the price filter. Lets a caller discover valid category slugs, location values and result sizes before searching. (params: market, category, location, query; 1 credit) - POST /gumtree/v1/suggestions — Keyword suggestions & spelling corrections for a search term — Gumtree's 'did you mean' / related-keyword surface, useful for query expansion and autocomplete-style discovery. (params: query*, market, location, category; 1 credit) - [Hepsiburada API scraper — product detail, search, reviews, offers, categories & sellers on Turkey's leading marketplace (hepsiburada.com), prices in TRY](https://reefapi.com/docs/hepsiburada): 6 endpoints — Full Hepsiburada product details by `url` or HB code (`sku`): title, brand, price, discount, images, rating, stock, seller (merchant), category, specifications, variants, top reviews, coupon/campaign badges, and all other_offers (every merchant selling the same product). · full AI-ready doc: https://reefapi.com/docs/hepsiburada.md - POST /hepsiburada/v1/product/detail — Full Hepsiburada product details by `url` or HB code (`sku`): title, brand, price, discount, images, rating, stock, seller (merchant), category, specifications, variants, top reviews, coupon/campaign badges, and all other_offers (every merchant selling the same product). (params: url, sku, max_rotations; 2 credits) - POST /hepsiburada/v1/product/reviews — Paginated customer reviews for a product by `sku` or `url`, in the order you ask for. `sort=newest` puts the most recently written reviews first and holds that order across pages, so you can poll a product for new reviews; without `sort` Hepsiburada returns its own default order, which is not chronological. Every page carries the honest totals — how many reviews exist, the full star histogram, the average computed from it, total_pages for your page_size, and how deep Hepsiburada actually lets you page. Note that Hepsiburada mixes written reviews with star-only ratings in the same list: rows carry `type` ('review' or 'rating') and `has_text` so you can keep only the ones with text. Up to 100 reviews per page. Reviewer names are published by Hepsiburada already masked (e.g. 'Ahmet K***') and the row's gender/birth-date fields are deliberately not returned. (params: sku, url, page, page_size, sort, max_rotations; 1 credit) - POST /hepsiburada/v1/product/offers — Every merchant listing (buybox + other sellers) for a product by `sku` or `url`: compare price, seller rating, shipping and stock across all sellers of the same item. (params: sku, url, max_rotations; 1 credit) - POST /hepsiburada/v1/search — Search Hepsiburada products by keyword with optional sort and price/brand filters — returns results with SKU, title, brand, price, list price, rating, image and merchant. Results may be empty for very niche queries; try a broader keyword. (params: query*, page, sort, price_min, price_max, brand, max_rotations; 3 credits) - POST /hepsiburada/v1/category — Browse a Hepsiburada category page by its path (`category` = '-c-', e.g. 'laptop-notebook-dizustu-bilgisayarlar-c-98') with optional sort/price filters and pagination. Use it to list everything in a category, not just a keyword match. (params: category*, page, sort, price_min, price_max, brand, max_rotations; 3 credits) - POST /hepsiburada/v1/seller — Hepsiburada merchant (mağaza) profile + its product catalogue by store slug (`seller`, e.g. 'jollyshop') or full /magaza/ URL. Returns seller info (name, rating, total product count) and a paginated list of the seller's products. (params: seller*, page, sort, price_min, price_max, max_rotations; 3 credits) - [HS Code & Tariff API — HS/HTS commodity classification with official US (USITC HTS) and UK (HMRC) duty and VAT rates, plus a landed-cost estimator. Informational, not customs advice.](https://reefapi.com/docs/hs-code): 8 endpoints — One HS/HTS/commodity code + destination (US|UK) → the official tariff line: description, units, MFN duty rate (+ parsed % when ad-valorem), VAT/GST, special/preference programs, footnotes, schedule version. A 4/6-digit code resolves to its most specific rate-bearing line and lists context. · full AI-ready doc: https://reefapi.com/docs/hs-code.md - POST /hs-code/v1/hs_lookup — One HS/HTS/commodity code + destination (US|UK) → the official tariff line: description, units, MFN duty rate (+ parsed % when ad-valorem), VAT/GST, special/preference programs, footnotes, schedule version. A 4/6-digit code resolves to its most specific rate-bearing line and lists context. (params: code*, destination*; 1 credit) - POST /hs-code/v1/classify — Product description (+materials) + destination → ranked candidate HS codes with a confidence band, reason, and review_required. Candidates are SUGGESTIONS for a human/broker to confirm — low-confidence candidates are clearly marked, never shown as a settled code. (params: description*, destination*, materials, limit, min_confidence; 4 credits) - POST /hs-code/v1/landed_cost — HS code (or description → auto-classified) + destination + value (+origin, currency, shipping) → estimated duty + VAT/GST + total landed cost, with an explicit assumptions[] list and the disclaimer. A simple, honest estimate — NOT a customs quote. (params: destination*, value*, code, description, origin, currency, shipping, materials; 8 credits) - POST /hs-code/v1/schedules_status — Freshness + coverage of the underlying official schedules (US HTS revision, UK tariff reachability) — so a caller knows how current the rates are and which markets are live. (params: none; 1 credit) - POST /hs-code/v1/batch_classify — Up to 25 products in one call (discounted). Each item is classified (or looked up if a code is given) independently; one bad item never fails the batch. (params: items*, destination*, limit, min_confidence; 3 credits) - POST /hs-code/v1/browse — Navigate the tariff tree without knowing a keyword: list the 21 WCO sections, drill a section → chapters, a chapter (2-digit) → headings, a heading (4-digit) → subheadings/lines, a subheading (6-digit) → national lines. Each node returns its parent breadcrumb + children. The browse companion to keyword `classify`. (params: destination*, node; 1 credit) - POST /hs-code/v1/validate — Check whether a code is a real, current tariff code in the chosen market — structural check (4/6/8/10 digits) PLUS live existence in the schedule. A well-formed but unknown code returns valid=false with the nearest valid parent + sibling suggestions, so a caller can correct a typo'd or expired code before filing. (params: code*, destination*; 1 credit) - POST /hs-code/v1/cross_country — One 6-digit HS subheading (the WCO-international level shared by every member country) → the universal HS6 description plus the matching US (USITC HTS) and UK (HMRC) national lines side by side, with each market's duty rate. The same product, compared across the markets we cover — first 6 digits identical worldwide, national 8/10-digit detail differs. (params: hs6*; 2 credits) - [idealo.de API scraper — Germany's biggest price-comparison site. One call returns EVERY merchant offer for a product (merchant name, merchant id, price, total price including shipping, delivery window, payment methods and the merchant's idealo rating), plus keyword search, category browse and full product records with the complete German spec sheet, variants with EANs, expert test grades and user opinions. Prices in EUR. No account, no browser, no API key at idealo.](https://reefapi.com/docs/idealo): 4 endpoints — Search idealo.de by keyword and get back comparison products: id, title, image, price floor, how many merchants sell it, the cheapest merchant's name and shipping cost, the German spec highlights and idealo's expert test grade. Feed the `product_id` of any row straight into `product/offers` to get the whole merchant table. idealo renders one page of results server-side (36 rows, or 60 when sorted by price); page 2 onward is drawn in the browser by an API that refuses anonymous callers, so `has_more` is always false and the honest totals (`total_results`, `total_products`) tell you how much exists beyond it. EAN/GTIN and exact-model queries are supported and answered specially: idealo skips the result page and lands straight on the one matching product, so you get `direct_hit: true`, a single row, AND the complete product record in `product` (the same object `product/detail` returns) without a second call. · full AI-ready doc: https://reefapi.com/docs/idealo.md - POST /idealo/v1/search — Search idealo.de by keyword and get back comparison products: id, title, image, price floor, how many merchants sell it, the cheapest merchant's name and shipping cost, the German spec highlights and idealo's expert test grade. Feed the `product_id` of any row straight into `product/offers` to get the whole merchant table. idealo renders one page of results server-side (36 rows, or 60 when sorted by price); page 2 onward is drawn in the browser by an API that refuses anonymous callers, so `has_more` is always false and the honest totals (`total_results`, `total_products`) tell you how much exists beyond it. EAN/GTIN and exact-model queries are supported and answered specially: idealo skips the result page and lands straight on the one matching product, so you get `direct_hit: true`, a single row, AND the complete product record in `product` (the same object `product/detail` returns) without a second call. (params: query*, sort; 2 credits) - POST /idealo/v1/category/products — Browse a whole idealo category by its id (or URL) — the same rich rows as `search`, but enumerated from idealo's own product tree instead of a keyword. Use it to sweep a market: every headphone, every washing machine, every LEGO set, with each row's price floor and merchant count. Same one-page limit as search, and `total_products` says how large the category really is. (params: category*, sort; 2 credits) - POST /idealo/v1/product/detail — The full idealo record for one product: title, brand, the complete category path, every image, the price range across all merchants (price_min / price_max) and how many offers make it up, the new and used price floors, the entire German spec sheet as grouped label/value rows, colour and capacity variants each with their own id, EAN and price range, idealo's expert test summary (how many magazines tested it and the average German grade), the editorial pros and cons, the product FAQ, and the user opinions idealo publishes. (params: product_id*; 2 credits) - POST /idealo/v1/product/offers — THE POINT OF THIS ENGINE: every merchant selling one product, in one call. Each offer carries the merchant's name, idealo shop id and shop page, the city the shop ships from, its idealo star rating and how many ratings it has, the item price, the total price including shipping and the shipping cost derived from the two, the delivery window, which carriers deliver it, the free-return terms, the payment methods the shop accepts, and the merchant's own title for the item (which often names the exact colour variant). Sort by item price or by total price including shipping. idealo lists 20 offers per request and this action pages through them up to `max_offers`. Only NEW offers are reachable — idealo puts its used listings behind an encrypted filter token — so `price_used_from` in `product/detail` is where the used floor comes from. (params: product_id*, max_offers, sort; 1 credit) - [Made-in-China Easy Sourcing API — live B2B buying requests (RFQs) from sourcing.made-in-china.com: what importers are asking to purchase right now, in their own full text, with quantity, buyer country, post date and expiry date. Keyword search, 27 category boards, buyer-country and recency filters, real pagination — clean JSON, no login.](https://reefapi.com/docs/made-in-china): 2 endpoints — Search live buying requests posted by Made-in-China buyers — the demand side of the marketplace. Each row is a purchase someone is asking for right now: their FULL request text (this board does not truncate it), how many they want, which country they are buying from, the day they posted and the day the request expires. Filter by keyword, category, buyer country and recency; page through up to 100 requests per call. Omit `query` to browse the whole open board. · full AI-ready doc: https://reefapi.com/docs/made-in-china.md - POST /made-in-china/v1/rfq_search — Search live buying requests posted by Made-in-China buyers — the demand side of the marketplace. Each row is a purchase someone is asking for right now: their FULL request text (this board does not truncate it), how many they want, which country they are buying from, the day they posted and the day the request expires. Filter by keyword, category, buyer country and recency; page through up to 100 requests per call. Omit `query` to browse the whole open board. (params: query, category, buyer_country, posted_within, page, limit, include_expired; 1 credit) - POST /made-in-china/v1/categories — The 27 top-level sourcing categories of the buying-request board, with the ids that `rfq_search`'s `category` parameter takes. Read live from the board's own category rail, so a new or renamed category appears without a code change. (params: query; 1 credit) - [Magic Eden API — Solana NFT marketplace scraper: browse collections; collection detail, floor price, listed count and total volume stats; active NFT listings with price, rarity rank and traits; all collection tokens; single NFT / token detail and its activity history; collection activity (sales, listings, offers); per-trait floor prices; wallet holdings; popular / trending collections; and Launchpad mints — from Magic Eden (magiceden.io), no API key required](https://reefapi.com/docs/magiceden): 13 endpoints — Browse Magic Eden collections (paginated). Each: symbol, name, description, image, categories and social links. Use the returned symbol with the other actions. Offset pagination via the `page` param. · full AI-ready doc: https://reefapi.com/docs/magiceden.md - POST /magiceden/v1/collections — Browse Magic Eden collections (paginated). Each: symbol, name, description, image, categories and social links. Use the returned symbol with the other actions. Offset pagination via the `page` param. (params: page, limit; 1 credit) - POST /magiceden/v1/collection — Full collection detail by symbol: metadata (name, description, image, categories, social links) merged with live market stats — floor price (SOL), listed count, 24h average sale price and all-time volume. (params: symbol*; 1 credit) - POST /magiceden/v1/stats — Live market stats for a collection: floor price (SOL), number of NFTs currently listed, 24-hour average sale price and all-time trading volume. (params: symbol*; 1 credit) - POST /magiceden/v1/listings — Active NFT listings in a collection (NFTs currently for sale), cheapest first. Each: token mint, name, price (SOL), seller, rarity rank (Moonrank + HowRare), image and traits. Optional min/max price filter (SOL). Offset pagination via `page`. (params: symbol*, page, limit, min_price, max_price; 1 credit) - POST /magiceden/v1/tokens — All tokens (NFTs) in a collection (listed or not), paginated. Each: mint address, name, owner, image, list status, price if listed, and traits. Offset pagination via `page`. (params: symbol*, page, limit; 1 credit) - POST /magiceden/v1/token — Single NFT / token detail by its Solana mint address: name, collection, current owner, image, all traits, list status and price if listed. Get a mint address from a listings[], tokens[] or activity[] row. (params: mint_address*; 1 credit) - POST /magiceden/v1/token_activity — On-chain activity history for a single NFT by mint address: every sale, listing, delisting and bid with type, price (SOL), buyer / seller and block time. Offset pagination via `page`. (params: mint_address*, page, limit; 1 credit) - POST /magiceden/v1/activity — Recent on-chain activity for a collection: sales, listings, delistings and bids. Each event: type, price (SOL), buyer / seller, token mint and block time. Filter by event type (default: all). Offset pagination via `page`. (params: symbol*, page, limit, event_type; 1 credit) - POST /magiceden/v1/attributes — Trait floor prices for a collection — for every trait value (e.g. Background = Yellow), the floor price (SOL) and how many NFTs carry it. Useful for trait-based valuation. (params: symbol*; 1 credit) - POST /magiceden/v1/wallet — NFTs held by a Solana wallet address: each token's mint, name, collection, image, list status and price if listed. Offset pagination via `page`. (params: address*, page, limit; 1 credit) - POST /magiceden/v1/popular — Popular / trending Magic Eden collections over a time window — the marketplace leaderboard. Each: symbol, name, floor price (SOL) and all-time volume. Choose a window (1h / 1d / 7d / 30d). (params: time_range, limit; 1 credit) - POST /magiceden/v1/launchpad — Magic Eden Launchpad collections — upcoming and live primary mints. Each: symbol, name, mint price (SOL), supply size, launch datetime, chain and contract. Offset pagination via `page`. (params: page, limit; 1 credit) - POST /magiceden/v1/search — Search Magic Eden collections by free-text name. Resolves a name to its collection symbol(s): first tries an exact symbol match, then scans popular collections and collection pages for a name/symbol substring match. Returns matching collections (symbol, name, image, categories) — use the returned symbol with the other actions. (params: query*, limit; 2 credits) - [MercadoLibre API — product search, prices, deals, reviews and category browse across MercadoLibre's Latin American marketplaces (Argentina, Mexico, Brazil, Chile, Colombia and more); no API key, multi-country.](https://reefapi.com/docs/mercadolibre): 7 endpoints — Keyword product search across a MercadoLibre country site — the ranked results a shopper sees, with title, item and catalog ids, permalink, current and strike-through price in the local currency, discount, star rating, seller and official-store flag, shipping line and the listing image. Paginated (50 per page) and filterable by price, with client-side sorting. When MercadoLibre has no match for your keywords it answers with unrelated products rather than an empty page; those are detected and dropped, so an empty result here means the site genuinely has nothing for the query (meta.query_match_pct reports how well the returned rows match it). · full AI-ready doc: https://reefapi.com/docs/mercadolibre.md - POST /mercadolibre/v1/search — Keyword product search across a MercadoLibre country site — the ranked results a shopper sees, with title, item and catalog ids, permalink, current and strike-through price in the local currency, discount, star rating, seller and official-store flag, shipping line and the listing image. Paginated (50 per page) and filterable by price, with client-side sorting. When MercadoLibre has no match for your keywords it answers with unrelated products rather than an empty page; those are detected and dropped, so an empty result here means the site genuinely has nothing for the query (meta.query_match_pct reports how well the returned rows match it). (params: query*, site_id, page, max_pages, limit, min_price, max_price, sort; 3 credits) - POST /mercadolibre/v1/product_detail — Full record for one MercadoLibre product, from its item id, catalog product id or URL — title, price and currency, availability and stock line, condition, units sold, brand and colour, description, every gallery image, the full specification table, seller name and id, shipping cost, rating summary and the category path. (params: item_id*, site_id; 3 credits) - POST /mercadolibre/v1/deals — MercadoLibre's live deals feed (Ofertas del día) — discounted listing cards with current and previous price, discount %, star rating + review count, seller (+official-store flag), shipping and brand. Multi-country, paginated, optional minimum-discount filter. Note: this is the site-wide daily-deals browse — it is NOT keyword-filtered. (params: site_id, page, max_pages, min_discount, sort; 1 credit) - POST /mercadolibre/v1/category_items — Products listed in a MercadoLibre category — title, price (current/previous/discount), rating, product link and picture. Pass a category_id (it's resolved to the category's /c/ landing page). MercadoLibre puts keyword search behind a login, so browsing by category is the way to list real products for it. (params: category_id*, site_id, sort, min_price, max_price; 1 credit) - POST /mercadolibre/v1/reviews — Buyer reviews for a catalog product — full review text, rating and date, paginated to gather ALL reviews in one call + a derived star distribution and average. Works across countries. (params: product_id*, site_id, page, max_pages; 1 credit) - POST /mercadolibre/v1/suggest — Search-term autocomplete — what MercadoLibre suggests as a shopper types. (params: query*, site_id; 1 credit) - POST /mercadolibre/v1/category — Browse the MercadoLibre category tree — a category's name, total item count, full path from root and its direct child subcategories. Drill down via children[].id; use `category_items` to retrieve the products within a category. (params: category_id*; 1 credit) - [Mercari Japan API scraper - keyword search and full item detail for jp.mercari.com, Japan's largest consumer-to-consumer resale marketplace. Live prices in JPY, sold-listing comparables, seller reputation, condition and category filters. No account, no browser.](https://reefapi.com/docs/mercari): 2 endpoints — Search Mercari Japan by keyword and by any combination of category, brand, seller, price range, condition, colour, shipping terms and shipping prefecture, paginated. Every row carries the item id and url, the title, the price as a number in JPY, whether it is still on sale or already sold, the condition grade, the category id, the seller's id and profile url, the image, and when it was listed and last touched. Filter on `status: sold_out` to get the prices items actually sold at - the comparables a resale valuation is built from. Paginate by passing back the `next_page_token` from the previous response. · full AI-ready doc: https://reefapi.com/docs/mercari.md - POST /mercari/v1/search — Search Mercari Japan by keyword and by any combination of category, brand, seller, price range, condition, colour, shipping terms and shipping prefecture, paginated. Every row carries the item id and url, the title, the price as a number in JPY, whether it is still on sale or already sold, the condition grade, the category id, the seller's id and profile url, the image, and when it was listed and last touched. Filter on `status: sold_out` to get the prices items actually sold at - the comparables a resale valuation is built from. Paginate by passing back the `next_page_token` from the previous response. (params: query, exclude, category_id, brand_id, seller_id, price_min, price_max, condition, status, shipping_payer, color, shipping_from, listing_type, sort, page_size, page_token, max_rotations; 1 credit) - POST /mercari/v1/product/detail — One Mercari Japan listing in full, by id or url: title, description, the price as a number in JPY, sale status, the condition grade with Mercari's own wording for it, the named category path, brand, colours, hashtags, the full photo gallery, the shipping terms (who pays, the method, the prefecture it ships from and the seller's stated handling days), the like and comment counts, and the SELLER - name, profile url, how many items they have listed, and their rating with the good/normal/bad breakdown behind it. Mercari Shops products are accepted too and return the smaller set of fields Mercari publishes for them, with everything else null. (params: item_id*, max_rotations; 1 credit) - [Newegg Electronics API — product search, detail, customer reviews, Q&A, category listings, and deals from newegg.com (US)](https://reefapi.com/docs/newegg): 14 endpoints — Search Newegg products by keyword with page pagination, sort (price/best-selling/rating), brand/facet filter, and a price range. Return up to 360 products in one call with `max_results` (36 per page, paged for you); `page` picks where that window starts. Paid placements are flagged `sponsored: true` and can be excluded with `include_sponsored: false` · full AI-ready doc: https://reefapi.com/docs/newegg.md - POST /newegg/v1/search — Search Newegg products by keyword with page pagination, sort (price/best-selling/rating), brand/facet filter, and a price range. Return up to 360 products in one call with `max_results` (36 per page, paged for you); `page` picks where that window starts. Paid placements are flagged `sponsored: true` and can be excluded with `include_sponsored: false` (params: query*, max_results, page, sort, n_value, min_price, max_price, include_sponsored; 1 credit) - POST /newegg/v1/price — Live price and stock for ONE item — the cheap way to refresh products you already hold, without paying for the whole product page (params: item_id, url; 1 credit) - POST /newegg/v1/product — Full product detail by item_id or url — price, list price, promotion, brand, model, MPN, GTIN/UPC barcode, shipping weight and package dimensions, specifications, bullets, images, rating, stock, and marketplace seller (params: item_id, url; 1 credit) - POST /newegg/v1/reviews — Customer reviews for a Newegg product — fully paginated through ALL reviews (20/page) with rating filter and sort, plus a rating distribution summary. Returns rating, title, body, pros/cons, author, verified-purchase, helpful votes, media, and merchant replies (params: item_id*, page, rating, sort, url; 1 credit) - POST /newegg/v1/best_sellers — Top best-selling products for a keyword or category (Newegg's Best Selling sort), paginated. Same `max_results` (up to 300, 36/page) and `include_sponsored` controls as the search action (params: query, n_value, subcategory_id, subcategory_slug, max_results, page, min_price, max_price, include_sponsored; 1 credit) - POST /newegg/v1/qna — product Q&A questions and answers from PDP initial state (params: item_id*, url; 1 credit) - POST /newegg/v1/category — Browse a Newegg subcategory's product listing by subcategory_id, paginated. The slug is auto-resolved when omitted (pass subcategory_slug from category_tree to skip the lookup) (params: subcategory_id*, subcategory_slug, page; 1 credit) - POST /newegg/v1/browse — Alias of the category action — browse a subcategory's product listing, paginated (params: subcategory_id*, subcategory_slug, page; 1 credit) - POST /newegg/v1/deals — Shell Shocker daily deal items (params: page; 1 credit) - POST /newegg/v1/categories — top-level store/category nodes from homepage RolloverMenu (params: none; 1 credit) - POST /newegg/v1/filters — search facets, department navigation, and sort options for a query (params: query*, page; 1 credit) - POST /newegg/v1/similar — related product cards from a product detail page (params: item_id*, url, limit; 1 credit) - POST /newegg/v1/category_tree — nested category navigation tree from a Newegg store landing page (params: store_id, store_slug; 1 credit) - POST /newegg/v1/variants — Product family/variant options from the PDP — size/capacity/colour family members, package bundles, and any combo-deal promotion (params: item_id*, url; 1 credit) - [OfferUp API scraper — search the US local classifieds marketplace by keyword, category and location (ZIP or coordinates) and read the full listing record: price, condition, photos, category, pickup/shipping and the seller's public profile. Prices in USD. No account, no browser.](https://reefapi.com/docs/offerup): 2 endpoints — Search OfferUp listings near a US location by keyword, by category, or both. Returns one row per listing with its id, title, numeric price, town, photo and OfferUp's own tile flags — about 44-50 rows per call — plus a `next_cursor` for the next page. The condition and whether the price is firm are NOT on a feed tile (measured 0 of 704 rows); `product/detail` fills both. Location is what scopes the query: give `zip_code` (resolved by OfferUp's own geocoder) or `latitude`+`longitude`. Use the returned `listing_id` with `product/detail` for the description, the photo gallery and the seller. · full AI-ready doc: https://reefapi.com/docs/offerup.md - POST /offerup/v1/search — Search OfferUp listings near a US location by keyword, by category, or both. Returns one row per listing with its id, title, numeric price, town, photo and OfferUp's own tile flags — about 44-50 rows per call — plus a `next_cursor` for the next page. The condition and whether the price is firm are NOT on a feed tile (measured 0 of 704 rows); `product/detail` fills both. Location is what scopes the query: give `zip_code` (resolved by OfferUp's own geocoder) or `latitude`+`longitude`. Use the returned `listing_id` with `product/detail` for the description, the photo gallery and the seller. (params: query, category, zip_code, latitude, longitude, radius, price_min, price_max, sort, cursor, max_rotations; 1 credit) - POST /offerup/v1/product/detail — The full OfferUp listing record by `listing_id` (or listing URL): title, the seller's own description, numeric price and whether it is firm, condition, posted date, the complete photo gallery at full size, the category with its whole path, the listing's coordinates and town, pickup/shipping terms, vehicle attributes when it is a vehicle, and the seller's PUBLIC profile — display name, how many items they have sold and bought, when they joined, their stated response time and their verification badges. (params: listing_id*, max_rotations; 1 credit) - [OpenSea API — NFT marketplace scraper: collection floor price, volume, market-cap stats, supply and socials; collection search; per-NFT item detail with traits, rarity rank, best listing/offer and last sale; paginated collection items; top holders; recent sales activity; and trending / top collection rankings from OpenSea (opensea.io) — no API key required](https://reefapi.com/docs/opensea): 7 endpoints — Full collection detail by slug: floor price, top offer, 24h + total volume, owner / listed / supply counts and 1-day floor change (live from OpenSea's GraphQL) merged with keyless metadata — description, image/banner, contracts (address + chain), category, safelist status, fees and social links (Twitter / Discord / Telegram / website). · full AI-ready doc: https://reefapi.com/docs/opensea.md - POST /opensea/v1/collection — Full collection detail by slug: floor price, top offer, 24h + total volume, owner / listed / supply counts and 1-day floor change (live from OpenSea's GraphQL) merged with keyless metadata — description, image/banner, contracts (address + chain), category, safelist status, fees and social links (Twitter / Discord / Telegram / website). (params: slug*; 1 credit) - POST /opensea/v1/search — Search OpenSea collections by free-text name. Returns matching collections with slug, name, image, category, floor price, owner count, supply and total volume — use the returned slug with the other actions. (params: query*, limit; 1 credit) - POST /opensea/v1/items — Paginated items (NFTs) in a collection. Each item: name, token id, contract, image, rarity rank, best listing price + marketplace, best offer and last sale. Sort by price / rarity / last-sale-price / listing-date. Cursor pagination — pass the returned meta.next_cursor as `cursor` to page on. (params: slug*, limit, cursor, sort_by, direction; 1 credit) - POST /opensea/v1/item — Single NFT / item detail by collection contract + token id: name, image, all traits (trait_type + value), rarity rank, best listing (price + marketplace), best offer and last sale. Get contract_address from the collection action's contracts[] (or an items[] row); token_id is the NFT number. (params: contract_address*, token_id*, chain; 1 credit) - POST /opensea/v1/activity — Recent on-chain activity for a collection (default: sales). Each event: type, time, price (token amount + USD) and the item (name, token id, contract). Filter by event type — sales, listings, offers, transfers or mints. (params: slug*, limit, event_type; 1 credit) - POST /opensea/v1/holders — Top holders (owners) of a collection, ranked by quantity owned. Each holder: wallet address, display name (ENS / OpenSea username if any), quantity, % of supply and estimated total NFT portfolio value (USD). Cursor pagination. (params: slug*, limit, cursor; 1 credit) - POST /opensea/v1/trending — Trending or top collections ranked over a time window — the OpenSea rankings/leaderboard. Each: rank score, slug, name, floor price, volume, owners and 1-day floor change. Choose TRENDING (momentum) or TOP (by volume), and a window (1h / 1d / 7d / 30d). (params: ranking, timeframe, limit; 1 credit) - [Otto.de API scraper — search Germany's Otto.de marketplace: product search & filters, category browse, product facts, deals, new arrivals, brands and the department tree (DE / EUR)](https://reefapi.com/docs/otto): 9 endpoints — Keyword product search on Otto.de with brand, price, rating, condition and availability filters, sort order and offset pagination. Returns product cards (name, brand, price in EUR, condition, availability, rating, review count, image, URL). · full AI-ready doc: https://reefapi.com/docs/otto.md - POST /otto/v1/search — Keyword product search on Otto.de with brand, price, rating, condition and availability filters, sort order and offset pagination. Returns product cards (name, brand, price in EUR, condition, availability, rating, review count, image, URL). (params: query*, offset, marke, brand, sortierung, sort, preis, price_min, price_max, bewertung, min_rating, zustand, condition, verfuegbarkeit, availability; 1 credit) - POST /otto/v1/browse — Browse an Otto.de category landing (e.g. moebel, technik/computer, mode) with the same brand / price / rating / sort filters and offset pagination as search. (params: category*, offset, marke, brand, sortierung, sort, preis, price_min, price_max, bewertung, min_rating, zustand, condition, verfuegbarkeit, availability; 1 credit) - POST /otto/v1/product — Product facts for one Otto.de item by variation id — name, brand, price (EUR), condition, availability, aggregate rating, review count, image and URL. Read from the search grid, because Otto does not serve its standalone product page to this endpoint; individual review text, GTIN and the full spec table are therefore not available here. (params: id*, query*, variation_id; 1 credit) - POST /otto/v1/deals — Current Otto.de deal / sale campaign products (e.g. Deal des Monats, Super Sale). Auto-discovers the active campaigns from the storefront and returns their product cards. Pick a specific campaign with the campaign param. (params: campaign; 1 credit) - POST /otto/v1/new_arrivals — Newest products on Otto.de — keyword or category sorted newest-first (sortierung=neuheiten). Pass query OR category; supports the same filters and offset pagination. (params: query, category, offset, marke, brand, preis, price_min, price_max, bewertung, min_rating, zustand, condition, verfuegbarkeit, availability; 1 credit) - POST /otto/v1/brands — Brand filter links available on an Otto.de category landing page — feed the slug to search/browse as the brand filter. (params: category*; 1 credit) - POST /otto/v1/categories — Otto.de department tree — top-level departments from the homepage, or the child categories of a parent path (e.g. parent=technik). Feed paths to browse / brands. (params: parent, category; 1 credit) - POST /otto/v1/filters — Discover the sort orders and filter query params supported by Otto.de search/browse, with a live probe showing the available deal campaigns. (params: none; 1 credit) - POST /otto/v1/reviews — Aggregate customer rating for an Otto.de item — average star rating and total review count from the search-embedded data. Individual review TEXT is only on the standalone product page, which Otto does not serve to this endpoint, so it is not available here (reviews[] is returned empty with text_available=false, honestly). (params: id*, query*, variation_id; 1 credit) - [Rakuten Ichiba API scraper — Japan e-commerce product search, item detail, full reviews, shop catalog, rankings & genres (rakuten.co.jp)](https://reefapi.com/docs/rakuten): 7 endpoints — Search Rakuten Ichiba by keyword or genre with sort and price filters — returns items with name, price (JPY), shop, points, shipping, rating and images. Paginated. · full AI-ready doc: https://reefapi.com/docs/rakuten.md - POST /rakuten/v1/search — Search Rakuten Ichiba by keyword or genre with sort and price filters — returns items with name, price (JPY), shop, points, shipping, rating and images. Paginated. (params: keyword, q, genre_id, page, sort, min_price, max_price; 1 credit) - POST /rakuten/v1/item — Get a Rakuten Ichiba product's detail — title, price (JPY), brand, shop, rating, images, category breadcrumbs, spec attributes, shipping and points. (params: url, item_url, shop_code, item_path, manage_number; 1 credit) - POST /rakuten/v1/reviews — Get ALL buyer reviews for a Rakuten Ichiba item, paginated (30/page) — rating, body, reviewer nickname, post date and helpful count, plus the total review count. (params: url, item_url, shop_code, item_path, manage_number, page; 1 credit) - POST /rakuten/v1/variants — Get a Rakuten Ichiba item's SKU variant matrix — every color/size/option combination with its price and images. (params: url, item_url, shop_code, item_path, manage_number; 1 credit) - POST /rakuten/v1/shop — List a Rakuten Ichiba shop's catalog by shop_code — every item the shop sells, paginated. (params: shop_code*, sid, page; 1 credit) - POST /rakuten/v1/ranking — Get the Rakuten Ichiba best-seller ranking — overall or for a genre, by day/week/realtime/month. (params: genre_id, period, page; 1 credit) - POST /rakuten/v1/genres — Browse the Rakuten Ichiba category (genre) tree — top-level categories, or pass genre_id for a subtree. (params: genre_id; 1 credit) - [Shein — product search, product detail, bulk product lookup and price/stock refresh](https://reefapi.com/docs/shein): 5 endpoints — Search global (default) or US product cards with names, ids, URLs, listing prices, images and available rating, colour and category data. Global JSON search currently supports page 1 and up to 40 results. Its pagination_supported=false and has_next=false describe the API limit; source_has_more reports additional SHEIN matches. Global page>1 or more than 40 requested results returns INVALID_PARAM. Explicit market=us retains pagination with up to 120 rows per page and up to 600 results per call. Listing prices are offers at retrieval time (meta.price_basis=live_estimate); product/detail supplies the complete product-page offer. An unavailable source response returns an error, never a false empty result. · full AI-ready doc: https://reefapi.com/docs/shein.md - POST /shein/v1/search — Search global (default) or US product cards with names, ids, URLs, listing prices, images and available rating, colour and category data. Global JSON search currently supports page 1 and up to 40 results. Its pagination_supported=false and has_next=false describe the API limit; source_has_more reports additional SHEIN matches. Global page>1 or more than 40 requested results returns INVALID_PARAM. Explicit market=us retains pagination with up to 120 rows per page and up to 600 results per call. Listing prices are offers at retrieval time (meta.price_basis=live_estimate); product/detail supplies the complete product-page offer. An unavailable source response returns an error, never a false empty result. (params: query*, market, max_results, page, limit; 4 credits) - POST /shein/v1/product/detail — Read a complete US or global product page by product id or URL, in USD. Includes current page prices, all published SKUs with size and stock, total stock, images, and available size charts, attributes and description. These fields are included by default. Unavailable global SKU prices are null and sku_prices_complete is false. Missing product prices return an error without additional price lookup requests. Prices can change; no global product is successful without a verified positive product price. Global is the default; an explicit market wins, otherwise a product URL selects its storefront. NOT_FOUND means the selected storefront returned a product 404. UPSTREAM_HTTP with error.detail.reason=global_offer_price_unavailable means a complete priced offer could not be supplied; it does not mean the product is free or permanently removed. These outcomes are not retried within the call. Transient failures remain retryable; inspect error.retryable. (params: market, url; 4 credits) - POST /shein/v1/products_batch — Retrieve up to 20 complete US or global products in one call. Each product has the same fields as product/detail and is billed separately. All requested products must include validated product and stock data; unavailable global SKU prices are null. Otherwise the call returns an error identifying failed ids. Global is the default; an explicit market wins, otherwise a product URL selects its storefront. NOT_FOUND means the selected storefront returned a product 404. UPSTREAM_HTTP with error.detail.reason=global_offer_price_unavailable means a complete priced offer could not be supplied; it does not mean the product is free or permanently removed. These outcomes are not retried within the call. Transient failures remain retryable; inspect error.retryable. (params: goods_ids*, market; 2 credits) - POST /shein/v1/price — Read current price and stock from the US or global product page in USD. Returns only price and availability fields, including total stock. Prices reflect the offer at retrieval time and can change. Missing product prices return an error without additional price lookup requests. Global is the default; an explicit market wins, otherwise a product URL selects its storefront. NOT_FOUND means the selected storefront returned a product 404. UPSTREAM_HTTP with error.detail.reason=global_offer_price_unavailable means a complete priced offer could not be supplied; it does not mean the product is free or permanently removed. These outcomes are not retried within the call. Transient failures remain retryable; inspect error.retryable. (params: market, url; 2 credits) - POST /shein/v1/category/browse — Browse a Shein category shelf by category id (the number in a /-c-.html URL) or by the URL itself, with pagination — returns the same rich product cards as search. IMPORTANT (measured 2026-09-03): Shein currently risk-gates this category endpoint on direct access (it answers even a real browser's own request with a block on a cold category navigation), so this action returns a clear retryable 'not reachable' error rather than a faked or empty shelf. Use `search` with a text query for catalogue coverage today. This endpoint activates automatically if/when the gate loosens. (params: category_id*, market, url, page, limit; 1 credit) - [Shopify Store API — browse products, variants, prices, and collections from any public Shopify store (no API key required)](https://reefapi.com/docs/shopify): 9 endpoints — Paginated product catalog from any public Shopify store: title, vendor, variants, prices, inventory status, tags, and images. · full AI-ready doc: https://reefapi.com/docs/shopify.md - POST /shopify/v1/products — Paginated product catalog from any public Shopify store: title, vendor, variants, prices, inventory status, tags, and images. (params: store*, page, limit, max_items, vendor, product_type, tag, tags, title_contains, sku_contains, min_price, max_price, only_on_sale, only_in_stock, new_arrivals_days; 1 credit) - POST /shopify/v1/product — Full detail for a single Shopify product by its handle (URL slug) or product page URL: title, vendor, variants, prices, images, and inventory. (params: store*, handle*; 1 credit) - POST /shopify/v1/collections — Paginated list of public collections from a Shopify store: collection id, title, handle, description, and cover image. (params: store*, page, limit, max_items; 1 credit) - POST /shopify/v1/collection_products — Paginated products within a specific Shopify collection — same product shape as the products action, filterable and sortable. (params: store*, handle*, page, limit, max_items, sort_by, vendor, product_type, tag, tags, title_contains, sku_contains, min_price, max_price, only_on_sale, only_in_stock, new_arrivals_days; 1 credit) - POST /shopify/v1/search — Predictive search across a Shopify store: matching products (title, price, variants, image) plus optional collection, page, and autocomplete query suggestions. (params: store*, query*, limit, page, max_items, resource_types, resources, vendor, product_type, tag, tags, min_price, max_price, only_on_sale, only_in_stock; 1 credit) - POST /shopify/v1/recommendations — Related or complementary products that a Shopify store recommends for a given product — the store's own 'you may also like' / 'goes well with' set, same rich product shape. (params: store*, handle*, intent, limit; 1 credit) - POST /shopify/v1/collection — Metadata for a single Shopify collection by handle: title, description, cover image, published/updated dates, and product count. (params: store*, handle*; 1 credit) - POST /shopify/v1/pages — Content pages published on a Shopify store (About, FAQ, Shipping, size guides, etc.): title, handle, URL, and HTML/plain-text body. (params: store*, page, limit, max_items; 1 credit) - POST /shopify/v1/store_info — Rich profile for a Shopify store: name, currency, country/city, product & collection counts, accepted card brands, social links, myshopify domain, and platform confirmation. (params: store*; 1 credit) - [Skroutz API scraper — Greek price comparison: search products, read the full product record, and get EVERY Greek merchant's offer (price, shipping, shop rating, delivery date, stock) for one product on skroutz.gr. Prices in EUR. No account, no browser.](https://reefapi.com/docs/skroutz): 3 endpoints — Search skroutz.gr by keyword and get the matching products: Skroutz product id, title, image, the price skroutz prints on the card (the offer it FEATURES, which is not always the cheapest one — measured 120,00 € on a card whose cheapest merchant offer was 108,99 €; null when the card shows a variant range instead, with the endpoints in price_from/price_to), the customer rating and review count, the category and skroutz's own key-spec summary. Use the returned `product_id` with `product/offers` to get every Greek shop's price for that product. · full AI-ready doc: https://reefapi.com/docs/skroutz.md - POST /skroutz/v1/search — Search skroutz.gr by keyword and get the matching products: Skroutz product id, title, image, the price skroutz prints on the card (the offer it FEATURES, which is not always the cheapest one — measured 120,00 € on a card whose cheapest merchant offer was 108,99 €; null when the card shows a variant range instead, with the endpoints in price_from/price_to), the customer rating and review count, the category and skroutz's own key-spec summary. Use the returned `product_id` with `product/offers` to get every Greek shop's price for that product. (params: query*, page, max_rotations; 1 credit) - POST /skroutz/v1/product/detail — The full Skroutz product record by `product_id` (or product URL): title, brand, description, image gallery, manufacturer part number, model and colour, the price skroutz features on the page, the customer rating with its review count and per-star breakdown, the category, and the complete technical specification grouped exactly as skroutz groups it. (params: product_id*, max_rotations; 1 credit) - POST /skroutz/v1/product/offers — Every Greek merchant offer for one product — the price comparison itself, in a single request. For the given `product_id` you get one row per shop: the shop with its Skroutz id, name, storefront link, star rating and how many reviews it rests on, its town, the price (numeric and formatted), the price before a running coupon and the discount, the shipping fee and the total, the promised delivery date, declared stock, and the merchant's own listing title. Rows are ordered cheapest first. (params: product_id*, sort, include_product, max_rotations; 1 credit) - [StockX API — live resale market data for sneakers, streetwear, and electronics (lowest ask, highest bid, last sale, sales volume, price premium, volatility, per-size variant pricing) from stockx.com](https://reefapi.com/docs/stockx): 8 endpoints — full product by `url` OR `url_key`/`id`/`uuid`: title/brand/model/sku/category/colorway/retail_price/release_date/image + market{lowest_ask,highest_bid,number_of_asks/bids,last_sale,sales_last_72h,last_sale_change_pct/value,avg_price_72h/90d/annual,sales_count_*,price_premium=(last_sale-retail)/retail, volatility=CV-of-recent-sales, ask_service_levels{standard/express_*: count,lowest_ask,processing_fee,delivery}} + per-size variants[]{size,lowest_ask,highest_bid,last_sale}. The market-data moat. `currency` (USD/EUR/GBP/…) + `market` (US/GB/DE/…) optional. · full AI-ready doc: https://reefapi.com/docs/stockx.md - POST /stockx/v1/product_detail — full product by `url` OR `url_key`/`id`/`uuid`: title/brand/model/sku/category/colorway/retail_price/release_date/image + market{lowest_ask,highest_bid,number_of_asks/bids,last_sale,sales_last_72h,last_sale_change_pct/value,avg_price_72h/90d/annual,sales_count_*,price_premium=(last_sale-retail)/retail, volatility=CV-of-recent-sales, ask_service_levels{standard/express_*: count,lowest_ask,processing_fee,delivery}} + per-size variants[]{size,lowest_ask,highest_bid,last_sale}. The market-data moat. `currency` (USD/EUR/GBP/…) + `market` (US/GB/DE/…) optional. (params: url, url_key, id, uuid, currency, market; 2 credits) - POST /stockx/v1/search — product search → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_bid,last_sale} + page_info{page,limit,total}. Resolves url_keys for product_detail. Optional facet filters: `brand` (e.g. Jordan), `gender` (men/women/…), `category` (sneakers/apparel/…) + `sort` (most-active/featured/release_date/lowest_ask). Return up to 1000 products in one call with `max_results` (40/page, paged for you) — that is StockX's own ceiling, its grid stops at page 26. `page` picks where the window starts. `currency`/`market` optional. (params: query*, max_results, page, currency, market, brand, gender, category, sort; 1 credit) - POST /stockx/v1/recent_sales — recent transaction feed by `url`/`url_key`/`id` → sales[]{amount,created_at} (most recent first) + product ref. Best-effort market-history. `currency`/`market` optional. (params: url, url_key, id, uuid, currency, market; 1 credit) - POST /stockx/v1/suggest — autocomplete query suggestions for `query` (QuerySuggestion text; falls back to search-derived titles if the suggest op drifts). (params: query*; 1 credit) - POST /stockx/v1/price_history — historical price time-series for a product, aggregated from the deep sales feed → series[]{date,count,avg,min,max,last} (oldest→newest) + summary{points,sales_sampled,min,max,avg,first_date,last_date,window_complete}. `window` (30d/90d/180d/365d/all) bounds lookback; `bucket` (day/week/month) sets granularity; optional `size` for per-size history. The #1 resale-trader ask. `currency` optional. (params: url, url_key, id, uuid, window, bucket, size, currency; 3 credits) - POST /stockx/v1/sales_history — deep paginated transaction log → sales[]{amount,created_at,cursor} (newest first) + page_info{cursor,has_more,total,limit,returned} + product. Far deeper than recent_sales (StockX exposes the full ledger, e.g. 60k+ sales). Cursor-paginate with `cursor`; optional `size` filters to one variant. `limit` ≤ 50 (StockX page cap). `currency` optional. (params: url, url_key, id, uuid, cursor, limit, size, currency; 1 credit) - POST /stockx/v1/browse — category/vertical grids + sort + facet filters → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_bid,last_sale} + page_info{page,limit,total}. Needs at least one of `category` (sneakers/apparel/electronics/collectibles/accessories), `query`, or a facet filter (`brand`/`gender`). `sort` (most-active/featured/release_date/lowest_ask) optional. Return up to 1000 products in one call with `max_results` (40/page, paged for you — StockX's own ceiling, its grid stops at page 26); `page` picks where the window starts. The catalog-discovery surface. (params: category, query, brand, gender, sort, max_results, page, currency, market; 1 credit) - POST /stockx/v1/trending — movers / most-active products (global or within a `category`) → results[] (same card shape as browse) + page_info. Defaults `sort`=most-active. Optional `category`, `brand`, `gender`. Return up to 1000 products in one call with `max_results` (40/page, paged for you — StockX's grid stops at page 26); `page` picks where the window starts. Surfaces what's trading right now. (params: category, brand, gender, sort, max_results, page, currency, market; 1 credit) - [TikTok Shop API — product detail with per-SKU price and stock, category browsing, seller profiles and catalogues, US keyword search, best-seller and deal feeds, and customer reviews across 10 markets (US, UK, Malaysia, Singapore, Thailand, Philippines, Vietnam, Indonesia, Japan, Mexico)](https://reefapi.com/docs/tiktok-shop): 13 endpoints — Full TikTok Shop product record in ONE call, for any of the ten markets — title, structured description, every image, EVERY SKU with its own price and its exact remaining stock as an integer, shipping weight in grams and package size in centimetres, discount and list price, shipping fee and delivery window, category path, the seller's full profile, three customer reviews and the complete star histogram. Nothing here needs a second request · full AI-ready doc: https://reefapi.com/docs/tiktok-shop.md - POST /tiktok-shop/v1/product_detail — Full TikTok Shop product record in ONE call, for any of the ten markets — title, structured description, every image, EVERY SKU with its own price and its exact remaining stock as an integer, shipping weight in grams and package size in centimetres, discount and list price, shipping fee and delivery window, category path, the seller's full profile, three customer reviews and the complete star histogram. Nothing here needs a second request (params: product_id*, market; 2 credits) - POST /tiktok-shop/v1/products_by_ids — Look up as many as 15 US products in a SINGLE call — the cheapest way to refresh a list of ids you already hold, at roughly a sixth of the bandwidth per product of fetching each product page. It is also the only route on TikTok Shop with an unambiguous 'not found', which makes it the right way to check whether an id is still live before spending a full product fetch on it. US catalogue only (params: product_ids*; 1 credit) - POST /tiktok-shop/v1/category_tree — TikTok Shop's own category taxonomy for any of the ten markets — 28 top-level departments from one call, then walk down to level 2 and level 3 by passing a category_id. Every node says whether it is a leaf, so the tree can be crawled to the bottom with no external id list and nothing hard-coded (params: market, category_id, slug; 1 credit) - POST /tiktok-shop/v1/category_products — Browse a whole category and page through it — around 100 products per category, on ALL TEN markets. This is the cheapest source of product ids there is, roughly 1 KB of traffic per product, and it is what replaces keyword search outside the US. Pages are position-independent, so a page that gets throttled is retried automatically without losing your place (params: category_id*, market, max_results, slug; 1 credit) - POST /tiktok-shop/v1/search — Keyword search across the US TikTok Shop catalogue, paged for you up to 150 products, with price, rating, sold count and seller on every row. US ONLY — TikTok does not serve keyword search on any other market, at any URL (use category_products there, which goes deeper than search does) (params: query*, max_results; 1 credit) - POST /tiktok-shop/v1/recommended_shops — Shops TikTok itself surfaces for a search term — a keyword-to-seller lookup that answers 'who sells this' rather than 'what is for sale'. Comes free alongside the US search page, so it costs one call and no extra bandwidth. US only (params: query*; 1 credit) - POST /tiktok-shop/v1/seller_profile — A TikTok Shop seller's full public profile on any of the ten markets — shop name, rating, review count, follower count, lifetime units sold, catalogue size, video count and TikTok's own service sub-scores. On the nine non-US markets there is no seller endpoint at all, so this is reached through one of the seller's products; pass a product_id and you get the seller for free (params: seller_id, product_id, market; 1 credit) - POST /tiktok-shop/v1/seller_catalog — Every product a seller has listed, paged to the end — verified complete against the shop's own advertised product count (12 of 12, 81 of 81, 28 of 28 on three separate markets). Nine markets: US, Malaysia, Singapore, Thailand, Philippines, Vietnam, Indonesia, Japan and Mexico. NOT the UK, where TikTok does not deploy the seller catalogue service at all (params: seller_id*, market, max_results; 1 credit) - POST /tiktok-shop/v1/related_products — The products TikTok itself recommends alongside a given product — its 'you may also like' rail, about 25 full product rows. Useful for competitor sets, substitutes and building a similar-items shelf. Works on all ten markets (params: product_id*, market, max_results; 2 credits) - POST /tiktok-shop/v1/ranking_list — TikTok Shop's own best-seller board for the US — the 20 products TikTok is promoting as trending right now, in their published rank order, with full price, rating and seller rows. This is the editorial ranking the storefront shows, not a re-sorted search, which is what makes it the winning-products feed (params: none; 2 credits) - POST /tiktok-shop/v1/premium_offers — TikTok Shop's US 'premium offers' deal board, paged to the end — around 97 discounted products with the discount percentage and the pre-discount price on every row. A ready-made deals feed rather than a price filter over search (params: max_results; 1 credit) - POST /tiktok-shop/v1/recommended_for_you — TikTok Shop's US personalised discovery feed, paged and de-duplicated — 200-plus distinct products of what TikTok is currently pushing to shoppers. The widest trend-discovery surface this API has (params: max_results; 1 credit) - POST /tiktok-shop/v1/reviews — Customer reviews for a product on any of the ten markets — three full review texts with rating, author, verified-purchase flag and photo, plus the COMPLETE 1-to-5 star histogram and total review count covering every review the product has. Served from a 7 KB endpoint instead of the product page, so a ratings refresh costs a fraction of a re-fetch (params: product_id*, market; 1 credit) - [Tokopedia API scraper — Indonesia's #1 e-commerce marketplace: product search with price/condition/rating filters, full product detail (price, discount, stock, variants, specs, images, sold count, rating), store/shop profiles, a shop's product catalog, and paginated product reviews — id locale, IDR prices, no API key required](https://reefapi.com/docs/tokopedia): 5 endpoints — Search Tokopedia products by keyword with optional price / condition / rating filters and sort. Returns up to 20 products per page (product_id, name, url, price in IDR, rating, sold count, category, shop) with page-based pagination. · full AI-ready doc: https://reefapi.com/docs/tokopedia.md - POST /tokopedia/v1/search — Search Tokopedia products by keyword with optional price / condition / rating filters and sort. Returns up to 20 products per page (product_id, name, url, price in IDR, rating, sold count, category, shop) with page-based pagination. (params: q*, page, sort, price_min, price_max, condition, rating; 1 credit) - POST /tokopedia/v1/detail — Full product detail by product url: price, slashed/original price, discount, active campaign, stock, min/max order, weight, rating, review/view/talk counts, sold count, full description, spec rows, category breadcrumb, image gallery, variants and the seller shop. (params: url*; 1 credit) - POST /tokopedia/v1/shop — Store/shop profile by shop domain (the tokopedia.com/ handle): name, description, open-since, follower count, active product count, total products sold, successful transactions, location, avatar and cover. (params: shop*; 1 credit) - POST /tokopedia/v1/shop_products — Paginated product catalog of one shop by shop domain. Returns up to 20 products per page (same shape as search) plus the shop's total product count. Page through every product a store sells. (params: shop*, page, sort; 1 credit) - POST /tokopedia/v1/reviews — Paginated public product reviews by product_id (or url): star rating, review text, variant bought, relative date, reviewer handle, photos/videos, likes and the seller's reply. 20 reviews per page — page with `page`; meta.total / meta.has_more tell you how many. (params: product_id, url, page, sort_reviews, filter_rating; 1 credit) - [Trendyol API scraper — search, filters, product detail, reviews, sellers & category browse on Turkey's largest e-commerce marketplace (trendyol.com), prices in TRY](https://reefapi.com/docs/trendyol): 9 endpoints — full product by `url` OR `content_id`: title/brand/price(current+list+discount%/coupon/ty+)/campaign(+campaigns[])/rating+comment_count/in_stock/seller(+score)/other_offers[] (EVERY competing seller on the same listing WITH its store id, store name, seller score, price and campaign — seller-level price comparison in this one call)/category/images/attributes(specs)/variants. The dual-use influencer module. · full AI-ready doc: https://reefapi.com/docs/trendyol.md - POST /trendyol/v1/product/detail — full product by `url` OR `content_id`: title/brand/price(current+list+discount%/coupon/ty+)/campaign(+campaigns[])/rating+comment_count/in_stock/seller(+score)/other_offers[] (EVERY competing seller on the same listing WITH its store id, store name, seller score, price and campaign — seller-level price comparison in this one call)/category/images/attributes(specs)/variants. The dual-use influencer module. (params: url, content_id; 1 credit) - POST /trendyol/v1/product/reviews — Paginated customer reviews by `content_id` OR `url`, in the order you ask for. `sort=newest` returns the most recently posted reviews first and keeps that order across every page, so you can poll a product for new reviews; without `sort` Trendyol returns its own 'recommended' order, which is not chronological. Every page carries the real totals (average rating, how many people rated, how many wrote a comment, star breakdown, total_pages for your page_size) so you know when to stop. Reviewer names are published by Trendyol already masked. (params: content_id, url, page, page_size, sort; 2 credits) - POST /trendyol/v1/product/similar — Trendyol's own 'Benzer Ürünler' recommendation rail for a product, by `content_id` OR `url` — the products Trendyol itself puts in front of a shopper looking at this one, so you get its live view of the competitive set (same category, comparable specs) rather than a keyword guess. Each row is a full product card (price, list price, rating, review count, seller, stock) usable directly for price benchmarking, or feed results[].content_id straight into product/detail. Paginated 0-BASED; meta.pagination.has_more tells you when the rail is exhausted. (params: content_id, url, page, size; 1 credit) - POST /trendyol/v1/search — Search Trendyol products by keyword with optional sort & price/brand filters → results[]{content_id,title,brand,url,price,list_price,rating,comment_count,category,image,free_cargo}. Resolves content_ids for product/detail. Paginated+deduped (page 1-based, max_pages ≤10). meta.total_count = full result-set size. (params: query*, page, max_pages, sort, price, brand; 2 credits) - POST /trendyol/v1/search/filters — Discover the available filter facets for a `query` OR `category_id` before filtering — brands (with ids for the `brand` param), price ranges, product ratings, and category-specific attributes (RAM, screen size, color, …) each with live result counts. (params: query, category_id; 1 credit) - POST /trendyol/v1/category/products — Browse a Trendyol category by id — best-sellers, newest, or price/brand-filtered product lists. Same card shape as search. Get a category_id from a product's category.id (product/detail) or the '-c' in a category URL. (params: category_id, url, page, max_pages, sort, price, brand; 2 credits) - POST /trendyol/v1/seller/products — All products of a Trendyol seller/store (paginated, sortable, filterable) by seller_id. Same card shape as search. meta.total_count = the seller's full catalog size. (params: seller_id, url, page, max_pages, sort, price, brand; 1 credit) - POST /trendyol/v1/seller/info — Trendyol seller/store profile by seller_id: store name, legal entity (official_name), total product_count, seller score, and trust badges. (params: seller_id, url; 1 credit) - POST /trendyol/v1/suggest — keyword suggestions for a query (ops; search-fallback if suggest API blocked) (params: query*; 1 credit) - [Vinted API — second-hand fashion listings, item detail & seller profiles across 20 European Vinted sites](https://reefapi.com/docs/vinted): 14 endpoints — keyword + filter search (brand/size/condition/category/color/material/price) · full AI-ready doc: https://reefapi.com/docs/vinted.md - POST /vinted/v1/catalog_search — keyword + filter search (brand/size/condition/category/color/material/price) (params: query, search_text, filters, brand_ids, size_ids, status_ids, catalog_ids, color_ids, material_ids, price_from, price_to, currency, order, per_page, page, tld; 2 credits) - POST /vinted/v1/item_detail — Full Vinted item detail — title, price, photos, description, size, color, condition, material, category and a seller summary. (params: id, item_id, url, path, tld; 2 credits) - POST /vinted/v1/seller — seller profile (login/rating/item_count/feedback breakdown) — PII redactable (params: id*, user_id, seller_id, tld; 1 credit) - POST /vinted/v1/seller_items — a seller's wardrobe items (params: id*, user_id, seller_id, page, per_page, tld; 1 credit) - POST /vinted/v1/seller_feedback — feedback left for a seller (text/rating/reviewer) (params: id*, user_id, seller_id, page, per_page, tld; 1 credit) - POST /vinted/v1/brand_search — resolve a brand name -> brand_id (+ item/favourite counts) (params: query, search_text, page, per_page, tld; 1 credit) - POST /vinted/v1/autocomplete — search typeahead — partial query -> ranked Vinted search suggestions (localized per site) (params: query*, search_text, q, tld; 1 credit) - POST /vinted/v1/similar — items similar to a given item (items/{id}/more) (params: id*, item_id, content_source, tld; 1 credit) - POST /vinted/v1/catalog_filters — dynamic facets (size/brand/status/color/price/material + option ids) for a query/category (params: query, search_text, catalog_ids, tld; 1 credit) - POST /vinted/v1/categories — Full Vinted category tree — id, title, code, URL and child categories for the selected country site. (params: tld; 0 credit) - POST /vinted/v1/colors — color enum (id/title/hex/code) (params: tld; 0 credit) - POST /vinted/v1/conditions — item-condition enum (status id/title) (params: tld; 0 credit) - POST /vinted/v1/countries — country enum (id/iso/currency) (params: tld; 0 credit) - POST /vinted/v1/sizes — size groups + size ids (params: tld; 0 credit) - [Walmart API scraper — search Walmart.com products with filters, sort & pagination, full product detail (price, specifications, variants, seller, availability), customer reviews (rating breakdown + review texts), and category/department browse. No account required.](https://reefapi.com/docs/walmart): 4 endpoints — Search Walmart.com by keyword → a paginated, sortable list of products with item id, name, current & list price, savings, star rating + review count, availability, seller, category, fulfillment, image and the product link. Narrow with min_price/max_price and sort. 🔴 `brand` IS ALL-OR-NOTHING PER SEARCH, because Walmart publishes it that way: a clothing/shoes/bags/watches grid carries it on every row (measured 549 of 549 rows over 9 such searches — t-shirt 62/62, backpack 72/72, jeans 71/71, sneakers 65/65…), and every other kind of search carries it on no row at all (0 of ~880 rows over 12 searches — laptop, tv, headphones, printer, coffee maker, sofa, dog food, milk, toothpaste, vitamins, lipstick, office chair). On those searches Walmart simply does not put the brand in the listing it publishes, so this API returns null rather than guessing it out of the product name. Read `meta.field_coverage.brand` to see how many rows of YOUR call carried one, and use product_detail when you need brand guaranteed — it carries it for every product, in every category. · full AI-ready doc: https://reefapi.com/docs/walmart.md - POST /walmart/v1/search — Search Walmart.com by keyword → a paginated, sortable list of products with item id, name, current & list price, savings, star rating + review count, availability, seller, category, fulfillment, image and the product link. Narrow with min_price/max_price and sort. 🔴 `brand` IS ALL-OR-NOTHING PER SEARCH, because Walmart publishes it that way: a clothing/shoes/bags/watches grid carries it on every row (measured 549 of 549 rows over 9 such searches — t-shirt 62/62, backpack 72/72, jeans 71/71, sneakers 65/65…), and every other kind of search carries it on no row at all (0 of ~880 rows over 12 searches — laptop, tv, headphones, printer, coffee maker, sofa, dog food, milk, toothpaste, vitamins, lipstick, office chair). On those searches Walmart simply does not put the brand in the listing it publishes, so this API returns null rather than guessing it out of the product name. Read `meta.field_coverage.brand` to see how many rows of YOUR call carried one, and use product_detail when you need brand guaranteed — it carries it for every product, in every category. (params: query*, sort, page, max_results, min_price, max_price, facet; 2 credits) - POST /walmart/v1/product_detail — Full product record by Walmart item id (or product URL): name, brand, model, UPC, manufacturer part number, current & list price, availability, seller, average rating + review count, short & long descriptions, the full specification table, product highlights, every variant with its resolved attributes (colour/size/…), the category breadcrumb, return policy, fulfillment and the gallery images. (params: item_id, url; 2 credits) - POST /walmart/v1/reviews — Customer reviews for a Walmart product by item id (or product URL): the average rating, total review count, recommended-percentage, the 5★→1★ rating distribution and percentages, the most-mentioned aspects, and the review texts (rating, title, body, date, helpful counts, verified-purchase, purchased variant, photos). (params: item_id, url, max_results; 1 credit) - POST /walmart/v1/category — Browse a Walmart category / department by its query term (e.g. 'coffee maker', '4k tv') → the same product grid as search, framed as a category browse with the related category searches surfaced. Paginated and sortable. (params: query*, sort, page, max_results, min_price, max_price; 2 credits) - [Zalando API — EU fashion product search, category browse, product detail, sizes & reviews (zalando.de/.co.uk/.fr + 6 more)](https://reefapi.com/docs/zalando): 12 endpoints — Search Zalando by keyword — returns product cards with name, brand, SKU, price, color, images and product URL. Filterable by brand, price range and category; paginated. · full AI-ready doc: https://reefapi.com/docs/zalando.md - POST /zalando/v1/search — Search Zalando by keyword — returns product cards with name, brand, SKU, price, color, images and product URL. Filterable by brand, price range and category; paginated. (params: q*, country, page, category, order, brand, min_price, max_price; 1 credit) - POST /zalando/v1/category — Browse Zalando products by category (e.g. herrenschuhe-sneaker) — returns listing cards with name, brand, price and images. Filterable and paginated. (params: category*, country, page, order, brand, min_price, max_price; 1 credit) - POST /zalando/v1/sale — On-sale / discounted Zalando products — the outlet grid with original price, current price, discount percent (0-100) and discount amount (money off). Scope to a category, otherwise lands on the country's sale/outlet section. Paginated. (params: country, category, page, brand, min_price, max_price; 1 credit) - POST /zalando/v1/new_arrivals — Newest Zalando products in a category, sorted newest-first. Scope to a category (e.g. damenschuhe-sneaker), otherwise lands on the country's primary section. Paginated. (params: country, category, page, brand, min_price, max_price; 1 credit) - POST /zalando/v1/product — Full Zalando product detail by URL or SKU — name, brand, price, color, gallery images, available sizes, rating and attributes. (params: url, sku, country; 1 credit) - POST /zalando/v1/similar — Products similar to a given Zalando item — pulled from the product page recommendation cards. (params: url, sku, country; 1 credit) - POST /zalando/v1/variants — All size variants for a Zalando product with in-stock flags — useful for monitoring stock availability. (params: url, sku, country; 1 credit) - POST /zalando/v1/brands — Distinct brands present in a given Zalando listing — the brands found across the product cards of the supplied category or keyword search (one listing page, not Zalando's full brand directory). Useful for building brand filter chips for that listing. Pass category or q; defaults to the country's primary section. (params: country, category, q, page; 1 credit) - POST /zalando/v1/categories — Top-level Zalando category links for a country, live-discovered from that TLD's own localized homepage navigation — so each country returns its real localized paths (fr: femme/homme/enfant, it: donna/uomo/bambini, es: mujer/hombre, nl: dames/heren, pl: kobiety/mezczyzni …), feed these paths to the category / sale / new_arrivals actions. (params: country, gender; 1 credit) - POST /zalando/v1/filters — Discover which sort and filter options are available for Zalando listings, including price range, brand and sort order. (params: country, category, q; 1 credit) - POST /zalando/v1/reviews — Customer reviews and overall rating summary for a Zalando product (when reviews are embedded on the product page). (params: url, sku, country; 1 credit) - POST /zalando/v1/attributes — Product attribute clusters for a Zalando item — material composition, care instructions and other structured attributes from the product page. (params: url, sku, country; 1 credit) ## Real Estate - [Property Snapshot API — turn an address or listing URL into one normalized property record: status, price, sold history, key facts and valuation across the US, UK and more](https://reefapi.com/docs/enrich-property): 4 endpoints — address OR listing_url → one normalized property snapshot: status, price, sold-history, core facts, valuation (where available), per-field provenance + a match block (how the address was resolved + match_confidence). · full AI-ready doc: https://reefapi.com/docs/enrich-property.md - POST /enrich-property/v1/snapshot — address OR listing_url → one normalized property snapshot: status, price, sold-history, core facts, valuation (where available), per-field provenance + a match block (how the address was resolved + match_confidence). (params: address, listing_url, country, mode; 5 credits) - POST /enrich-property/v1/resolve — address → ranked candidate listings[] (id + source + match_confidence) so the customer picks the exact property (apartment-unit / stale-listing disambiguation). The false-match-reducing flow — call this when a snapshot returns low confidence. (params: address*, country, limit; 2 credits) - POST /enrich-property/v1/batch — snapshot up to 10 addresses/listing-URLs in one call (standard mode, cache-first, per-item ok/error). (params: items*, country; 5 credits) - POST /enrich-property/v1/coverage — Static capability map: which countries/sources are supported, per-country source set, and the documented gaps (UK has no AVM; JP only 4 prefectures). No sub-calls. (params: none; 0 credit) - [Funda.nl API scraper — Netherlands real estate data: for-sale (koop) and for-rent (huur) property listings across every Dutch city, town and province with full filters (price EUR, rooms, surface m², plot, property type, sort), each listing with price, rooms, surface, energy label, construction type, photos, agent and address, a full per-listing detail record (description, all photos, complete Kenmerken spec table, year built), plus an area resolver that maps a Dutch place name to Funda's search area — no API key required](https://reefapi.com/docs/funda): 3 endpoints — Search Funda.nl property listings by area (for sale or for rent), with structured filters: price (EUR), rooms, living surface (m²), plot size, property type and sort. Each result carries price, object type, surface, rooms, bedrooms, energy label, construction type, address, agent and the primary photo. Paginate with page. · full AI-ready doc: https://reefapi.com/docs/funda.md - POST /funda/v1/search — Search Funda.nl property listings by area (for sale or for rent), with structured filters: price (EUR), rooms, living surface (m²), plot size, property type and sort. Each result carries price, object type, surface, rooms, bedrooms, energy label, construction type, address, agent and the primary photo. Paginate with page. (params: area*, contract, home_type, sort, page, price_min, price_max, rooms_min, rooms_max, surface_min, surface_max, plot_min, plot_max; 1 credit) - POST /funda/v1/detail — Full record for a single listing by its Funda detail URL or path (funda.nl/detail/koop////). Returns price, address, description, every photo at full resolution, and the complete Kenmerken (specifications) table — surface, rooms, year built, energy label, heating, location and more. (params: url*; 1 credit) - POST /funda/v1/area — Area resolver — map a free-text Dutch place name to Funda's search area-slug and report the live listing count there. Use it to power a search box or to confirm the exact area the search will use (a city resolves to its slug, a province to its provincie- slug). (params: query*; 0 credit) - [Hemnet.se API scraper — Sweden real estate data: for-sale (till salu) and recently-sold (slutpriser/sålda) property listings across every Swedish city, municipality and county with full filters (price SEK, rooms, living area m², plot, property type, price per m², construction year, keyword, sort), each listing with price, rooms, area, fee, square-metre price, energy class, coordinates, photos, broker agency and address, a full per-listing detail record (description, all photos, amenities, year built, sale history) and recently-sold final prices, plus a location resolver that maps a Swedish place name to Hemnet's location — no API key required](https://reefapi.com/docs/hemnet): 4 endpoints — Search Hemnet.se for-sale property listings by location, with structured filters: price (SEK), rooms, living area (m²), plot, property type, price-per-m², construction year, keyword and sort. Each result carries asking price, fee, square-metre price, rooms, living area, housing form, coordinates, broker agency, address and photos. Paginate with page. · full AI-ready doc: https://reefapi.com/docs/hemnet.md - POST /hemnet/v1/search — Search Hemnet.se for-sale property listings by location, with structured filters: price (SEK), rooms, living area (m²), plot, property type, price-per-m², construction year, keyword and sort. Each result carries asking price, fee, square-metre price, rooms, living area, housing form, coordinates, broker agency, address and photos. Paginate with page. (params: location*, home_type, sort, page, price_min, price_max, rooms_min, rooms_max, living_area_min, living_area_max, land_area_min, land_area_max, price_per_m2_min, price_per_m2_max, year_min, year_max, keywords; 1 credit) - POST /hemnet/v1/sold — Recently-SOLD property prices (slutpriser) by location, with the same filters as search — the comparable-sales / price-history surface. Each record carries asking price, FINAL sold price, sold date, price change (%) and square-metre price. (params: location*, home_type, sort, page, price_min, price_max, rooms_min, rooms_max, living_area_min, living_area_max, land_area_min, land_area_max, price_per_m2_min, price_per_m2_max, year_min, year_max, keywords; 1 credit) - POST /hemnet/v1/detail — Full record for a single listing by its Hemnet listing URL, slug or id (hemnet.se/bostad/). Returns asking price, fee, rooms, living & plot area, construction year, energy class, tenure, the full description, every photo, amenities, days-on-market, view count and any sale history. (params: url*; 1 credit) - POST /hemnet/v1/location — Location resolver / autocomplete — map a free-text Swedish place name to Hemnet locations (city, municipality, county, district, postal area) with their ids. Use it to power a search box or to confirm the exact location a search will use. (params: query*; 0 credit) - [Idealista API scraper — Spain, Italy & Portugal real estate data: for-sale and for-rent property listings from idealista.com / idealista.it / idealista.pt with full filters (price EUR, bedrooms, surface m², property type, sort), each listing with price, rooms, bathrooms, surface, floor, features and photo, plus a full per-listing detail record (address, year built, description, gallery) — no API key required](https://reefapi.com/docs/idealista): 3 endpoints — Search Idealista property listings by location (Spain, Italy or Portugal; for sale or rent) with structured filters: price (EUR), bedrooms, surface (m²), property type and sort. Each result carries id, title, price, rooms, bathrooms, surface, floor, features and thumbnail. Paginate with page. · full AI-ready doc: https://reefapi.com/docs/idealista.md - POST /idealista/v1/search — Search Idealista property listings by location (Spain, Italy or Portugal; for sale or rent) with structured filters: price (EUR), bedrooms, surface (m²), property type and sort. Each result carries id, title, price, rooms, bathrooms, surface, floor, features and thumbnail. Paginate with page. (params: location*, country, contract, sort, home_type, page, price_min, price_max, rooms_min, surface_min; 2 credits) - POST /idealista/v1/detail — Full record for a single listing by its Idealista id (the number in an idealista.com/inmueble// URL, or a search result's `id`). Returns title, price, address, bedrooms, bathrooms, surface, year built, the full feature list, description and all gallery image URLs. (params: id*, country; 2 credits) - POST /idealista/v1/geography — Resolve a free-text place name to the Idealista location slug + a ready-to-use search preview (the count of active listings there). Use it to confirm a location before searching, or to discover the exact slug a city resolves to. (params: query*, country, contract; 0 credit) - [Immobiliare.it API scraper — Italy real estate data: for-sale and for-rent property listings across every Italian city, province and region with full filters (price, rooms, surface m², bathrooms, property type, sort), each listing with price, rooms, bathrooms, surface, floor, typology, features, photos, agency and map coordinates, plus location autocomplete that resolves a city name to the search geo-ids — no API key required](https://reefapi.com/docs/immobiliare): 3 endpoints — Search Immobiliare.it property listings by location (for sale or for rent), with structured filters: price (EUR), rooms, surface (m²), bathrooms, property type and sort. Each result carries price, rooms, bathrooms, surface, floor, typology, features, agency, map coordinates and the primary photo. Paginate with page. · full AI-ready doc: https://reefapi.com/docs/immobiliare.md - POST /immobiliare/v1/search — Search Immobiliare.it property listings by location (for sale or for rent), with structured filters: price (EUR), rooms, surface (m²), bathrooms, property type and sort. Each result carries price, rooms, bathrooms, surface, floor, typology, features, agency, map coordinates and the primary photo. Paginate with page. (params: location*, contract, category, sort, home_type, page, price_min, price_max, rooms_min, rooms_max, surface_min, surface_max, baths_min; 1 credit) - POST /immobiliare/v1/detail — Full record for a single listing by its Immobiliare id (from a search result's `id`, or the number in an immobiliare.it/annunci// URL). Returns every structured field plus all photos at full resolution. Note: the long description text is the portal preview (~600 chars); the complete prose is only on the listing page itself. (params: id*, location; 1 credit) - POST /immobiliare/v1/geography — Location autocomplete — resolve a free-text Italian place name to Immobiliare's geo-ids (comune / province / region) with centre coordinates. Use it to power a search box or to get the exact ids the search needs. Returns ready-to-use search_params for each match. (params: query*; 0 credit) - [Japan Real Estate API (SUUMO scraper) — rent & buy property listings across all 47 prefectures (Tokyo, Osaka, Kyoto, Fukuoka, Hokkaido…) with filters for price, area, station walk-time and building age, plus full listing detail (rent/deposit/key-money, madori layout, m², floor, orientation, structure, station access and photos) and a prefecture/area code lookup — no API key required](https://reefapi.com/docs/japan-re): 5 endpoints — Search SUUMO property listings in any of Japan's 47 prefectures — rentals or homes for sale (used house / used condo / land / new house) — filtered by max price (万円), min area (m²), max station walk-time, building age and a free-text station/area keyword. Paginate with page + max_pages. · full AI-ready doc: https://reefapi.com/docs/japan-re.md - POST /japan-re/v1/search — Search SUUMO property listings in any of Japan's 47 prefectures — rentals or homes for sale (used house / used condo / land / new house) — filtered by max price (万円), min area (m²), max station walk-time, building age and a free-text station/area keyword. Paginate with page + max_pages. (params: prefecture*, listing_type, page, max_pages, max_price_man, min_area_m2, max_walk_minutes, building_age, keyword; 1 credit) - POST /japan-re/v1/detail — Full detail for one SUUMO listing — rent/deposit/key-money or sale price, madori layout, floor area, floor, orientation, building structure & age, station access and the photo gallery. For RENT pass listing_id; for SALE pass the listing's `url` from a search result (SUUMO sale pages have no id-only URL). listing_type picks the right parser. (params: listing_id, url, listing_type; 1 credit) - POST /japan-re/v1/areas — List Japan's 47 prefectures with their romaji slug, kanji name and SUUMO region/JIS codes — use it to discover or validate the `prefecture` value before searching. Pass an optional query to filter by name. (params: query; 1 credit) - POST /japan-re/v1/listings/search — Legacy name for `search`, kept so older integrations keep working. It runs the exact same code and returns the exact same body (verified byte-for-byte, 2026-08-28). New code should call `search`. (params: prefecture*, listing_type, page, max_pages, max_price_man, min_area_m2, max_walk_minutes, building_age, keyword; 1 credit) - POST /japan-re/v1/listings/detail — Legacy name for `detail`, kept so older integrations keep working. It runs the exact same code and returns the exact same body. New code should call `detail`. (params: listing_id, url, listing_type; 1 credit) - [OnTheMarket API scraper — UK property data: for-sale and to-rent listings with full filters (price, beds, property type, radius, keywords, added-within, sort), complete property detail (price, beds/baths, description, key features, tenure & council-tax, photos, floorplans, nearby stations & schools, area stats, agent) and location autocomplete from OnTheMarket.com — the UK's #3 property portal — no API key required](https://reefapi.com/docs/onthemarket): 3 endpoints — Resolve a text location (town, postcode, borough, area) to OnTheMarket location slug(s). Returns multiple ranked matches; use a result's location_id in search. · full AI-ready doc: https://reefapi.com/docs/onthemarket.md - POST /onthemarket/v1/location_search — Resolve a text location (town, postcode, borough, area) to OnTheMarket location slug(s). Returns multiple ranked matches; use a result's location_id in search. (params: query*, channel, limit; 0 credit) - POST /onthemarket/v1/search — Search UK property listings by location (for sale / to rent) with structured filters: price, beds, property type, radius, keywords, added-within and sort. Paginate with page/max_pages (30 per page). (params: location, location_id, channel, for_rent, price_min, price_max, beds_min, beds_max, property_type, radius, added_within_days, sort, keywords, retirement_only, shared_ownership_only, auction_only, new_homes_only, include_under_offer, include_sponsored, page, max_pages, filters; 2 credits) - POST /onthemarket/v1/property_detail — Full property record: price (+qualifier), beds/baths, description, key features, key-info (tenure, council-tax band), images, floorplans, virtual/video tours, documents, nearby stations & schools, area stats (avg price, crime level), breadcrumbs and the listing agent. (params: property_id, url; 3 credits) - [Realtor.com API scraper — US real estate data: for-sale, for-rent and recently-sold listings with full filters (price, beds, baths, property type, sqft, lot, year built, HOA, days-on-market, keywords), complete property detail with RealEstimate value, price & tax history, schools, photos, features and listing agent, multi-source home-value estimates (Collateral Analytics / Quantarium / Cotality), local market trends, location autocomplete and comparable homes — no API key required](https://reefapi.com/docs/realtor): 7 endpoints — Search Realtor.com listings by location (for sale / for rent / recently sold), with structured filters: price, beds, baths, property type, sqft, lot size, year built, HOA, days-on-market and keywords. Paginate with offset. · full AI-ready doc: https://reefapi.com/docs/realtor.md - POST /realtor/v1/search — Search Realtor.com listings by location (for sale / for rent / recently sold), with structured filters: price, beds, baths, property type, sqft, lot size, year built, HOA, days-on-market and keywords. Paginate with offset. (params: location*, status, sort, limit, offset, map_bounds, price_min, price_max, beds_min, beds_max, baths_min, home_type, sqft_min, sqft_max, lot_min, lot_max, year_built_min, year_built_max, max_hoa, days_on_max, keywords; 2 credits) - POST /realtor/v1/detail — Full property record by property_id: RealEstimate value (+ range), price history, tax history, schools (with ratings), photos, interior/exterior feature groups, HOA, status flags, monthly-payment estimate and the listing agent/broker. (params: property_id*; 3 credits) - POST /realtor/v1/estimates — Multi-source home-value estimates (AVMs) for a property — Realtor.com surfaces several independent valuation models (Collateral Analytics, Quantarium, Cotality/CoreLogic), each with its own value and high/low range. Returns the full set plus the best estimate. The valuation surface for pricing a home. (params: property_id*; 2 credits) - POST /realtor/v1/sold — Recently-sold homes by location (or map bounds), with the same structured filters as search — the comparable-sales surface for valuing a home. (params: location*, sort, limit, offset, map_bounds, price_min, price_max, beds_min, beds_max, baths_min, home_type, sqft_min, sqft_max, lot_min, lot_max, year_built_min, year_built_max, max_hoa, days_on_max, keywords; 2 credits) - POST /realtor/v1/market_trends — Local housing-market intelligence for a US city or ZIP — median listing price, median sold price, median price per square foot, median days-on-market and median rent. The market-overview surface for a neighborhood or metro. (params: location*; 1 credit) - POST /realtor/v1/comps — Comparable homes near a property — synthesized from recently-sold and active listings around the subject's coordinates, scored by distance, beds and sqft. (params: property_id*, radius_miles, max_comps, include_active; 2 credits) - POST /realtor/v1/autocomplete — Location autocomplete — suggest Realtor.com cities, ZIPs, neighborhoods, counties and schools for a free-text query. Resolve a fuzzy term before searching, or power a search box. (params: query*; 1 credit) - [Redfin API scraper — US real estate data: for-sale, recently-sold and rental listings with full filters (price, beds, baths, property type, square feet, lot size, year built, HOA, days-on-market) and sorting, complete property detail with Redfin Estimate, price & tax history, schools, photos, amenities and listing agent, comparable homes, market stats and location autocomplete](https://reefapi.com/docs/redfin): 5 endpoints — Search Redfin listings by location (for sale / recently sold / for rent) with structured filters: price, beds, baths, property type, square feet, lot size, year built, HOA and days-on-market, plus result sorting. · full AI-ready doc: https://reefapi.com/docs/redfin.md - POST /redfin/v1/search — Search Redfin listings by location (for sale / recently sold / for rent) with structured filters: price, beds, baths, property type, square feet, lot size, year built, HOA and days-on-market, plus result sorting. (params: location*, url, status, sort, max_results, sold_within_days, min_price, max_price, min_beds, max_beds, min_baths, max_baths, min_sqft, max_sqft, min_lot_sqft, max_lot_sqft, min_year_built, max_year_built, max_hoa, max_days_on_market, property_types; 2 credits) - POST /redfin/v1/listing_detail — Everything Redfin holds on one address: the live listing when the home is on the market (status, asking price, days on market, listing agent, description, photos) plus the property record underneath it - up to 17 years of price and tax history, schools, amenities, Redfin Estimate, mortgage and parcel. The current listing is looked up from the property id automatically; pass `listing_id` as well if you already have it and want to skip that step. `meta.is_live_listing` tells you which of the two you got: false means the home is not currently listed and what you see is the property record - the last closed sale. (params: property_id*, listing_id, url; 3 credits) - POST /redfin/v1/similar — Comparable/similar listings near a property, with the comp price band. (params: property_id*, listing_id, url; 2 credits) - POST /redfin/v1/autocomplete — Resolve free text to Redfin places / agents / schools / buildings (ids + types). (params: query*; 1 credit) - POST /redfin/v1/market_stats — Derived market snapshot for an area: median list price, $/sqft, days on market, inventory, price band. (params: location*, url; 2 credits) - [Rightmove API scraper — UK property data: for-sale, to-rent, commercial and student listings with full filters (price, beds, baths, property type, size, radius, added-within, sort, furnishing), complete property detail (price, EPC, floorplans, key features, nearest stations, agent), estate-agent branch profiles, Land-Registry sold prices and location autocomplete — no API key required](https://reefapi.com/docs/rightmove): 6 endpoints — resolve a text location to a Rightmove locationIdentifier (LOS typeahead) · full AI-ready doc: https://reefapi.com/docs/rightmove.md - POST /rightmove/v1/location_search — resolve a text location to a Rightmove locationIdentifier (LOS typeahead) (params: query*; 0 credit) - POST /rightmove/v1/search — Search UK property listings by location (for sale / to rent / commercial / student) with structured filters: price, beds, baths, property type, size, radius, added-within, sort, and (rent) furnishing & let-type. Paginate with index/max_pages. (params: location, location_identifier, channel, for_rent, price_min, price_max, beds_min, beds_max, baths_min, property_type, sqft_min, sqft_max, radius, added_within_days, sort, furnished, let_type, must_have, dont_show, include_sstc, max_pages, fetch_all, index, filters; 2 credits) - POST /rightmove/v1/property_detail — Full property record: price (+£/sqft), description, key features, tenure & lease years, living costs (council tax band, service charge, ground rent), structured features (utilities/heating/parking/garden/flood-risk), images, floorplans, EPC graphs, sizings, nearest stations, street-view coords and the listing agent. (params: property_id*; 3 credits) - POST /rightmove/v1/agent — estate-agent branch profile (+ that branch's live listings via BRANCH^id) (params: branch_url, branch_id, max_pages; 1 credit) - POST /rightmove/v1/similar — listings similar to a property (same area + price/bedroom band) (params: property_id*; 2 credits) - POST /rightmove/v1/sold_prices — sold/transaction history: by location (search) or per-property (detail_url|uuid). Land-Registry sold data with full per-address transaction history. Area mode pages with `page` (25 rows/page, different rows on every page). (params: location, detail_url, uuid, page; 2 credits) - [Zillow API — US real estate data: for-sale, rental and sold listings, full property detail with Zestimate, price/tax history, schools, comps, agents, market trends, walk/transit/bike scores and home-value history](https://reefapi.com/docs/zillow): 14 endpoints — New US inventory straight from Zillow's own published feed — the listings that appeared in the last couple of days, refreshed within the hour. Returns identity and location (zpid, canonical url, address as Zillow writes it, region, postal code, country, changed_at); pass a zpid to `property_detail` for price, beds, sqft, status and Zestimate. · full AI-ready doc: https://reefapi.com/docs/zillow.md - POST /zillow/v1/new_listings — New US inventory straight from Zillow's own published feed — the listings that appeared in the last couple of days, refreshed within the hour. Returns identity and location (zpid, canonical url, address as Zillow writes it, region, postal code, country, changed_at); pass a zpid to `property_detail` for price, beds, sqft, status and Zestimate. (params: category, region, country, postal_prefix, changed_after, max_results, page; 2 credits) - POST /zillow/v1/search — Search listings by location (for sale / for rent / recently sold), with structured filters: price, beds, baths, home type, sqft, lot, year built, HOA, days-on-market and keywords. Read `returns` before using status=for_rent (rentals come back as BUILDINGS with a units[] breakdown, not as individual apartments) or status=sold (about a dozen US states publish no sale price at all). (params: location*, status, max_pages, fetch_all, max_results, price_min, price_max, beds_min, baths_min, home_type, sqft_min, sqft_max, lot_min, lot_max, year_built_min, year_built_max, max_hoa, days_on_max, keywords; 2 credits) - POST /zillow/v1/search_by_coordinates — Search listings inside exact map bounds (returns more than the standard ~860-result cap), with the same structured filters as search. (params: map_bounds*, status, max_pages, fetch_all, max_results, price_min, price_max, beds_min, baths_min, home_type, sqft_min, sqft_max, lot_min, lot_max, year_built_min, year_built_max, max_hoa, days_on_max, keywords; 2 credits) - POST /zillow/v1/search_by_url — Run any copied Zillow URL: a search URL replays that exact search (with its filters); a property URL routes to the full property detail. (params: url*; 2 credits) - POST /zillow/v1/property_detail — Full property record: Zestimate (+history), price & tax history, schools, walk/transit/bike scores, agent, photos, RESO facts. Batch several with zpids[]. (params: zpid, zpids, url; 3 credits) - POST /zillow/v1/comps — Comparable homes near a property (synthesized similar-listing search, scored by distance/beds/sqft). (params: zpid, url, radius_deg, max_comps; 2 credits) - POST /zillow/v1/sold — Recently-sold listings (last 12 months) by location or map bounds, with the same structured filters as search. The sale price fills in disclosure states and is genuinely absent in non-disclosure ones - read `returns` before building on it. (params: location, map_bounds, max_pages, fetch_all, max_results, price_min, price_max, beds_min, baths_min, home_type, sqft_min, sqft_max, lot_min, lot_max, year_built_min, year_built_max, max_hoa, days_on_max, keywords; 2 credits) - POST /zillow/v1/agent — Listing agent + broker attribution for one property (agentInfo). (params: zpid, url; 2 credits) - POST /zillow/v1/agent_profile — An agent's full portfolio: profile info + their for-sale/sold listings + reviews. (params: username, profile_url, zuid, url; 3 credits) - POST /zillow/v1/agents_by_location — Real-estate agent directory for a location, with review summaries. (params: location*; 2 credits) - POST /zillow/v1/autocomplete — Location autocomplete — suggest Zillow regions and addresses for a free-text query (city, ZIP, neighborhood, county or street). Use it to resolve a fuzzy term before searching, or to power a search box. (params: query*; 1 credit) - POST /zillow/v1/market_trends — Region market metrics: ZHVI home-value index, median sale/list price, inventory, days-to-pending, % sold above list, rent index. (params: location*; 2 credits) - POST /zillow/v1/walk_transit_bike — Zillow Walk Score, Transit Score and Bike Score for a property — walkability, public-transit access and bikeability (0-100) with a description for each. (params: zpid, url; 1 credit) - POST /zillow/v1/home_value_chart — Zillow home-value history — the Zestimate value-over-time series for a property (monthly home value, up to the last 10 years, with the latest forecast point). (params: zpid, url, time_period; 1 credit) ## Jobs & Hiring - [ATS Job Boards API — pull company-direct job postings from Greenhouse, Lever, Ashby and Workable in one unified schema](https://reefapi.com/docs/ats-jobs): 4 endpoints — all open jobs for a board → {jobs[]{id,title,url,company,location,locations,...}, count, total, company, ats_source}. `ats`=greenhouse|lever|ashby|workable + `company` (board token/subdomain). · full AI-ready doc: https://reefapi.com/docs/ats-jobs.md - POST /ats-jobs/v1/company_jobs — all open jobs for a board → {jobs[]{id,title,url,company,location,locations,...}, count, total, company, ats_source}. `ats`=greenhouse|lever|ashby|workable + `company` (board token/subdomain). (params: ats*, company*, limit, cursor, page; 1 credit) - POST /ats-jobs/v1/job_detail — one fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`. (params: ats*, company*, job_id*; 1 credit) - POST /ats-jobs/v1/search — cross-company job search over the Workable aggregator (170K jobs) → jobs[]. `query` + (default `ats`=workable). paginated. (params: query*, ats, limit, cursor, page; 1 credit) - POST /ats-jobs/v1/providers — the supported ATS providers + their capabilities (params: none; 1 credit) - [Hiring Signals API — turn a company domain into a hiring snapshot: ATS provider, open-role counts, departments, seniority, remote ratio and tech-stack signals](https://reefapi.com/docs/enrich-hiring): 3 endpoints — domain → company hiring snapshot: ATS provider + direct open-roles count, per-source counts (deduped), departments/seniority/remote-ratio/tech-signals, entity-confirm, honest snapshot intensity · full AI-ready doc: https://reefapi.com/docs/enrich-hiring.md - POST /enrich-hiring/v1/hiring_signal — domain → company hiring snapshot: ATS provider + direct open-roles count, per-source counts (deduped), departments/seniority/remote-ratio/tech-signals, entity-confirm, honest snapshot intensity (params: domain, company_name, ats_slug, ats_provider, countries; 6 credits) - POST /enrich-hiring/v1/hiring_signal_rich — everything in hiring_signal + employer firmographics (linkedin company / glassdoor employer: industry, employee_count, HQ, founded, rating) which anchor a headcount-relative intensity (open-roles-to-headcount ratio) (params: domain, company_name, ats_slug, ats_provider, countries; 10 credits) - POST /enrich-hiring/v1/batch — hiring_signal for up to 10 domains in one call (cache-first, per-item ok/error) (params: domains*; 5 credits) - [Fiverr.com API scraper — live gig search, gig detail and public seller profiles from Fiverr in clean JSON: title, starting price, packages, delivery time, ratings, review counts, seller level and country. No login required.](https://reefapi.com/docs/fiverr): 4 endpoints — Search live Fiverr GIGS by keyword. Returns title, starting price + delivery days, package count, rating, review count, category, gig attributes (style/format/…), images, and the seller's handle, level, country, languages and rating. Paid 'promoted' gigs are dropped by default and flagged when kept. · full AI-ready doc: https://reefapi.com/docs/fiverr.md - POST /fiverr/v1/search — Search live Fiverr GIGS by keyword. Returns title, starting price + delivery days, package count, rating, review count, category, gig attributes (style/format/…), images, and the seller's handle, level, country, languages and rating. Paid 'promoted' gigs are dropped by default and flagged when kept. (params: query*, limit, offset, include_promoted; 3 credits) - POST /fiverr/v1/category — Browse a Fiverr CATEGORY without a keyword — same gig rows as `search`, taken from the category landing page. Use when you want the market for a whole sub-category (e.g. website development) rather than a search term. (params: category*, limit, offset, include_promoted; 3 credits) - POST /fiverr/v1/gig — Full detail for ONE Fiverr gig by URL or '/': description, every pricing package (title, price, delivery hours, revisions), FAQ, review summary and the most recent reviews with their order price band, plus the seller block. (params: id*; 2 credits) - POST /fiverr/v1/seller — PUBLIC business profile of a Fiverr seller by handle or profile URL: display name, headline, bio, country, timezone, join date, languages, skills, seller level, Pro/verified flags, response time, hourly rate, rating, review count and the gigs they list. (params: username*; 2 credits) - [Freelancer.com API scraper — live freelance projects, freelancer & employer profiles, design contests, and the full skill/category taxonomy from Freelancer.com: budget, bids/proposals, skills, client country, ratings and portfolio, in clean PII-safe JSON. No login required.](https://reefapi.com/docs/freelancer): 6 endpoints — Search live freelance PROJECTS on Freelancer.com by keyword, skills, category, budget/hourly band, freshness, country, and language; sorted by recency, bids, or bid-deadline. Returns title, description, budget{type,min,max,currency}, skills[], bids_count (proposals), posted_at, client_country, and url. No client PII. · full AI-ready doc: https://reefapi.com/docs/freelancer.md - POST /freelancer/v1/search — Search live freelance PROJECTS on Freelancer.com by keyword, skills, category, budget/hourly band, freshness, country, and language; sorted by recency, bids, or bid-deadline. Returns title, description, budget{type,min,max,currency}, skills[], bids_count (proposals), posted_at, client_country, and url. No client PII. (params: query, match, skills, category, project_types, budget_min, budget_max, posted_within, countries, languages, sort, limit, offset; 1 credit) - POST /freelancer/v1/project — Full detail for one Freelancer.com project by numeric id, project URL, or SEO slug — everything from `search` plus hourly-commitment, timeframe, qualifications, escrow status and selected-bid count. No client PII. (params: id*; 1 credit) - POST /freelancer/v1/user — PUBLIC business profile of a Freelancer.com freelancer or employer by username/handle or id: display name, country, role, hourly rate, reputation (rating/reviews/completion/repeat-hire), skills, membership, badges, portfolio and registration year. PII (email/phone/legal-name/address) is NEVER returned. (params: username*; 1 credit) - POST /freelancer/v1/contests — Browse live OPEN Freelancer.com design/creative CONTESTS (accepting entries) — prize, currency, entry count, skills, and deadlines. Filter by keyword and skills. (params: query, skills, limit, offset; 1 credit) - POST /freelancer/v1/skills — Resolve a skill name to Freelancer.com skill id(s) (for search's `skills` filter), or list the most-popular skills with their active-project counts — the marketplace's skill taxonomy. (params: query, limit; 1 credit) - POST /freelancer/v1/categories — List the top-level Freelancer.com job categories (Websites/IT, Design, Writing, Mobile…) with their active-project counts — the browse taxonomy for scoping a search. (params: none; 1 credit) - [Glassdoor API — company reviews, interview reports, salary data & job listings (glassdoor.com)](https://reefapi.com/docs/glassdoor): 10 endpoints — Resolve a company name to its Glassdoor employer_id + basic profile. Start here — every other action needs the employer_id. · full AI-ready doc: https://reefapi.com/docs/glassdoor.md - POST /glassdoor/v1/employer/search — Resolve a company name to its Glassdoor employer_id + basic profile. Start here — every other action needs the employer_id. (params: query*; 1 credit) - POST /glassdoor/v1/employer/detail — Employer profile + ratings. (params: employer_id*, dynamic_profile_id; 1 credit) - POST /glassdoor/v1/employer/reviews — One page of employer reviews (rating, pros/cons, role). (params: employer_id*, page, cursor, page_size, dynamic_profile_id; 1 credit) - POST /glassdoor/v1/employer/reviews-harvest — Fetch all available Glassdoor reviews across multiple pages — returns every unique review with rating, pros/cons and role. (params: employer_id*, dynamic_profile_id, page_size, max_pages; 1 credit) - POST /glassdoor/v1/employer/interviews — One page of interview reports (questions, difficulty, outcome). (params: employer_id*, page, cursor, items_per_page, dynamic_profile_id; 1 credit) - POST /glassdoor/v1/employer/interviews-harvest — Fetch all available Glassdoor interview reports across multiple pages. (params: employer_id*, dynamic_profile_id, items_per_page, max_pages; 1 credit) - POST /glassdoor/v1/employer/jobs — Employer job listings (one page; cursor pagination). (params: employer_id*, page, cursor, page_size, page_cursor; 1 credit) - POST /glassdoor/v1/employer/jobs-harvest — Fetch all available Glassdoor job listings across multiple pages. (params: employer_id*, dynamic_profile_id, page_size, max_pages; 1 credit) - POST /glassdoor/v1/employer/salaries — Glassdoor salary estimates for this employer, broken down by job title. Each title returns the full pay distribution — base pay and total pay percentiles (P10/P25/P50/P75/P90), median base/total/additional pay, plus cash bonus, stock, profit sharing, sales commission and tips bands. Titles are ordered by number of reported salaries (most-reported first). (params: employer_id*, job_title, page, cursor, page_size, pay_period; 1 credit) - POST /glassdoor/v1/employer/salaries-harvest — Fetch salary estimates for all job titles at this employer across multiple pages — every title with its full pay distribution. (params: employer_id*, job_title, page_size, pay_period, max_pages; 1 credit) - [Global Jobs API — Naukri (India), Gupy & Catho (Brazil), StepStone (Germany) job search](https://reefapi.com/docs/global-jobs): 2 endpoints — Search live job listings on Naukri (India), Gupy and Catho (Brazil), or StepStone (Germany & Europe) by job title, keyword and city. Returns each job's title, company, location and link. · full AI-ready doc: https://reefapi.com/docs/global-jobs.md - POST /global-jobs/v1/jobs/search — Search live job listings on Naukri (India), Gupy and Catho (Brazil), or StepStone (Germany & Europe) by job title, keyword and city. Returns each job's title, company, location and link. (params: platform*, keyword, query, location, max_pages, max_results, page_size; 1 credit) - POST /global-jobs/v1/jobs/detail — Get the full details of a single job posting from Naukri, Gupy, Catho or StepStone — job title, company, full description, salary, location and how to apply. (params: platform*, job_id, job_url, apply_url; 1 credit) - [Guru.com API scraper — live freelance jobs, rich job detail, the category/skill taxonomy, and freelancer/provider profiles from Guru.com in clean PII-safe JSON: budget, skills, quotes, posted date, and provider ratings. No login required.](https://reefapi.com/docs/guru): 4 endpoints — Search live freelance JOBS across the whole Guru.com board. `query` is served SERVER-SIDE via Guru's own skill/keyword path — known skills are canonicalised from the shipped slug dictionary (`nodejs` → `node.js`), unknown terms use Guru's free-text match, and `data.match` reports which. Also browsable by `category`/`skills` and paginated by `offset`. Returns title, description, budget{type,min,max,currency}, skills[], quote count (bids_count), posted date, and url. No client PII. · full AI-ready doc: https://reefapi.com/docs/guru.md - POST /guru/v1/search — Search live freelance JOBS across the whole Guru.com board. `query` is served SERVER-SIDE via Guru's own skill/keyword path — known skills are canonicalised from the shipped slug dictionary (`nodejs` → `node.js`), unknown terms use Guru's free-text match, and `data.match` reports which. Also browsable by `category`/`skills` and paginated by `offset`. Returns title, description, budget{type,min,max,currency}, skills[], quote count (bids_count), posted date, and url. No client PII. (params: query, category, skills, limit, offset; 1 credit) - POST /guru/v1/project — Full detail for one Guru.com job by URL, slug, or numeric id — title, description, budget{type,min,max,currency}, skills[], employment type, posted date, valid-through, and the job's location requirement (country). No client PII. (params: id*; 1 credit) - POST /guru/v1/user — PUBLIC business profile of a Guru.com freelancer/provider by profile URL or handle: display name, headline, country, skills, and rating summary. PII (email/phone/legal-name/address) is NEVER returned. (params: username*; 1 credit) - POST /guru/v1/categories — List the top-level Guru.com freelance job categories (Programming, Design, Writing…) — the browse taxonomy for scoping a `search`. (params: none; 1 credit) - [Indeed API — live job search, salary data & company profiles from indeed.com (60+ country sites)](https://reefapi.com/docs/indeed): 7 endpoints — Search live job postings on Indeed by keyword and location. Each result includes the full job description, salary range, employer details, posting date, apply link, employment type and remote flag. Filter by job type, remote/hybrid, seniority, posting date and radius. Covers 60+ Indeed country sites. · full AI-ready doc: https://reefapi.com/docs/indeed.md - POST /indeed/v1/jobs/search — Search live job postings on Indeed by keyword and location. Each result includes the full job description, salary range, employer details, posting date, apply link, employment type and remote flag. Filter by job type, remote/hybrid, seniority, posting date and radius. Covers 60+ Indeed country sites. (params: query*, country, location, max_results, sort_by, include_detail, job_type, remote, hybrid, level, from_days, radius; 1 credit) - POST /indeed/v1/job — Get the full detail of one or more specific jobs by their Indeed job key (or job URL). Returns the complete job description, salary, employer details, location, posting date, skills, benefits and apply link for each. Pass several keys at once to fetch them in a single call. (params: jobkey*, country; 1 credit) - POST /indeed/v1/company — Look up a company on Indeed: profile (industry, size, revenue, HQ, founded year, description, website), reputation (overall rating, review count, CEO approval) and optionally the company's open jobs. (params: company*, country, include_jobs, max_jobs; 2 credits) - POST /indeed/v1/company/search — Find companies on Indeed by name or keyword (optionally near a location). Returns a ranked list of companies with each one's overall rating, review count, industry sectors, logo and links to its Indeed profile, jobs, reviews and salaries pages. (params: query*, country, location, max_results; 1 credit) - POST /indeed/v1/company/reviews — Get a company's employee reviews from Indeed (review text, overall rating, the 5 sub-ratings — work/life balance, compensation, management, culture, job security — job title, location and date). Pass the company name or Indeed /cmp slug; paginate with `start`. (params: company*, max_reviews, start, sort; 1 credit) - POST /indeed/v1/company/salaries — Get a company's salary breakdown by job title from Indeed (average pay, pay period and the number of salaries reported per role). Pass the company name or Indeed /cmp slug. (params: company*; 1 credit) - POST /indeed/v1/estimated_salary — Estimate the market salary for a job title (optionally in a specific US location) from Indeed's salary data — median/mean/min/max/std + sample size + average cash bonus, plus the top-paying companies, top-paid cities, related job titles and a per-US-state average map. Both the location-specific estimate and the national estimate are returned. (params: job_title*, location; 1 credit) - [Levels.fyi API — tech salary & compensation scraper: total comp, base, stock and bonus by company, role, level, location and years of experience, plus percentile bands (P10/P25/P50/P75/P90), the median offer and individual anonymized salary submissions from Levels.fyi (levels.fyi) — company role catalog and role-to-company coverage included, no API key required](https://reefapi.com/docs/levels-fyi): 5 endpoints — The flagship action: full Levels.fyi compensation breakdown for one company + role. Returns the level ladder (L3/L4/…), per-level averages (base / stock / bonus / total), the percentile bands (P10/P25/P50/P75/P90 for total-comp, base, bonus and stock), the median offer (with years of experience), the role's sub-specializations and a sample of recent salary submissions. Pass an optional `location` to scope to a metro. · full AI-ready doc: https://reefapi.com/docs/levels-fyi.md - POST /levels-fyi/v1/company/salaries — The flagship action: full Levels.fyi compensation breakdown for one company + role. Returns the level ladder (L3/L4/…), per-level averages (base / stock / bonus / total), the percentile bands (P10/P25/P50/P75/P90 for total-comp, base, bonus and stock), the median offer (with years of experience), the role's sub-specializations and a sample of recent salary submissions. Pass an optional `location` to scope to a metro. (params: company*, role*, location; 1 credit) - POST /levels-fyi/v1/company/roles — Resolve a company to its Levels.fyi profile (id, slug, website, employee count, HQ, vesting schedule…) plus the catalog of job-family role slugs you can query for it. Use this to confirm a company's slug and pick a role slug to feed into company/salaries. NOTE: the role list is the full Levels.fyi job-family catalog (the roles available to query) — for the roles a company actually has reported data for, read `related_roles` from a company/salaries response. (params: company*; 1 credit) - POST /levels-fyi/v1/company/search — Find companies on Levels.fyi by name. Returns matching companies with the slug and a ready-to-use salaries URL — feed the slug into company/roles or company/salaries. (params: query*, limit; 1 credit) - POST /levels-fyi/v1/role/companies — For a given role/title, list every company that reports compensation data for it on Levels.fyi (the role's coverage), plus the country-wide median total-comp and the full job-family catalog. Useful for 'which companies pay for ' and leaderboard-style discovery. (params: role*, limit; 1 credit) - POST /levels-fyi/v1/submissions — Paginated individual salary submissions for a company + role — the raw anonymized datapoints behind the averages: level, focus, years of experience, location, base / stock / bonus / total comp and offer date. 50 per page; page with `page`. (params: company*, role*, location, page; 1 credit) - [LinkedIn Jobs API — search jobs, jobs by company, location lookup, similar jobs, posting detail & company profiles from LinkedIn (linkedin.com), no login required](https://reefapi.com/docs/linkedin-jobs): 6 endpoints — Search public LinkedIn job postings by keywords, with optional location and date/seniority/job-type/workplace filters. · full AI-ready doc: https://reefapi.com/docs/linkedin-jobs.md - POST /linkedin-jobs/v1/jobs/search — Search public LinkedIn job postings by keywords, with optional location and date/seniority/job-type/workplace filters. (params: keywords*, location, max_results, date_posted, experience, job_type, workplace, industry, job_function, salary_min, salary_band, company, include_detail, include_company, page, cursor, start, geoId, filters, detail_concurrency; 1 credit) - POST /linkedin-jobs/v1/jobs/detail — Full posting for one job: description, employment type, seniority, salary, applicant count. (params: job_id*, include_company; 1 credit) - POST /linkedin-jobs/v1/company — Company profile: description, website, employee count, industry, HQ, founded year, specialties. (params: company*; 2 credits) - POST /linkedin-jobs/v1/jobs/by-company — All public job postings at a specific company — pass a company slug, URL or numeric id; optionally narrow with the same keyword/location/date/seniority/job-type/workplace filters as jobs/search. (params: company*, keywords, location, max_results, date_posted, experience, job_type, workplace, industry, job_function, salary_min, salary_band, include_detail, include_company, page, cursor, start, geoId, filters, detail_concurrency; 1 credit) - POST /linkedin-jobs/v1/locations/search — Location typeahead → resolve a place name (city, region, metro area, country) to the LinkedIn numeric geoId used by the `geoId` search param for precise geo-pinned searches. (params: query*; 1 credit) - POST /linkedin-jobs/v1/jobs/similar — Related job postings for a given job_id. LinkedIn's guest surface exposes no direct similar-jobs feed, so results are a keyword+location re-search seeded from the source job's own title (the seed job is excluded). (params: job_id*, keywords, location, max_results, include_detail, include_company; 1 credit) - [Reed.co.uk API — UK jobs scraper: search Reed job postings by keyword, location, salary, distance, job-type, date and remote/hybrid filters; get full job detail (title, company, salary, location, description, contract type, sector, apply link); list all jobs at a company; and browse jobs by sector — from reed.co.uk, no login or API key required](https://reefapi.com/docs/reed): 4 endpoints — Search Reed.co.uk job postings by keyword with optional location, distance, salary range, job-type, date-posted, remote and sort filters. Returns up to 25 jobs per page with title, company, salary, location, dates and a plain-text description. · full AI-ready doc: https://reefapi.com/docs/reed.md - POST /reed/v1/search — Search Reed.co.uk job postings by keyword with optional location, distance, salary range, job-type, date-posted, remote and sort filters. Returns up to 25 jobs per page with title, company, salary, location, dates and a plain-text description. (params: keywords*, location, distance, job_type, full_time, part_time, graduate, agency, employer, salary_from, salary_to, date_posted, remote, visa_sponsorship, easy_apply, sort, page; 1 credit) - POST /reed/v1/detail — Full posting for one Reed job by job_id (or a Reed job URL): title, company, salary (range + display), location breakdown (town/county/region/country/postcode/remote), full HTML + plain-text description, contract type, sector, eligibility, dates and breadcrumbs — plus related jobs. (params: job_id, url, include_similar; 1 credit) - POST /reed/v1/company-jobs — All public job postings at a specific company on Reed. Pass the company's Reed profile slug, full company URL, or its name; optionally narrow with the same keyword/location/salary/job-type/date filters as search. (params: company*, keywords, location, distance, job_type, salary_from, salary_to, date_posted, remote, sort, page; 1 credit) - POST /reed/v1/sector — Browse Reed jobs by sector/category (e.g. 'it', 'accountancy', 'healthcare', 'engineering', 'sales', 'marketing'). Optionally scope by location and the same salary/job-type/date/remote filters as search. (params: sector*, location, distance, job_type, salary_from, salary_to, date_posted, remote, sort, page; 1 credit) - [SEEK API — Australia jobs scraper: search SEEK (seek.com.au) job postings by keyword, location, salary, work-type, date and remote/hybrid filters; get full job detail (title, company, salary, location, description, work arrangement, posted/expiry dates, apply link, employer profile); list all jobs at a company; and browse jobs by classification/category — from Australia's #1 job board, no login or API key required](https://reefapi.com/docs/seek): 4 endpoints — Search SEEK (seek.com.au) job postings by keyword with optional location, salary range, work-type, work-arrangement (remote/hybrid/on-site), date-posted, classification and sort filters. Returns up to 32 jobs per page with title, company, salary, location, dates and a teaser. · full AI-ready doc: https://reefapi.com/docs/seek.md - POST /seek/v1/search — Search SEEK (seek.com.au) job postings by keyword with optional location, salary range, work-type, work-arrangement (remote/hybrid/on-site), date-posted, classification and sort filters. Returns up to 32 jobs per page with title, company, salary, location, dates and a teaser. (params: keywords*, location, job_type, work_arrangement, salary_from, salary_to, date_posted, classification, subclassification, sort, page; 1 credit) - POST /seek/v1/detail — Full posting for one SEEK job by job_id (or a SEEK job URL): title, company, salary, location breakdown (suburb/state/postcode/country), full HTML + plain-text description, work types, work arrangement, classifications, bullet points, posted & expiry dates, apply/share link, and the employer's company profile (industry, size, website, rating, review count). (params: job_id, url; 1 credit) - POST /seek/v1/company-jobs — All public job postings at a specific company on SEEK. Pass the company's numeric advertiser id (the `advertiser_id` field on any search/detail result), its SEEK company slug, a full SEEK company URL, or its name; optionally narrow with the same keyword/location/salary/work-type/date filters as search. (params: company*, keywords, location, job_type, work_arrangement, salary_from, salary_to, date_posted, sort, page; 1 credit) - POST /seek/v1/classification — Browse SEEK jobs by classification/category — either a SEEK classification numeric id (e.g. 6281 = Information & Communication Technology) or a category slug ('information-communication-technology', 'healthcare-medical', 'trades-services', 'accounting', 'sales', 'education-training'). Optionally scope by location and the same salary/work-type/date filters as search. (params: classification*, location, job_type, work_arrangement, salary_from, salary_to, date_posted, sort, page; 1 credit) - [Shixian (实现网) remote-work brief API — China's freelance/remote contract board in clean JSON. Every brief carries the client's own CNY budget, the project duration, the complete requirement text, hiring city, role category, applicant count and poster profile. Keyword search, paginated board, single-brief detail. No login, no token, no China exit required.](https://reefapi.com/docs/shixian): 4 endpoints — Find remote-work briefs by keyword — the ones that mention 爬虫 (scraping), 数据采集 (data collection), API, 小程序 or any term you care about — each with the client's published CNY budget, duration, full requirement text and applicant count. 🔴 shixian publishes no job-search endpoint (its own `keyword=` parameter is accepted and ignored — verified: a nonsense keyword still returns the full front page), so this action scans the board pages and matches here; the response states exactly how many pages and briefs were scanned. · full AI-ready doc: https://reefapi.com/docs/shixian.md - POST /shixian/v1/search — Find remote-work briefs by keyword — the ones that mention 爬虫 (scraping), 数据采集 (data collection), API, 小程序 or any term you care about — each with the client's published CNY budget, duration, full requirement text and applicant count. 🔴 shixian publishes no job-search endpoint (its own `keyword=` parameter is accepted and ignored — verified: a nonsense keyword still returns the full front page), so this action scans the board pages and matches here; the response states exactly how many pages and briefs were scanned. (params: q*, match, fields, pages, limit, city, category, type, sort; 2 credits) - POST /shixian/v1/jobs — One page of the shixian board — 20 remote-work briefs with the complete requirement text and the client's published CNY budget on every row. Filter by city, role category, contract shape or the board's own shortlists (newest, zero-applicant, accepts-remote) and page through roughly 3,200 live briefs. (params: page, limit, city, category, type, sort; 1 credit) - POST /shixian/v1/job — One brief in full: the complete requirement text straight out of the page's own schema.org block, the client's budget, the hiring city and role, the project type, workdays per month, how many people have applied, how many have viewed it, and the poster's public marketplace profile (display name, location, team size, funding stage, product and team blurbs) — the profile fields the board hides behind a login wall on the list page. (params: id*; 1 credit) - POST /shixian/v1/filters — The board's own filter taxonomy, read live off the site: every city slug, every role-category slug, the contract shapes and the sort modes, each with its Chinese label. Use it to discover the exact values `search` and `jobs` accept — the site silently ignores a slug it does not know, so a typo would otherwise return the unfiltered board. (params: none; 1 credit) - [Truelancer.com API scraper — live freelance projects and freelancer profiles from Truelancer.com in clean PII-safe JSON: title, budget, skills, category, proposals, client country, and freelancer ratings/earnings. No login required.](https://reefapi.com/docs/truelancer): 3 endpoints — Search live freelance PROJECTS on Truelancer.com by keyword. Returns title, description, budget{type,min,max,currency}, skills[], category, proposal count, posted_at, coarse client signals (country, verified, total spent), and the project url. No client PII (the poster's name is dropped). · full AI-ready doc: https://reefapi.com/docs/truelancer.md - POST /truelancer/v1/search — Search live freelance PROJECTS on Truelancer.com by keyword. Returns title, description, budget{type,min,max,currency}, skills[], category, proposal count, posted_at, coarse client signals (country, verified, total spent), and the project url. No client PII (the poster's name is dropped). (params: query, limit, offset; 1 credit) - POST /truelancer/v1/project — Full detail for one Truelancer.com project by URL or slug — everything from `search` plus views, end-date, tags, payment-verified flag, and proposal breakdown (received/active/shortlisted). No client PII. (params: id*; 1 credit) - POST /truelancer/v1/user — PUBLIC business profile of a Truelancer.com freelancer by handle or profile URL: display name, headline, country, hourly rate, skills, ratings (avg rating, reviews, five-star %, projects delivered, total earnings), membership and availability. PII (email/phone/legal-name/address) is NEVER returned. (params: username*; 1 credit) - [ZipRecruiter API — live job search, job details & jobs-by-company from ZipRecruiter (ziprecruiter.co.uk / .ie / .de), no login required](https://reefapi.com/docs/ziprecruiter): 3 endpoints — Search live ZipRecruiter job listings by keyword and location, with pagination and an optional remote-only filter. Each result includes the title, company, location, salary (when posted), posting date, a snippet, the on-site job URL and the apply link. Covers the United Kingdom (ziprecruiter.co.uk), Ireland (ziprecruiter.ie) and Germany (ziprecruiter.de). · full AI-ready doc: https://reefapi.com/docs/ziprecruiter.md - POST /ziprecruiter/v1/search — Search live ZipRecruiter job listings by keyword and location, with pagination and an optional remote-only filter. Each result includes the title, company, location, salary (when posted), posting date, a snippet, the on-site job URL and the apply link. Covers the United Kingdom (ziprecruiter.co.uk), Ireland (ziprecruiter.ie) and Germany (ziprecruiter.de). (params: query*, location, country, page, max_results, remote; 1 credit) - POST /ziprecruiter/v1/job_detail — Full ZipRecruiter job posting by job ID (or URL): title, company, location, salary range, employment type, remote flag, posting & expiry dates, the full description, an extracted requirements list and the apply link. (params: job_id*, url, country; 1 credit) - POST /ziprecruiter/v1/jobs_by_company — List a specific employer's open jobs on ZipRecruiter. Pass a company name; the engine searches and keeps only listings whose employer matches (ZipRecruiter's country sites have no dedicated company page, so this is a best-effort name match over the search results). Optionally narrow by location. (params: company*, location, country, page, max_results; 1 credit) ## Travel & Lodging - [Agoda API scraper — hotel data, guest reviews & destination lookup: search destinations, browse a city's popular hotels, pull a hotel's full record (name, star rating, address, coordinates, facilities, policies, nearby places, FAQ) and paginated guest reviews (score, pros/cons, reviewer country, room type, owner replies) from Agoda.com across Asia-Pacific and worldwide — no API key required](https://reefapi.com/docs/agoda): 4 endpoints — Resolve a free-text place ('Bangkok', 'Tokyo', 'Maldives', an airport or a landmark) into Agoda's destination ids. Returns matched cities, areas, airports, points of interest and hotels with their object_id, type and (for cities) the city_id + hotel count. Use this first to get the city_id the city_browse action needs. · full AI-ready doc: https://reefapi.com/docs/agoda.md - POST /agoda/v1/destinations — Resolve a free-text place ('Bangkok', 'Tokyo', 'Maldives', an airport or a landmark) into Agoda's destination ids. Returns matched cities, areas, airports, points of interest and hotels with their object_id, type and (for cities) the city_id + hotel count. Use this first to get the city_id the city_browse action needs. (params: query*, language; 1 credit) - POST /agoda/v1/city_browse — Browse a city's popular hotels and accommodation themes. Returns ~100 popular hotels (name + Agoda detail URL), property-type theme links (apartments, hostels, resorts…) and the city's travel guides. Pass a numeric city_id from the destinations action. (params: city_id*, language; 1 credit) - POST /agoda/v1/detail — Full hotel record by hotel_id (or hotel URL): name, accommodation type, star rating, full address + city/country, coordinates, description, facilities (grouped), policies, important notes, nearby places of interest and the property FAQ. (params: hotel_id, url, language; 1 credit) - POST /agoda/v1/reviews — Paginated guest reviews for one hotel (70 per page): star rating, title, separate positive/negative text, review date, reviewer country, traveler type, room type and length of stay, the owner's reply and helpful votes. The response also carries the hotel's overall score and total review count. Page with `page` until meta.has_more is false. (params: hotel_id, url, page, sort_by, language; 1 credit) - [Airbnb API scraper — search stays, listing details, host profile, guest reviews, prices and availability calendar (airbnb.com data, no account required)](https://reefapi.com/docs/airbnb): 8 endpoints — Search Airbnb stays by location and dates with full filters: price range, guests, place/property type, bedrooms/beds/baths, amenities, instant-book, Superhost, free cancellation and host language (≈26 cards/page, cursor-paginated). · full AI-ready doc: https://reefapi.com/docs/airbnb.md - POST /airbnb/v1/stays.search — Search Airbnb stays by location and dates with full filters: price range, guests, place/property type, bedrooms/beds/baths, amenities, instant-book, Superhost, free cancellation and host language (≈26 cards/page, cursor-paginated). (params: query*, checkin, checkout, adults, children, infants, price_min, price_max, room_type, property_type, min_bedrooms, min_beds, min_bathrooms, amenities, host_languages, instant_book, superhost, free_cancellation, pets_allowed, cursor, currency, locale; 2 credits) - POST /airbnb/v1/stays.detail — Full listing details: title, property/room type, guest capacity, the six category sub-ratings, host card, complete amenity list, photo URLs, sleeping arrangement, house rules, description and map location. Returns a clean `parsed` summary plus the raw PDP payload. (params: listing_id*, currency, locale; 3 credits) - POST /airbnb/v1/host.profile — Host profile for a listing: host name, Superhost/verified status, overall host rating, total reviews, years hosting, response rate and host highlights. (params: listing_id*; 1 credit) - POST /airbnb/v1/stays.reviews — Listing reviews, paginated via offset/limit. (params: listing_id*, offset, limit, locale; 1 credit) - POST /airbnb/v1/stays.availability_calendar — Availability calendar for a listing (up to 12 months ahead): per-day availability + min/max nights. (params: listing_id*; 2 credits) - POST /airbnb/v1/properties.search — Alias of stays.search. (params: query*, checkin, checkout, adults, cursor, currency, locale; 2 credits) - POST /airbnb/v1/properties.detail — Alias of stays.detail. (params: listing_id*, currency, locale; 3 credits) - POST /airbnb/v1/autocomplete — Location autocomplete suggestions (raw passthrough). (params: none; 1 credit) - [Booking.com API — hotel search, prices, availability, guest reviews & destination lookup (booking.com, global coverage)](https://reefapi.com/docs/booking): 5 endpoints — Search hotels in a destination for given dates (25 hotels per page, with prices, review scores, photos, room configurations). Supports sorting, price/star/rating/amenity filters and paging. Pass ?include_facets=1 to list every available filter and sorter for the destination. · full AI-ready doc: https://reefapi.com/docs/booking.md - POST /booking/v1/hotels/search — Search hotels in a destination for given dates (25 hotels per page, with prices, review scores, photos, room configurations). Supports sorting, price/star/rating/amenity filters and paging. Pass ?include_facets=1 to list every available filter and sorter for the destination. (params: query, dest_id, dest_type, checkin, checkout, adults, rooms, children_ages, currency, page, sort_by, min_price, max_price, min_rating, stars, free_cancellation, breakfast_included, amenities, include_facets, include_raw; 2 credits) - POST /booking/v1/hotels/detail — Full hotel record: summary, rating breakdown, facilities, room types, surroundings, FAQ. (params: page_name, country_code, hotel_url, checkin, checkout, adults, rooms, currency; 3 credits) - POST /booking/v1/hotels/availability — Visible room blocks (room, occupancy, price, cancellation policy, meal plan) for a destination's top hotel on given dates. (params: query, dest_id, dest_type, checkin, checkout, hotel_id, adults, rooms, children_ages, currency; 2 credits) - POST /booking/v1/hotels/reviews — Paginated, deduped guest reviews for one hotel (score, title, pros/cons text, owner reply, room type, stay dates, reviewer country, photos). Fetches ALL reviews by default; supports sorting and keyword search. The response also lists the available review filters (by score / language / customer type / season / topic). (params: page_name, country_code, hotel_id, hotel_url, max_reviews, sort_by, keyword, review_page_size; 1 credit) - POST /booking/v1/destinations/autocomplete — Resolve a free-text place ('Paris', 'Maldives', 'JFK') into the destination IDs the other actions take (dest_id + dest_type), with country, coordinates and how many hotels/homes each match has. Use this first when you only have a place name. (params: query, limit; 1 credit) - [Car Rental API (DiscoverCars scraper) — compare rental-car offers & prices from 35+ suppliers across 145 countries, with location resolver, supplier comparison & reviews](https://reefapi.com/docs/car-rental): 3 endpoints — aggregated rental-car offers for a location + dates → offers[]{vehicle(name/category/ACRISS/transmission/seats/bags/fuel), price{amount,currency}, supplier(name/rating/pickup_address/coords), pickup.type, mileage, fuel_policy, free_cancellation, book_url} + facets. Location via `query` OR explicit place_id/city_id/country_id. One-way via drop_query. Dates pickup_date/dropoff_date (YYYY-MM-DD). Narrow with category/supplier/transmission/max_price/min_supplier_rating/free_cancellation_only filters + sort. · full AI-ready doc: https://reefapi.com/docs/car-rental.md - POST /car-rental/v1/cars/search — aggregated rental-car offers for a location + dates → offers[]{vehicle(name/category/ACRISS/transmission/seats/bags/fuel), price{amount,currency}, supplier(name/rating/pickup_address/coords), pickup.type, mileage, fuel_policy, free_cancellation, book_url} + facets. Location via `query` OR explicit place_id/city_id/country_id. One-way via drop_query. Dates pickup_date/dropoff_date (YYYY-MM-DD). Narrow with category/supplier/transmission/max_price/min_supplier_rating/free_cancellation_only filters + sort. (params: query, place_id, city_id, country_id, pickup_date, dropoff_date, pickup_time, dropoff_time, currency, residence_country, driver_age, drop_query, drop_place_id, drop_city_id, drop_country_id, max_offers, include_facets, prefer_airport, category, supplier, transmission, min_seats, max_price, min_supplier_rating, free_cancellation_only, unlimited_mileage_only, sort, include_supplier_summary; 2 credits) - POST /car-rental/v1/cars/autocomplete — resolve a location string (`query`) → place/city/country IDs (for cars/search) (params: query*; 1 credit) - POST /car-rental/v1/cars/reviews — DiscoverCars customer reviews for a location → reviews[]{rating(0-10), text, author, author_country, car_name, date, photos} + average_rating + count. Location via `query` (city/country name; resolved automatically) OR explicit location_url. Filter with min_rating / with_text_only; country_only widens city→country scope. (params: query, location_url, country_only, min_rating, with_text_only, max_reviews; 1 credit) - [FlightAware API — live flight tracker & status scraper: real-time flight status by flight number, origin/destination airports with gates and terminals, scheduled vs actual departure/arrival times, aircraft type and airline, live ADS-B position (altitude, groundspeed, heading, track), trip progress and filed flight plan — plus airport arrivals/departures activity boards from FlightAware.com, no API key required](https://reefapi.com/docs/flightaware): 3 endpoints — Live status for one flight by ident or flight number. Returns origin/destination (airport name, IATA/ICAO, gate, terminal, timezone, coordinates), scheduled / estimated / actual times for gate-out, take-off, landing and gate-in, aircraft type, airline, trip progress (percent complete, miles flown/remaining), the live position (altitude, groundspeed, heading) when airborne, and the filed flight plan. · full AI-ready doc: https://reefapi.com/docs/flightaware.md - POST /flightaware/v1/flight_status — Live status for one flight by ident or flight number. Returns origin/destination (airport name, IATA/ICAO, gate, terminal, timezone, coordinates), scheduled / estimated / actual times for gate-out, take-off, landing and gate-in, aircraft type, airline, trip progress (percent complete, miles flown/remaining), the live position (altitude, groundspeed, heading) when airborne, and the filed flight plan. (params: ident*; 1 credit) - POST /flightaware/v1/live_position — Live ADS-B track for one airborne flight: current position plus the full position history (lat/lon/altitude/groundspeed per timestamp) FlightAware has logged for this leg. Use flight_status first to confirm the flight is airborne. For grounded / arrived flights `position` is null and `track` is whatever was logged on the ground. (params: ident*; 1 credit) - POST /flightaware/v1/airport_board — Live activity board for an airport: the arrivals, departures, en-route or scheduled flights FlightAware shows for that airport. Each row gives the flight ident, aircraft type, the other airport (IATA), and the scheduled/estimated times. Feed an ident back into flight_status for full detail. (params: airport*, board, limit; 1 credit) - [Flights API — flight search, cheapest-day price graph, airport/IATA lookup & seat specs (worldwide, live prices, booking links)](https://reefapi.com/docs/flights): 5 endpoints — Search flights from origin to destination for a given date. Returns ranked itineraries with price, all flight segments (carrier, flight number, departure/arrival times), total journey duration and a direct booking link. Supports one-way and return trips. · full AI-ready doc: https://reefapi.com/docs/flights.md - POST /flights/v1/search_flights — Search flights from origin to destination for a given date. Returns ranked itineraries with price, all flight segments (carrier, flight number, departure/arrival times), total journey duration and a direct booking link. Supports one-way and return trips. (params: origin*, destination*, depart_date*, return_date, depart_date_end, return_date_end, adults, children, infants, cabin_class, currency, max_stops, sort, limit; 2 credits) - POST /flights/v1/search_places — Resolve a city or airport name to location IDs used in flight search — useful when you want to pin an exact airport rather than a city (e.g. 'Heathrow' → LHR). (params: query*, limit; 1 credit) - POST /flights/v1/airport_info — Look up airports and cities by name or IATA code. Returns full reference data: IATA + ICAO codes, GPS coordinates, timezone, country, and — for a city — the list of all its airports. Useful to validate a code, geolocate an airport, or map a city to its airports. (params: query*, limit; 1 credit) - POST /flights/v1/price_graph — Find the cheapest day to fly. Returns the lowest price for each departure date across a date range, each tagged CHEAP / AVERAGE / EXPENSIVE, plus the single cheapest option. Set nights_min/nights_max for a return trip; omit them for one-way. One fast call. (params: origin*, destination*, depart_date*, depart_date_end, nights_min, nights_max, adults, children, infants, cabin_class, currency; 2 credits) - POST /flights/v1/seat_info — Get the seat specs and amenities for a specific flight: seat pitch, width and recline (legroom/comfort), plus power, Wi-Fi and in-flight entertainment availability. Look up by airline + flight number + route + date. Returns honest empty when the flight is unknown. (params: carrier*, flight_number*, source*, destination*, date*, cabin_class; 1 credit) - [GetYourGuide API — tours & activities scraper: search and browse things to do by city or keyword, with activity titles, prices, ratings, review counts, photos and categories, plus full activity detail (description, supplier, rating) and recent traveler reviews from GetYourGuide (getyourguide.com), worldwide, multi-currency, no API key required](https://reefapi.com/docs/getyourguide): 5 endpoints — Search GetYourGuide for tours & activities by free-text keyword or destination ('Rome colosseum', 'Paris', 'wine tasting Tuscany'). Returns activity cards with title, activity_id, price and list price, rating, review count, photos, category, duration and a link to the activity. GetYourGuide answers a query it cannot match with recommended activities rather than an empty page, so compare the titles against your query when it is very specific. · full AI-ready doc: https://reefapi.com/docs/getyourguide.md - POST /getyourguide/v1/search — Search GetYourGuide for tours & activities by free-text keyword or destination ('Rome colosseum', 'Paris', 'wine tasting Tuscany'). Returns activity cards with title, activity_id, price and list price, rating, review count, photos, category, duration and a link to the activity. GetYourGuide answers a query it cannot match with recommended activities rather than an empty page, so compare the titles against your query when it is very specific. (params: query*, currency, language; 1 credit) - POST /getyourguide/v1/browse — Browse the top tours & activities for a destination's landing page. Returns activities with title, price, rating, review count, photos and a link. Identify the destination by its slug (from search/destinations) or by location_id + city. (params: slug, location_id, city, destination, url, currency, language; 1 credit) - POST /getyourguide/v1/detail — Full record for one tour/activity: title, description, the company that operates it, price and list price, rating, review count and photos. Identify it by its activity url (from search/browse). (params: url, slug, currency, language; 2 credits) - POST /getyourguide/v1/reviews — The most-recent public traveler reviews for one activity (rating, text, author, date) plus the overall rating and total review count. Returns the 10 newest reviews — that is the full set GetYourGuide publishes on the activity page itself; read review_count for the total volume behind them. (params: url, slug, language; 1 credit) - POST /getyourguide/v1/destinations — Destination metadata for a GetYourGuide location: id, name, type, country, the number of bookable activities, and its parent locations (region → country). Useful to confirm a destination and discover its hierarchy before browsing. (params: slug, location_id, city, destination, url, language; 1 credit) - [Turo API scraper — search peer-to-peer car rentals & car sharing on turo.com: find cars by location and dates with price/make/type/sort filters, get vehicle specs, pricing calendars and similar cars, plus full host profiles, a host's whole fleet and host reviews — make, model, year, daily price, ratings, trips, photos and location, no account required](https://reefapi.com/docs/turo): 10 endpoints — Search Turo for rentable cars at a location and date range. Filter by make, model, vehicle type (CAR/SUV/MINIVAN/TRUCK/VAN), max price and sort order; paginated (~200 cars/page). Returns the full result page as clean JSON. (If the site serves a bot check the engine retries and, only if it still cannot pass, returns a clean TARGET_BLOCKED — never fabricated data.) · full AI-ready doc: https://reefapi.com/docs/turo.md - POST /turo/v1/search — Search Turo for rentable cars at a location and date range. Filter by make, model, vehicle type (CAR/SUV/MINIVAN/TRUCK/VAN), max price and sort order; paginated (~200 cars/page). Returns the full result page as clean JSON. (If the site serves a bot check the engine retries and, only if it still cannot pass, returns a clean TARGET_BLOCKED — never fabricated data.) (params: location*, start_date, end_date, start_time, end_time, country, make, model, vehicle_type, max_price, sort, page; 1 credit) - POST /turo/v1/vehicle.detail — Full detail for one Turo car: make/model/year/trim, transmission, seats, doors, luggage and fuel/battery specs, the categorized feature list, host card, ratings, and the price calendar. The protected listing card (host card + sub-ratings) rides a Cloudflare-guarded endpoint (best-effort, bounded retry); the specs, feature list and price calendar always come back from the open endpoints. (params: vehicle_id*, start_date, end_date, start_time, end_time; 1 credit) - POST /turo/v1/vehicle.features — Specs + the full categorized feature list for one car (transmission, seats, doors, luggage capacity, fuel type, battery range, and features like Backup camera, All-wheel drive, Apple CarPlay, grouped by category). (params: vehicle_id*; 1 credit) - POST /turo/v1/vehicle.pricing — Daily price calendar for one car across a date window: per-day price + day of week. Defaults to the next ~3 months if no window is given. (params: vehicle_id*, start_date, end_date; 1 credit) - POST /turo/v1/vehicle.similar — Cars similar to a given make/model near a location and dates — a make/model-seeded list of rentable Turo cars (price, rating, host, photo, location), and the most dependable way to get one. Pass make + model + location; vehicle_id is optional (used only to exclude that exact car). (params: make*, location*, model, vehicle_id, start_date, end_date, start_time, end_time, country, max_results; 1 credit) - POST /turo/v1/host.profile — Full Turo host (driver) profile: first name, All-Star/Pro status, member-since, response rate & time, ratings from renters and from car owners, rental counts and account verifications (phone/email/ID). Last name only with include_pii=true. (params: host_id*; 1 credit) - POST /turo/v1/host.cars — Every car a Turo host has listed, paginated — make/model/year, daily price, rating, review count, location and photo per car. (params: host_id*, page; 1 credit) - POST /turo/v1/host.reviews — Reviews left for a Turo host by their guests, paginated — star rating, the review text, date and the host's reply. Reviewer first name is kept (public on Turo); last name only with include_pii=true. (params: host_id*, page, per_page; 1 credit) - POST /turo/v1/location.autocomplete — Resolve a free-text place into Turo search locations (cities and airports) with id, type and coordinates — handy to confirm the place before searching. (params: location*; 0 credit) - POST /turo/v1/makes — The full list of car makes Turo supports in a market (e.g. Tesla, BMW, Toyota, Ferrari) — useful as the allowed values for the search `make` filter. (params: country; 0 credit) ## Search & SEO - [Bing Search API — web, news & video search results (SERP scraper)](https://reefapi.com/docs/bing): 4 endpoints — Web search results — ranked organic pages with title, URL, snippet, answer box and related searches. Filter by market/language (mkt or gl/hl), SafeSearch and recency (freshness), with offset pagination. Every result set is checked against your query before it is returned: if the index answers with pages that do not match what you asked, the request is served from another index instead, and if no index can answer it you get an explicit 404 rather than confident-looking wrong rows. The share of returned rows that carry your query terms is published as meta.relevance. · full AI-ready doc: https://reefapi.com/docs/bing.md - POST /bing/v1/search — Web search results — ranked organic pages with title, URL, snippet, answer box and related searches. Filter by market/language (mkt or gl/hl), SafeSearch and recency (freshness), with offset pagination. Every result set is checked against your query before it is returned: if the index answers with pages that do not match what you asked, the request is served from another index instead, and if no index can answer it you get an explicit 404 rather than confident-looking wrong rows. The share of returned rows that carry your query terms is published as meta.relevance. (params: q*, engine, depth, mkt, gl, hl, count, page, first, safe, freshness, device; 1 credit) - POST /bing/v1/news — Bing News results for a keyword — article title, source, URL and snippet, sorted by recency. Filter by market and a recency window (freshness). (params: q*, mkt, gl, hl, count, freshness; 1 credit) - POST /bing/v1/videos — Bing video search results — watch-page URL, thumbnail, duration and hosting platform (YouTube/Dailymotion/…) for every result; publisher/channel, view count, publish date and description when Bing exposes them. ~30 videos per page; paginate for more. (params: q*, mkt, gl, hl, page, first, safe; 1 credit) - POST /bing/v1/autocomplete — Bing search autocomplete — query suggestions / typeahead from Bing's public suggest endpoint — fast and cheap. Useful for keyword research. (params: q*, mkt, gl, hl; 1 credit) - [Google Trends API — trending-now searches, realtime story-clusters, keyword suggest and the full category taxonomy. Note: Google has closed the interest-over-time, interest-by-region, related-queries and related-topics widgets to API clients; those four actions stay addressable and answer with an explicit DISABLED verdict rather than an empty result.](https://reefapi.com/docs/google-trends): 4 endpoints — Currently trending searches for a geo (title + approx traffic + news articles) · full AI-ready doc: https://reefapi.com/docs/google-trends.md - POST /google-trends/v1/trending_now — Currently trending searches for a geo (title + approx traffic + news articles) (params: geo; 1 credit) - POST /google-trends/v1/suggest — Keyword autocomplete — candidate topics/entities (the Google Trends suggestion list) so you can pick the right entity (e.g. the 'Apple Inc. — Technology company' topic mid vs the fruit) before querying interest_over_time/related. (params: keyword*, hl; 1 credit) - POST /google-trends/v1/categories — List the Google Trends category taxonomy (id + name, hierarchical) so you can find the right `category` id to narrow interest_over_time / related_queries / interest_by_region (e.g. 7=Finance, 5=Computers & Electronics). Optionally filter by a name substring. (params: query; 1 credit) - POST /google-trends/v1/realtime_trending — Realtime trending story-clusters for a country (richer than trending_now): each cluster has a title, approximate search-traffic volume, the FULL related-query set, category ids, and an article count. Best for 'what is breaking right now' research. (params: geo, hours, limit; 2 credits) ## Finance & Data - [Currency & Exchange Rates API — live and historical FX rates from the European Central Bank: latest rates, currency conversion, time-series and fluctuation](https://reefapi.com/docs/currency): 6 endpoints — latest reference rates for a base (default EUR) → all or selected target currencies (+ unix timestamp) · full AI-ready doc: https://reefapi.com/docs/currency.md - POST /currency/v1/latest — latest reference rates for a base (default EUR) → all or selected target currencies (+ unix timestamp) (params: base, symbols; 1 credit) - POST /currency/v1/convert — convert an amount from→to at the latest rate (or a given historical date); returns rate + result (params: from*, to*, amount, date; 1 credit) - POST /currency/v1/historical — reference rates on a past date (YYYY-MM-DD; weekend/holiday → last working day) since 1999-01-04 (params: date*, base, symbols; 1 credit) - POST /currency/v1/timeseries — rates over a date range (working days) for a base → selected/all targets; {date:{CUR:val}} (params: start*, end*, base, symbols; 2 credits) - POST /currency/v1/fluctuation — per-currency change over a date range: {CUR:{start_rate,end_rate,change,change_pct}} (derived from the range endpoints) (params: start*, end*, base, symbols; 2 credits) - POST /currency/v1/currencies — the current ECB reference currency set (code → name) (params: none; 1 credit) - [Finance API — real-time quotes, charts, fundamentals, analyst ratings, screener, options, technicals & earnings/IPO/economic calendars (incl. a market-wide earnings calendar) on Yahoo Finance data + FRED macroeconomic series](https://reefapi.com/docs/finance): 78 endpoints — single or multi-symbol quote · full AI-ready doc: https://reefapi.com/docs/finance.md - POST /finance/v1/quote — single or multi-symbol quote (params: symbol*, symbols; 1 credit) - POST /finance/v1/chart — OHLCV chart data (params: symbol*, range, interval; 1 credit) - POST /finance/v1/search — symbol search (params: query*, quotesCount; 1 credit) - POST /finance/v1/fundamentals — quoteSummary modules (params: symbol*, modules; 1 credit) - POST /finance/v1/analyst — recommendations, upgrades/downgrades, price targets (params: symbol*; 1 credit) - POST /finance/v1/holders — insider/institution/fund ownership and holder activity (params: symbol*; 1 credit) - POST /finance/v1/news — Yahoo Finance news search (params: query*, count, symbol; 1 credit) - POST /finance/v1/options — option chain (params: symbol*, date; 1 credit) - POST /finance/v1/calendar — earnings/calendar quoteSummary modules (params: symbol*; 1 credit) - POST /finance/v1/events — dividends and splits from chart events (params: symbol*; 1 credit) - POST /finance/v1/screener_predefined — Yahoo saved screeners (params: scrIds, count, start; 1 credit) - POST /finance/v1/screener — Yahoo custom screener POST (params: criteria, size, offset, sortField, sortType; 2 credits) - POST /finance/v1/market_summary — market summary indices (params: region; 1 credit) - POST /finance/v1/trending — trending symbols (params: region, count; 1 credit) - POST /finance/v1/lookup — Yahoo symbol universe lookup (params: query*, count; 1 credit) - POST /finance/v1/technicals — local technical indicators from chart OHLCV (params: symbol*, range, interval, periods; 1 credit) - POST /finance/v1/economic — FRED economic series via official API (params: series*, fred_api_key*, limit, sort_order; 1 credit) - POST /finance/v1/v1/market/tickers — public NASDAQ/NYSE/AMEX ticker universe (params: limit; 2 credits) - POST /finance/v1/v1/search — RapidAPI-compatible alias for search (params: query*; 1 credit) - POST /finance/v1/v1/market/quotes — RapidAPI-compatible alias for quote (params: symbol*, symbols; 1 credit) - POST /finance/v1/v1/stock/history — RapidAPI-compatible alias for chart (params: symbol*; 1 credit) - POST /finance/v1/v2/stock/history — RapidAPI-compatible alias for chart (params: symbol*; 1 credit) - POST /finance/v1/v1/market/screener — RapidAPI-compatible alias for screener (params: criteria, scrIds; 1 credit) - POST /finance/v1/v1/stock/modules — RapidAPI-compatible alias for quoteSummary modules (params: symbol*; 1 credit) - POST /finance/v1/v1/market/news — RapidAPI-compatible alias for news (params: query*, symbol; 1 credit) - POST /finance/v1/v2/market/news — RapidAPI-compatible alias for news (params: query*, symbol; 1 credit) - POST /finance/v1/v1/options — RapidAPI-compatible alias for options (params: symbol*; 1 credit) - POST /finance/v1/v1/most-active — options most-active contracts derived from Yahoo option chains (params: symbol, symbols, count; 1 credit) - POST /finance/v1/v1/unusual-options-activity — unusual options activity derived from Yahoo option chain volume/open-interest (params: symbol, symbols, count; 1 credit) - POST /finance/v1/calendar/earnings — symbol earnings calendar via quoteSummary (params: symbol*; 1 credit) - POST /finance/v1/calendar/earnings_market — market-wide upcoming earnings calendar (all symbols) via Yahoo visualization (params: start, end, date, count, offset, region, lang; 1 credit) - POST /finance/v1/calendar/dividends — symbol dividends via chart events (params: symbol*; 1 credit) - POST /finance/v1/calendar/economic_events — global economic events via Yahoo visualization calendar (params: start, end, count, offset; 1 credit) - POST /finance/v1/calendar/public_offerings — public offerings derived from Yahoo IPO calendar deal types (params: start, end, count, offset; 1 credit) - POST /finance/v1/calendar/ipo — IPO calendar via Yahoo visualization calendar (params: start, end, count, offset; 1 credit) - POST /finance/v1/calendar/stock-splits — symbol stock splits via chart events (params: symbol*; 1 credit) - POST /finance/v1/calendar/count — count of calendar events in a window (economic/ipo) (params: calendar_type, type, start, end; 1 credit) - POST /finance/v1/futures — futures chain: related contract months via Yahoo futuresChain (params: symbol*; 1 credit) - POST /finance/v1/insights — trading insights: technical events, key technicals, valuation, recommendation, significant developments (params: symbol*, reportsCount; 1 credit) - POST /finance/v1/research — what analysts are saying: research-report metadata via Yahoo insights (params: symbol*, reportsCount; 1 credit) - POST /finance/v1/fund/fees — ETF/mutual-fund fees and expenses via Yahoo fundProfile (params: symbol*; 1 credit) - POST /finance/v1/fund/holdings — ETF/mutual-fund top holdings, sector weightings, asset allocation via Yahoo topHoldings (params: symbol*; 1 credit) - POST /finance/v1/recommendations — peer/similar symbols via Yahoo recommendationsbysymbol (params: symbol*; 1 credit) - POST /finance/v1/news/details — full news article content by uuid via Yahoo caas (params: uuid*; 1 credit) - POST /finance/v1/screener/fields — queryable screener field catalog (filters) via Yahoo screeners (params: type; 1 credit) - POST /finance/v1/market/tickers-by-type — symbol lookup filtered by quote type (equity/etf/mutualfund/future/index/currency) (params: query*, type, count; 1 credit) - POST /finance/v1/v1/stock/profile — quoteSummary alias for assetProfile,summaryProfile (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/statistics — quoteSummary alias for defaultKeyStatistics (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/financial-data — quoteSummary alias for financialData (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/sec-filings — quoteSummary alias for secFilings,assetProfile (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/earnings — quoteSummary alias for earnings,earningsTrend,earningsHistory (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/calendar-events — quoteSummary alias for calendarEvents (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/insider-holders — quoteSummary alias for insiderHolders (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/balance-sheet — quoteSummary alias for balanceSheetHistory (params: symbol*; 1 credit) - POST /finance/v1/v2/stock/balance-sheet — quoteSummary alias for balanceSheetHistory,balanceSheetHistoryQuarterly (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/institution-ownership — quoteSummary alias for institutionOwnership (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/insider-transactions — quoteSummary alias for insiderTransactions (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/index-trend — quoteSummary alias for indexTrend (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/income-statement — quoteSummary alias for incomeStatementHistory,incomeStatementHistoryQuarterly (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/cashflow-statement — quoteSummary alias for cashflowStatementHistory,cashflowStatementHistoryQuarterly (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/recommendation-trend — quoteSummary alias for recommendationTrend (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/net-share-purchase-activity — quoteSummary alias for netSharePurchaseActivity (params: symbol*; 1 credit) - POST /finance/v1/v1/stock/upgrade-downgrade-history — quoteSummary alias for upgradeDowngradeHistory (params: symbol*; 1 credit) - POST /finance/v1/v1/insider-trades — quoteSummary alias for insiderTransactions,insiderHolders,netSharePurchaseActivity (params: symbol*; 1 credit) - POST /finance/v1/v1/indicators/sma — local SMA indicator from chart OHLCV (params: symbol*; 1 credit) - POST /finance/v1/v1/indicators/rsi — local RSI indicator from chart OHLCV (params: symbol*; 1 credit) - POST /finance/v1/v1/indicators/macd — local MACD indicator from chart OHLCV (params: symbol*; 1 credit) - POST /finance/v1/v1/indicators/adx — local ADX indicator from chart OHLCV (params: symbol*; 1 credit) - POST /finance/v1/stock/get-futures-chain — apidojo-compatible alias for futures (params: symbol*; 1 credit) - POST /finance/v1/stock/get-insights — apidojo-compatible alias for insights (params: symbol*; 1 credit) - POST /finance/v1/stock/v3/get-insights — apidojo-compatible alias for insights (params: symbol*; 1 credit) - POST /finance/v1/stock/get-what-analysts-are-saying — apidojo-compatible alias for research (params: symbol*; 1 credit) - POST /finance/v1/stock/get-fees-and-expenses — apidojo-compatible alias for fund/fees (params: symbol*; 1 credit) - POST /finance/v1/stock/get-top-holdings — apidojo-compatible alias for fund/holdings (params: symbol*; 1 credit) - POST /finance/v1/stock/v2/get-recommendations — apidojo-compatible alias for recommendations (params: symbol*; 1 credit) - POST /finance/v1/news/v2/get-details — apidojo-compatible alias for news/details (params: uuid*; 1 credit) - POST /finance/v1/screeners/get-filters — apidojo-compatible alias for screener/fields (params: none; 1 credit) - POST /finance/v1/market/get-tickers-by-quote-type — apidojo-compatible alias for market/tickers-by-type (params: query*; 1 credit) - [Legal Entity & LEI API (GLEIF) — verified company and legal-entity records, fuzzy company search, corporate ownership hierarchy and ISIN/BIC/MIC-to-LEI mapping](https://reefapi.com/docs/lei): 7 endpoints — One LEI → the full verified legal-entity record (Level-1 who-is-who): legal name, addresses, jurisdiction, legal form, registration status + honesty note, authority ids, renewal dates, BIC/ISIN-adjacent identifiers. · full AI-ready doc: https://reefapi.com/docs/lei.md - POST /lei/v1/lookup — One LEI → the full verified legal-entity record (Level-1 who-is-who): legal name, addresses, jurisdiction, legal form, registration status + honesty note, authority ids, renewal dates, BIC/ISIN-adjacent identifiers. (params: lei*, resolve_codes, history; 1 credit) - POST /lei/v1/search — Company name → ranked candidate entities with match_confidence for disambiguation (same-name entities across countries/legal-forms). Filters: country, status, jurisdiction, entity_status. (params: name*, scope, country, status, entity_status, jurisdiction, limit, page, min_confidence, typo; 1 credit) - POST /lei/v1/autocomplete — Type-ahead suggestions for a partial company name (GLEIF autocompletions surface) — each suggestion carries its LEI for direct lookup. (params: name*; 1 credit) - POST /lei/v1/relationships — One LEI → Level-2 corporate hierarchy: direct & ultimate parent (entity OR the entity's declared reporting-exception with reason+meaning OR no_data), children list + total counts. detail=true adds the auditable relationship provenance. (params: lei*, children_limit, detail; 2 credits) - POST /lei/v1/map — Identifier mapping: ISIN / BIC / MIC / QCC / S&P-Global-ID → LEI record(s), or reverse LEI → all its ISINs. (params: type*, value*, limit; 1 credit) - POST /lei/v1/reference — GLEIF reference collections: ISO-20275 legal forms, registration authorities, LEI issuers (LOUs), jurisdictions, countries, regions, field catalog — list or fetch one by code. (params: kind*, code, limit, page; 1 credit) - POST /lei/v1/batch — Up to 50 mixed lookup/search items in one call. Lookups are collapsed into one upstream request per 50 LEIs (GLEIF rate-friendly); searches are spaced. (params: items*; 2 credits) - [Sanctions Screening API — fuzzy name screening against official government watchlists (OFAC SDN, OFAC Consolidated, UK OFSI) with transliteration, alias matching and an audit trail. Screening tool, not legal advice.](https://reefapi.com/docs/sanctions): 4 endpoints — Screen ONE name against the official sanctions lists → status (match | possible_match | no_match) + ranked matches with score, matched aliases, programs, DOB/place-of-birth, IDs, and the audit trail (which sources + thresholds were used). Add type/country/dob descriptors to cut false positives. · full AI-ready doc: https://reefapi.com/docs/sanctions.md - POST /sanctions/v1/screen — Screen ONE name against the official sanctions lists → status (match | possible_match | no_match) + ranked matches with score, matched aliases, programs, DOB/place-of-birth, IDs, and the audit trail (which sources + thresholds were used). Add type/country/dob descriptors to cut false positives. (params: name*, type, country, dob, threshold, limit, sources; 2 credits) - POST /sanctions/v1/batch — Screen up to 100 names in one call (in-memory → cheap). Each item is a string or {name,type?,country?,dob?,threshold?}; per-item options override call defaults. (params: names*, type, country, threshold, limit, sources; 2 credits) - POST /sanctions/v1/entity — Fetch ONE full normalized list record by its uid (':', from a screen match) — every field on the designation. (params: uid*; 1 credit) - POST /sanctions/v1/sources_status — List freshness + reachability of every sanctions source (the trust signal): which lists were screened, how many records, the source's own published date, and whether the last .gov fetch succeeded. (params: refresh; 1 credit) - [World Bank Data API — economic & development indicators (GDP, inflation, population, unemployment) by country and year, multi-country compare, country metadata, indicator search, browse-by-topic and one-call country profiles](https://reefapi.com/docs/worldbank): 8 endpoints — time-series for one+ indicators (code or shortcut) across one+ countries/all; date/mrv/mrnev, rank · full AI-ready doc: https://reefapi.com/docs/worldbank.md - POST /worldbank/v1/indicator — time-series for one+ indicators (code or shortcut) across one+ countries/all; date/mrv/mrnev, rank (params: country*, indicator*, date, mrv, mrnev, drop_nulls, rank, per_page, max_pages, frequency, gapfill; 2 credits) - POST /worldbank/v1/country — country metadata for codes/all or filtered by region/income_level/lending_type (params: country*, region, income_level, lending_type, exclude_aggregates, all; 1 credit) - POST /worldbank/v1/search_indicators — local keyword search over the indicator catalog (WDI default; full=all sources) (params: query*, source, full, topic, limit; 1 credit) - POST /worldbank/v1/indicator_metadata — definition/source/organization/topics for one+ indicator codes/aliases (params: indicator*; 1 credit) - POST /worldbank/v1/country_profile — one-call headline snapshot (most-recent ~10 key metrics) for one+ countries (params: country*, metrics; 2 credits) - POST /worldbank/v1/shortcuts — list the metric->indicator-code map, or metric=&country= to fetch directly (params: metric, country, date, mrv, mrnev; 1 credit) - POST /worldbank/v1/reference — reference lists: regions | income_levels | lending_types | sources | topics (params: kind*; 1 credit) - POST /worldbank/v1/topic_indicators — browse every indicator in a World Bank topic (Health, Economy, Climate, etc.) by topic id or name; optional keyword filter (params: topic*, query, limit, per_page, max_pages; 1 credit) ## Media, Film & Knowledge - [Academic Papers API — search scholarly papers, authors, citations, institutions and journals across OpenAlex, arXiv and Crossref (abstracts, DOIs, open-access PDFs)](https://reefapi.com/docs/academic): 12 endpoints — search papers (source=openalex|arxiv|crossref|all; cursor pagination, year/OA/type filters, match=title, fulltext=; first-class author_id/venue_id/institution_id/concept_id/topic_id filters for papers BY an entity) · full AI-ready doc: https://reefapi.com/docs/academic.md - POST /academic/v1/search — search papers (source=openalex|arxiv|crossref|all; cursor pagination, year/OA/type filters, match=title, fulltext=; first-class author_id/venue_id/institution_id/concept_id/topic_id filters for papers BY an entity) (params: query*, source, per_page, cursor, filter, sort, from_year, to_year, open_access, type, match, category, include_abstract, fulltext, author_id, venue_id, institution_id, concept_id, topic_id; 1 credit) - POST /academic/v1/paper_detail — full paper (abstract/authors/affiliations/venue/year/DOI/OA-PDF/fields); id=OpenAlex|DOI|arXiv|PMID; cross-source abstract gap-fill (params: id*, enrich, raw, fill_abstract; 1 credit) - POST /academic/v1/citations — papers that cite this work (cursor-paginated) (params: id*, per_page, cursor; 1 credit) - POST /academic/v1/references — works this paper references (hydrated) (params: id*, limit; 1 credit) - POST /academic/v1/related — OpenAlex-curated related works for a paper (co-cited / topically-adjacent), hydrated (params: id*, limit; 2 credits) - POST /academic/v1/author — author search (query) or profile (id): works_count, h-index, affiliations; include_works for top papers (params: id, query, include_works, works_limit, per_page; 1 credit) - POST /academic/v1/institution — institution search/profile: ROR, country, geo, works/citation counts, h-index; include_works for the org's papers (params: id, query, per_page, include_works, works_limit; 1 credit) - POST /academic/v1/venue — journal/venue search/profile: ISSN, publisher, OA/DOAJ, h-index, works/citation counts; include_works for the venue's papers (params: id, query, per_page, include_works, works_limit; 1 credit) - POST /academic/v1/concept — concept search (query) or profile (id): level, works/citation counts, description; include_works for papers. NOTE: OpenAlex froze the Concepts dataset (ancestors/related now empty) — use `topic` for the live subject hierarchy (params: id, query, per_page, include_works, works_limit; 1 credit) - POST /academic/v1/topic — topic search (query) or profile (id): domain>field>subfield hierarchy, keywords, siblings, works/citation counts; include_works for papers (the live replacement for Concepts) (params: id, query, per_page, include_works, works_limit; 1 credit) - POST /academic/v1/autocomplete — fast typeahead suggestions (works/authors/sources/institutions) (params: q*, entity; 1 credit) - POST /academic/v1/batch — hydrate up to 200 papers by id/DOI in one call (RAG/ETL) (params: ids*, include_abstract, limit; 2 credits) - [Books & Authors API — search books/authors, full book details by ISBN, author bibliographies, all editions, genre/subject browse, trending books, and public-domain ebooks (OpenLibrary + Project Gutenberg)](https://reefapi.com/docs/books): 8 endpoints — merged book record by ISBN-10/13 or OLID (work OL..W / edition OL..M): title/authors/covers/subjects/description/pages/publishers/languages/editions/identifiers/ratings+distribution/reading-log; queried ISBN always injected · full AI-ready doc: https://reefapi.com/docs/books.md - POST /books/v1/book_detail — merged book record by ISBN-10/13 or OLID (work OL..W / edition OL..M): title/authors/covers/subjects/description/pages/publishers/languages/editions/identifiers/ratings+distribution/reading-log; queried ISBN always injected (params: id*; 1 credit) - POST /books/v1/search — search books: q OR fielded (title/author/subject/publisher/place/person/isbn/language); rich cards (ratings/reading-log/ebook_access/IA); sort=new|old|rating|want_to_read|editions; pagination (params: q, query, title, author, subject, publisher, place, person, isbn, language, sort, limit, per_page, page; 1 credit) - POST /books/v1/author — author by OLID (OL..A) → bio/photo/dates/alternate-names/remote-ids(goodreads/wikidata/viaf/gutenberg)/links + include_works; or query/name → best-match-ranked author list (params: id, query, name, q, include_works, works_limit, per_page, limit; 1 credit) - POST /books/v1/author_works — full paginated bibliography of an author (OL..A): every work with cover, first-publish year and subjects; page/limit pagination over the author's complete catalog (params: id*, olid, limit, per_page, page; 1 credit) - POST /books/v1/subjects — browse a subject / genre / theme → ranked work cards PLUS facets (top authors, publishers, related subjects, people, places, time-periods) and work_count/ebook_count; optional ebooks-only and published_in year-range filters; page/limit pagination (params: subject*, name, q, genre, ebooks, published_in, sort, limit, per_page, page; 1 credit) - POST /books/v1/trending — most popular / trending books for a time window (now|daily|weekly|monthly|yearly) → ranked work cards (title, authors, cover, year, ebook access); page/limit pagination (params: period, range, limit, per_page, page; 1 credit) - POST /books/v1/editions — every printing / edition of a book (give a work OLID, an edition OLID, or any ISBN) → each edition's ISBN-10/13, publisher, format, publish date/place, page count, language and cover; page/limit pagination (params: id*, olid, isbn, limit, per_page, page; 1 credit) - POST /books/v1/ebook — public-domain full-text (Project Gutenberg): query OR id=Gutenberg-id OR ids=batch; filters languages/topic/sort; returns formats{epub/txt/html/kindle/cover}+download_url+read_url; gutenberg.org OPDS fallback when gutendex is down (params: query, search, q, id, gutenberg_id, ids, languages, topic, sort, mime_type, author_year_start, author_year_end, copyright, limit, per_page, page; 1 credit) - [Coursera API scraper — search courses, specializations, professional certificates and guided projects by keyword, then pull full program detail (description, rating, enrollment count, difficulty, languages, skills, instructors, partners, what-you'll-learn and the courses inside a specialization), plus top student reviews, browse every university & company partner and the subject catalogue. Returns title, partner, rating, review count, enrollments, level, duration, price/free status, skills and instructors for any Coursera course or program. No API key required.](https://reefapi.com/docs/coursera): 5 endpoints — Search Coursera by keyword (any topic, skill, tool or title). Returns a paginated list of result cards — name, url, type (course / specialization / professional certificate / guided project), partner, rating, review count, difficulty, duration, skills and free status — most-relevant first. Optional filters: level, type, language, sort. Feed a result's slug/url into the detail action. Page with `page`; meta.has_more / meta.total_count tell you how many. · full AI-ready doc: https://reefapi.com/docs/coursera.md - POST /coursera/v1/search — Search Coursera by keyword (any topic, skill, tool or title). Returns a paginated list of result cards — name, url, type (course / specialization / professional certificate / guided project), partner, rating, review count, difficulty, duration, skills and free status — most-relevant first. Optional filters: level, type, language, sort. Feed a result's slug/url into the detail action. Page with `page`; meta.has_more / meta.total_count tell you how many. (params: query*, level, type, language, sort, page, subject; 1 credit) - POST /coursera/v1/detail — Full detail for one Coursera course OR program (specialization / professional certificate) by slug or URL. For a course: description, difficulty, estimated workload, rating (average, count, by-star), total enrollments, languages, certificates, what-you'll-learn, recommended background, skills, instructors and partners. For a program: the same plus the list of courses inside it. Pass a search result's url, or a slug with type='specialization' to force the program path. (params: slug, url, type; 1 credit) - POST /coursera/v1/reviews — Top public student reviews for a Coursera course or program by slug/url: star rating, review text, author and date. Returns the most-helpful reviews Coursera surfaces on the page (top reviews — Coursera does not expose deep review pagination without login). Use meta.review_count for the total number of ratings. (params: slug, url, type; 1 credit) - POST /coursera/v1/partners — Browse the universities and companies that partner with Coursera (Stanford, University of Michigan, Google, IBM, …). Returns partner id, name and logo. Use it to map who publishes on Coursera. (params: none; 0 credit) - POST /coursera/v1/subjects — Browse Coursera's subject catalogue — the top-level domains (Data Science, Business, Computer Science, Arts & Humanities, …) with their slug and description. Use a subject slug as the search `subject` filter. (params: none; 0 credit) - [DonanımHaber Forum API — search, read and monitor Turkey's largest technology forum (forum.donanimhaber.com, active since 2001, ~700 sections). Keyword search across every post, full topic detail (opening post, author, dates, view/reply counts and replies), paginated section listings, and the section directory — clean JSON, Turkish text intact, no login.](https://reefapi.com/docs/donanimhaber): 4 endpoints — Keyword-search every post on DonanımHaber Forum — the site's own search index, not a page scrape. Returns the matching post's title, excerpt, section, author-visible timestamp and a deep link to the exact message. Filter to opening posts only (topic search), to one section, or to one thread; sort by recency or relevance. Ideal for Turkish-market demand signals, product mentions and support chatter. · full AI-ready doc: https://reefapi.com/docs/donanimhaber.md - POST /donanimhaber/v1/search — Keyword-search every post on DonanımHaber Forum — the site's own search index, not a page scrape. Returns the matching post's title, excerpt, section, author-visible timestamp and a deep link to the exact message. Filter to opening posts only (topic search), to one section, or to one thread; sort by recency or relevance. Ideal for Turkish-market demand signals, product mentions and support chatter. (params: query*, search_in, match, sort, first_post_only, section, topic, posted_within, limit, page; 1 credit) - POST /donanimhaber/v1/topic — Full detail for one DonanımHaber Forum thread: title, the complete opening post as clean text, the author (public handle, profile, staff title, lifetime post count), published/last-updated timestamps, the section it lives in, view / post / like counts, and the replies on the requested page with their own authors, timestamps and like counts. (params: topic*, page; 1 credit) - POST /donanimhaber/v1/section — List the topics in one DonanımHaber Forum section, newest activity first, with pagination (65 topics per page). Each row carries the title, the site's own opening-post teaser, the thread starter, reply and view counts, and the last-post timestamp — enough to monitor a section without opening a single thread. (params: section*, page, limit, query, posted_within, include_sticky; 1 credit) - POST /donanimhaber/v1/sections — The DonanımHaber Forum section directory — every public section with its numeric id, name and URL, optionally filtered by name. Use it to resolve a topic area ('SEO', 'yazılım', 'ekran kartı') to the `section` id that `search` and `section` take. (params: query, limit; 1 credit) - [edX API scraper — search the edX online-course catalogue by keyword and pull full course/program detail. Search 6,000+ university and industry courses, professional certificates, MicroMasters, XSeries and online degrees from Harvard, MIT, IBM, Google, Stanford and 250+ partners — filter by level, subject, language, partner and product type. Returns title, partner/university, level, languages, duration, effort, price/free-audit status, skills, enrollment count and the full description, what-you'll-learn, prerequisites, syllabus, instructors and the courses inside a program. Browse every partner school and subject. No API key required.](https://reefapi.com/docs/edx): 4 endpoints — Search the edX catalogue by keyword (any topic, skill, tool or course/program title — 'python', 'machine learning', 'data science', 'cybersecurity', 'finance'). Returns a paginated list of result cards: name, url, type (course / program / executive education / degree), partner, level, languages, subjects, duration, effort, price, skills and enrollment. Optional filters: level, type, program_type, language, subject, partner, availability. Page with `page` (20 per page); meta.has_more / meta.total_count tell you how many. Feed a result's slug/url into the detail action. · full AI-ready doc: https://reefapi.com/docs/edx.md - POST /edx/v1/search — Search the edX catalogue by keyword (any topic, skill, tool or course/program title — 'python', 'machine learning', 'data science', 'cybersecurity', 'finance'). Returns a paginated list of result cards: name, url, type (course / program / executive education / degree), partner, level, languages, subjects, duration, effort, price, skills and enrollment. Optional filters: level, type, program_type, language, subject, partner, availability. Page with `page` (20 per page); meta.has_more / meta.total_count tell you how many. Feed a result's slug/url into the detail action. (params: query*, level, type, program_type, language, subject, partner, availability, page; 1 credit) - POST /edx/v1/detail — Full detail for one edX course OR program by slug or URL. For a course: level, languages, duration, effort, price, enrollment count, full description, what-you'll-learn, overview, prerequisites, syllabus, skills, subjects, partners, instructors (faculty) and course runs (sessions). For a program (professional certificate / MicroMasters / XSeries / degree): the same plus the list of courses inside it. Pass a search result's url or slug. (params: slug, url; 1 credit) - POST /edx/v1/partners — Browse every school, university and company that publishes on edX (Harvard, MIT, IBM, Google Cloud, Stanford, Delft, …) with the number of courses/programs each offers. Use a partner name as the search `partner` filter. (params: none; 0 credit) - POST /edx/v1/subjects — Browse edX's subject areas (Computer Science, Business & Management, Data Analysis & Statistics, Engineering, Economics & Finance, …) with the number of courses in each. Use a subject name as the search `subject` filter. (params: none; 0 credit) - [Eventbrite API scraper — search live events by city, keyword, category, date and price; pull full event detail (name, date, venue, organizer, ticket price range and image); get an organizer's profile and ALL their upcoming/past events (paginated); and browse a city or category's event listings from Eventbrite.com — no login, no API key](https://reefapi.com/docs/eventbrite): 5 endpoints — Search Eventbrite for events by keyword in a city, with optional category, date and free-only filters. Paginated (~20 events/page). Returns each event's name, date, venue with coordinates, image and link. · full AI-ready doc: https://reefapi.com/docs/eventbrite.md - POST /eventbrite/v1/search — Search Eventbrite for events by keyword in a city, with optional category, date and free-only filters. Paginated (~20 events/page). Returns each event's name, date, venue with coordinates, image and link. (params: query, location, category, date, free, page; 1 credit) - POST /eventbrite/v1/detail — Full detail for one event by id or url: name, description, start/end datetime, venue with full address and coordinates, organizer, ticket price range (low/high + currency), availability, language, status and image. (params: event_id, url; 1 credit) - POST /eventbrite/v1/organizer — Profile for an event organizer by id or url: name, bio, verification, avatar, follower count, website and social links, and how many upcoming events they have. (params: organizer_id, url; 1 credit) - POST /eventbrite/v1/organizer_events — An organizer's events, paginated (30/page). Choose upcoming (default) or past. Returns each event with name, start/end datetime, venue, category, price range and link. (params: organizer_id*, type, page; 1 credit) - POST /eventbrite/v1/browse — Browse Eventbrite's curated event listings for a city and/or category (the discovery shelf). Returns the featured events for that location/category — same event shape as search. This surface is a single curated page (not paginated); use `search` with a query for paginated results. (params: location, category; 1 credit) - [RSS & Feed API — universal RSS, Atom and JSON Feed parser: fetch, discover, merge and search any web feed in one normalized schema](https://reefapi.com/docs/feed-gateway): 5 endpoints — Fetch ONE feed URL (RSS 2.0/0.9x, RSS 1.0/RDF, Atom, JSON-Feed 1.1 — auto-detected) and normalise it into one clean JSON schema. Broken XML, HTML entities, encoding mess and truncated feeds are repaired automatically (recovery step reported in meta). · full AI-ready doc: https://reefapi.com/docs/feed-gateway.md - POST /feed-gateway/v1/fetch — Fetch ONE feed URL (RSS 2.0/0.9x, RSS 1.0/RDF, Atom, JSON-Feed 1.1 — auto-detected) and normalise it into one clean JSON schema. Broken XML, HTML entities, encoding mess and truncated feeds are repaired automatically (recovery step reported in meta). (params: url*, limit, sort_by, sort_dir, include_content, since, until; 1 credit) - POST /feed-gateway/v1/discover — Find the feeds of ANY website: parses tags + visible anchor hints, then probes common feed paths at BOTH the host root (/feed, /rss.xml, /atom.xml, /index.xml, …) AND under the given path (e.g. /r/programming/.rss). Every candidate is fetched and VERIFIED as a real parseable feed before being returned — so it works even on sites that don't declare a feed link-tag. (params: url*, probe, limit; 1 credit) - POST /feed-gateway/v1/merge — Merge up to 10 feeds into ONE de-duplicated, date-sorted stream. Duplicates are detected on a canonical link key (tracking params stripped) falling back to guid/title. Each item carries its source_feed. (params: urls*, limit, sort_dir, dedup, since, until, include_content; 1 credit) - POST /feed-gateway/v1/search — Keyword-filter feed items (like RSSHub filter / Feedly search, but no account). Searches title/summary/author/categories (and content_html when include_content=true); multi-word queries match any or all terms; exclude= drops unwanted items. (params: url, urls, query, exclude, fields, match, limit, sort_by, sort_dir, include_content, since, until; 1 credit) - POST /feed-gateway/v1/batch — Fetch up to 20 feeds in ONE call (concurrent, fault-isolated): each feed returns independently with its own ok/error — one dead feed never fails the batch. (params: urls*, limit, include_content, sort_by, sort_dir; 1 credit) - [Goodreads API scraper — book details, ratings, reviews, author profiles & bibliographies, series, Listopia lists, genre charts, and quotes from goodreads.com (no account required)](https://reefapi.com/docs/goodreads): 10 endpoints — Full book record from Goodreads by book ID or URL: title, author(s), average rating, total ratings & text-reviews counts, 1-5 star distribution, genres, series, ISBN/ISBN-13/ASIN, publisher, publication year, page count, edition count, featured characters & settings, literary awards, retailer buy links, and up to 30 embedded reader reviews. · full AI-ready doc: https://reefapi.com/docs/goodreads.md - POST /goodreads/v1/book_detail — Full book record from Goodreads by book ID or URL: title, author(s), average rating, total ratings & text-reviews counts, 1-5 star distribution, genres, series, ISBN/ISBN-13/ASIN, publisher, publication year, page count, edition count, featured characters & settings, literary awards, retailer buy links, and up to 30 embedded reader reviews. (params: id, url, reviews_limit, include_pii; 1 credit) - POST /goodreads/v1/search — Search for books or authors on Goodreads by title, author name, or keyword → returns matching results with title, author, ISBN, book ID, average rating, and cover URL. (params: query*; 1 credit) - POST /goodreads/v1/author — Author profile from Goodreads by author ID or URL: name, average rating, total ratings, birth/death date & place, genres, biography, and a sample of their books. (params: id, url; 1 credit) - POST /goodreads/v1/author_books — An author's complete bibliography on Goodreads (paginated) by author ID or URL → every book with its title, book ID, average rating, ratings count, cover, and publication year. (params: id, url, page; 1 credit) - POST /goodreads/v1/reviews — Fetch reader reviews for a book on Goodreads (by ID or URL) → each review includes the user, star rating, full review text, date, likes count, and spoiler flag. Returns up to 30 reviews per request. (params: id, url, book_id, include_pii; 1 credit) - POST /goodreads/v1/series — A Goodreads book series by series ID or URL → the ordered list of books in the series (title, book ID, URL) plus the primary/total work counts. (params: id, url; 1 credit) - POST /goodreads/v1/list — A Goodreads Listopia list by list ID or URL (paginated) → its ranked books with the community score, vote count, and rating for each, plus the list title and total voters. (params: id, url, page; 1 credit) - POST /goodreads/v1/lists_by_tag — Discover the most popular Goodreads Listopia lists for a topic tag (e.g. fantasy, romance, classics) — returns matching curated lists you can then pull with `list`. (params: tag*, page; 1 credit) - POST /goodreads/v1/genre — The most-read books in a Goodreads genre / shelf this week (e.g. fantasy, mystery, romance, science-fiction, young-adult) → trending books with cover and link. (params: genre*; 1 credit) - POST /goodreads/v1/quotes — Quotes from Goodreads — either every quote BY an author (author_id) or every quote FROM a book (work_id, found in book_detail.book.work_id). Paginated; each quote has its text, source title, like count, and topic tags. (params: author_id, work_id, book_id, id, url, page, include_pii; 1 credit) - [Hacker News API — stories, comments, full comment trees, polls, front-page, user profiles and full-text search across Hacker News (news.ycombinator.com)](https://reefapi.com/docs/hackernews): 9 endpoints — single item by id (story/comment/job/poll/pollopt) — all official fields + time_iso/kids_count/hn_url; hydrate_kids=resolve top-level comments · full AI-ready doc: https://reefapi.com/docs/hackernews.md - POST /hackernews/v1/item — single item by id (story/comment/job/poll/pollopt) — all official fields + time_iso/kids_count/hn_url; hydrate_kids=resolve top-level comments (params: id*, hydrate_kids, kids_limit; 1 credit) - POST /hackernews/v1/item_tree — full nested comment TREE for a story in ONE call; recursive children + descendants count (params: id*; 1 credit) - POST /hackernews/v1/user — user profile by id: karma/created/about/submitted; hydrate_submitted=resolve recent submissions (params: id*, hydrate_submitted, submitted_limit; 1 credit) - POST /hackernews/v1/stories — story-list (list=top/new/best/ask/show/job) → ranked hydrated stories; offset/limit pagination, hydrate=false for ids only (params: list, limit, offset, hydrate; 2 credits) - POST /hackernews/v1/search — Full-text search: query + tags(story/comment/ask_hn/show_hn/poll/front_page/author_X/story_X) + min_points/max_points/min_comments/before/after + sort(relevance|date), paginated (params: query, tags, sort, page, hits_per_page, min_points, max_points, min_comments, max_comments, before, after, numeric_filters, restrict; 1 credit) - POST /hackernews/v1/poll — Poll detail by id: the question + every voting option resolved and ranked by votes, with total_votes and the comment count. (Find poll ids via search with tags=poll.) (params: id*; 1 credit) - POST /hackernews/v1/front_page — Stories that recently made the Hacker News front page (newest-first), paginated. Optional after/before date window. NOTE: the front-page index only retains ~the last 7 days — it is 'what's on / recently hit the front page', not a historical archive. (params: limit, page, after, before; 1 credit) - POST /hackernews/v1/updates — live changefeed: recently changed item ids + profiles + max_item; hydrate=resolve changed items (params: hydrate, limit; 1 credit) - POST /hackernews/v1/max_item — the current largest item id on Hacker News — the newest id, useful for backfilling / id-range walks (params: none; 1 credit) - [IMDb API scraper — movie & TV ratings, vote counts, Top 250 charts, cast, crew and people data: search IMDb for any film, series or person and pull the IMDb user rating, number of votes, release year, runtime, genres, certificate, plot, full cast & characters, directors, writers, episode lists with per-episode ratings, actor/director filmographies, the IMDb Top 250 / Most Popular charts, paginated user reviews, trailers & video clips, photo galleries, awards & nominations, trivia, keywords, parental guide, full cast & crew by department, and 'what's new' lists (coming-soon, weekend box-office, trending) — by IMDb id (tt… / nm…), no API key required](https://reefapi.com/docs/imdb): 13 endpoints — Search IMDb for movies, TV shows and people by name. Uses IMDb's own type-ahead, so one query returns titles AND people mixed, each with its IMDb id (tt…/nm…), a subtitle, poster image, popularity rank and (for titles) type and year. Use the returned id with the `title`, `person` or `episodes` actions. · full AI-ready doc: https://reefapi.com/docs/imdb.md - POST /imdb/v1/search — Search IMDb for movies, TV shows and people by name. Uses IMDb's own type-ahead, so one query returns titles AND people mixed, each with its IMDb id (tt…/nm…), a subtitle, poster image, popularity rank and (for titles) type and year. Use the returned id with the `title`, `person` or `episodes` actions. (params: query*, kind; 1 credit) - POST /imdb/v1/title — Full IMDb title card for one movie or TV show by its tt… id: IMDb user rating and vote count, year(s), runtime, genres, certificate, plot, countries, languages, directors, writers, top cast with character names, poster and popularity rank. For series it also returns the total episode count. (params: imdb_id*; 1 credit) - POST /imdb/v1/person — Full IMDb name card for one person by their nm… id: biography, birth/death dates, birthplace, professions, IMDb popularity rank, their best-known titles and a paginated filmography (each credit with the title, year, IMDb rating, the job and — for acting credits — the character played). (params: imdb_id*, role, limit; 1 credit) - POST /imdb/v1/episodes — Episode list for a TV series by its tt… id, with each episode's IMDb rating, vote count, air date, season/episode number and plot. Page one season at a time with `season`; meta lists every available season number and the total episode count. (params: imdb_id*, season, limit; 1 credit) - POST /imdb/v1/charts — An IMDb chart: the Top 250 movies, Top 250 TV, Bottom 100, or a Most-Popular / Top-Rated meter board. Returns ranked titles with their IMDb chart rating, vote count, year, type and poster. (params: chart, limit; 1 credit) - POST /imdb/v1/reviews — User reviews for a movie or TV show by its tt… id — the full IMDb review text plus the reviewer's star rating, headline, date, spoiler flag and helpful up/down votes. Cursor-paginated: pass the returned `next_cursor` back as `cursor` to walk through every review (titles can have thousands). meta.total reports the full review count. (params: imdb_id*, sort, cursor, limit; 1 credit) - POST /imdb/v1/videos — Trailers and video clips for a movie or TV show by its tt… id, each with a playable MP4 URL (multiple qualities), title, type (Trailer/Clip/Featurette), runtime, description and thumbnail. Note: playback URLs are IMDb-signed and time-limited. (params: imdb_id*, limit; 1 credit) - POST /imdb/v1/photos — Image gallery for a movie or TV show by its tt… id — posters, stills and event photos with full-resolution URLs, dimensions and captions. Cursor-paginated: pass the returned `next_cursor` back as `cursor`. meta.total reports the gallery size. (params: imdb_id*, cursor, limit; 1 credit) - POST /imdb/v1/awards — Awards and nominations for a movie or TV show by its tt… id — Oscars, Golden Globes, BAFTAs, Emmys and more, each with the event, year, category, win/nomination flag and the people nominated. Cursor-paginated; meta.total reports the full count. (params: imdb_id*, cursor, limit; 1 credit) - POST /imdb/v1/extras — Extra IMDb detail for a movie or TV show by its tt… id in one call: trivia, plot keywords, goofs, memorable quotes, alternate titles (AKAs), country release dates, taglines and the parental guide (Sex/Nudity, Violence, Profanity, etc. with severity and example items). Each section is capped by `limit`; section totals are reported. (params: imdb_id*, limit; 1 credit) - POST /imdb/v1/credits — Full cast & crew for a movie or TV show by its tt… id, grouped by department (director, writer, cast, producer, cinematographer, editor, composer, …) — beyond the top-20 cast in `title`. Omit `category` for every department (first N each); pass one `category` to page that department fully with `cursor`. (params: imdb_id*, category, cursor, limit; 1 credit) - POST /imdb/v1/person_extras — Extra IMDb detail for a person by their nm… id: their photo gallery (full-res URLs + captions), awards and nominations (with the titles they were for), height and alternate names. Complements `person` (bio + filmography). (params: imdb_id*, cursor, limit; 1 credit) - POST /imdb/v1/whats_new — IMDb's 'what's new' lists: upcoming movies (coming_soon_movies) or TV (coming_soon_tv) with release dates, the weekend box-office top 10 (box_office) with gross earnings, or the currently trending titles (trending). One friendly `list` value picks the board; coming-soon lists are cursor-paginated and region-aware. (params: list, region, cursor, limit; 1 credit) - [Internet Archive API — search and scrape archive.org's open catalogue of free books, texts, audio, music, concerts, movies, TV, software, games and images: full-text search with mediatype/collection/creator/year filters, complete item metadata with every downloadable file and direct download URLs, collection browsing, user reviews and ratings, and in-book full-text 'search inside' — no API key required](https://reefapi.com/docs/internet-archive): 6 endpoints — Search archive.org's catalogue. Filter by mediatype (texts/audio/movies/software/image/etree…), collection, creator, subject, language and year range; sort and paginate. Returns items with identifier, title, mediatype, creator, year, downloads, rating, collections and thumbnail/details URLs. · full AI-ready doc: https://reefapi.com/docs/internet-archive.md - POST /internet-archive/v1/search — Search archive.org's catalogue. Filter by mediatype (texts/audio/movies/software/image/etree…), collection, creator, subject, language and year range; sort and paginate. Returns items with identifier, title, mediatype, creator, year, downloads, rating, collections and thumbnail/details URLs. (params: query, mediatype, collection, creator, subject, language, year_from, year_to, sort, rows, page; 1 credit) - POST /internet-archive/v1/item — Full metadata for one archive.org item by identifier: title, creator, description, date, publisher, language, subjects, collections, license, rating — plus the COMPLETE file list (name, format, size, duration, source) with direct download URLs, and the item's reviews. Set include_files=false / include_reviews=false to slim the payload. (params: identifier*, include_files, include_reviews, files_limit; 1 credit) - POST /internet-archive/v1/collection — Browse the items inside an archive.org collection by its identifier (e.g. 'nasa', 'librivoxaudio', 'prelinger', 'GratefulDead'). Same rich item rows as search, paginated and sortable; optionally narrow by mediatype within the collection. (params: collection*, mediatype, query, sort, rows, page; 1 credit) - POST /internet-archive/v1/reviews — All public reviews and star ratings for one archive.org item: reviewer handle, star rating (0-5), review title, body and date. Reviews are embedded in the item record, so this returns every review in one call (no pagination needed). (params: identifier*; 1 credit) - POST /internet-archive/v1/files — Just the downloadable files for one archive.org item (no heavy metadata/reviews): name, format, size, duration, source and a direct download URL for each. Useful for fetching the actual book PDF / MP3 / video / ZIP. (params: identifier*, format, files_limit; 1 credit) - POST /internet-archive/v1/search_inside — Full-text 'search inside' one digitized book on archive.org: find a phrase within the book's OCR text and get the matching snippets with page numbers. The item must be a texts/book item with OCR (most scanned books are). (params: identifier*, query*; 1 credit) - [Letterboxd API scraper — film details (rating, runtime, cast, crew, similar films), reviews, member profiles, diary, curated lists, and search from Letterboxd.com](https://reefapi.com/docs/letterboxd): 11 endpoints — Full Letterboxd film detail by film slug or URL: title, year, directors, cast, genres, runtime, poster, IMDb/TMDb IDs, average rating, total ratings, watch count, like count, and list appearances. · full AI-ready doc: https://reefapi.com/docs/letterboxd.md - POST /letterboxd/v1/film — Full Letterboxd film detail by film slug or URL: title, year, directors, cast, genres, runtime, poster, IMDb/TMDb IDs, average rating, total ratings, watch count, like count, and list appearances. (params: film, film_slug, url; 1 credit) - POST /letterboxd/v1/user — Public Letterboxd member profile and stats by username: display name, avatar, bio, film/list/follower counts, and the member's favourite films. (params: user*; 1 credit) - POST /letterboxd/v1/user_films — Paginated list of films a Letterboxd member has watched and rated, with their personal star rating for each. (params: user*, page, per_page; 1 credit) - POST /letterboxd/v1/user_diary — Paginated diary entries for a Letterboxd member: film slug, name, watch date, and star rating for each viewing. (params: user*, page, per_page; 1 credit) - POST /letterboxd/v1/list — A public Letterboxd curated film list: title, description, and the paginated film entries with user ratings. (params: user*, list*, page, per_page; 1 credit) - POST /letterboxd/v1/film_reviews — Paginated public reviews for a Letterboxd film: reviewer username, display name, star rating, review text, and like count. (params: film, film_slug, url, page, per_page; 1 credit) - POST /letterboxd/v1/browse — Browse Letterboxd films with optional genre / decade / year filters, ordered by popularity, rating, release date, or runtime (paginated): slug, name, URL, and average rating. (params: sort, genre, decade, year, page, per_page; 1 credit) - POST /letterboxd/v1/film_similar — Films Letterboxd shows as similar/related to a given film: slug, name, URL — useful for recommendation and discovery off a single seed film. (params: film, film_slug, url; 1 credit) - POST /letterboxd/v1/lists_popular — Browse Letterboxd's most popular member-curated film lists for a time window (week/month/year/all): list title, owner username, list slug+URL, and a preview of the first films. (params: period, page, per_page; 1 credit) - POST /letterboxd/v1/user_lists — The public film lists a Letterboxd member has created (paginated): list title, slug+URL, and a preview of the first films in each list. (params: user*, page, per_page; 1 credit) - POST /letterboxd/v1/search — Search Letterboxd for films, members, or curated lists by keyword — returns matching results with ratings and links. (params: query*, type, page, per_page; 1 credit) - [Listen Notes API — podcast search engine scraper: search podcasts by keyword, get full podcast details (publisher, description, episode count, genres, hosts, latest episodes, cover art, rating) and episode details (audio URL, duration, publish date, description), browse the best podcasts by country and by genre, and read the complete podcast genre taxonomy — from Listen Notes (listennotes.com, 3.7M+ podcasts / 190M+ episodes), no API key required](https://reefapi.com/docs/listennotes): 6 endpoints — Search Listen Notes for podcasts by keyword. Returns up to 10 matching podcasts with title, publisher, cover image and the podcast id (feed into `podcast` for full details). · full AI-ready doc: https://reefapi.com/docs/listennotes.md - POST /listennotes/v1/search — Search Listen Notes for podcasts by keyword. Returns up to 10 matching podcasts with title, publisher, cover image and the podcast id (feed into `podcast` for full details). (params: query*; 1 credit) - POST /listennotes/v1/podcast — Full detail for one podcast by id (from search) or a Listen Notes podcast URL: title, publisher, description, cover art, language, country, genres, hosts, rating, total episode count, social links and its latest episodes. (params: id, url; 1 credit) - POST /listennotes/v1/episode — Full detail for one episode by id or a Listen Notes episode URL: title, description, audio URL, duration, publish date, cover art and the parent podcast. (params: id, url; 1 credit) - POST /listennotes/v1/best_podcasts — The curated 'best podcasts' list for a country, paginated. Each entry has the podcast title, publisher, cover image, id, Listen Score and global rank. (params: region, page; 1 credit) - POST /listennotes/v1/genre — Browse the best podcasts in a genre, paginated. Use the `genres` action to get the genre id → name list. Each entry has title, publisher, image, id, Listen Score and global rank. (params: genre_id*, page; 1 credit) - POST /listennotes/v1/genres — The complete Listen Notes genre taxonomy — every genre id mapped to its name. These ids are the input vocabulary for the `genre` action. (params: none; 0 credit) - [Meetup API scraper — discover upcoming events near any city (filter by in-person vs online and by date, paginated), pull full event detail (name, description, date, venue, fee, RSVP count, group), get a group's full profile (members, rating, topics, location, description) and list a group's upcoming and past events from Meetup.com — no login, no API key](https://reefapi.com/docs/meetup): 4 endpoints — Discover upcoming events near a city. Filter by event type (in-person or online) and by date window, paginated. Returns each event's name, date, venue with coordinates, RSVP count, fee, image and the hosting group. (Meetup's logged-out discovery feed is location-based — pass a city; for a specific topic, browse a relevant group's events.) · full AI-ready doc: https://reefapi.com/docs/meetup.md - POST /meetup/v1/search — Discover upcoming events near a city. Filter by event type (in-person or online) and by date window, paginated. Returns each event's name, date, venue with coordinates, RSVP count, fee, image and the hosting group. (Meetup's logged-out discovery feed is location-based — pass a city; for a specific topic, browse a relevant group's events.) (params: location, event_type, date, radius, cursor; 1 credit) - POST /meetup/v1/event — Full detail for one event by id or url: name, description, start/end datetime, venue with full address and coordinates, hosting group, fee, RSVP/going count, topics, event type and status. (params: event_id, url; 1 credit) - POST /meetup/v1/group — Full profile for a Meetup group by urlname or url: name, member count, average event rating, topics, city/coordinates, description, join mode, founded date and social links. (params: group, urlname, url; 1 credit) - POST /meetup/v1/group_events — A group's events by urlname or url. Choose upcoming (default) or past. Returns each event with name, datetime, venue, fee, RSVP count and link. (params: group, urlname, url, type; 1 credit) - [Movies & TV API — unified movie and TV metadata plus streaming availability: search, full details, cast and crew, seasons and episodes, discover/browse with filters, reviews, images, trailers, where-to-watch by region, charts and recommendations (TMDB, TVmaze, JustWatch)](https://reefapi.com/docs/movies-tv): 23 endpoints — search titles (type=multi|movie|tv|streaming) · full AI-ready doc: https://reefapi.com/docs/movies-tv.md - POST /movies-tv/v1/search — search titles (type=multi|movie|tv|streaming) (params: query*, type, limit, year, country, page, language; 1 credit) - POST /movies-tv/v1/detail — unified title detail (tv→TVmaze, movie→TMDB depth + JustWatch offers) (params: id*, type, id_type, country, include_streaming, language; 2 credits) - POST /movies-tv/v1/episodes — TV episodes (optionally one season) (params: id*, id_type, season, specials; 1 credit) - POST /movies-tv/v1/cast — cast (tv→TVmaze, movie→TMDB) (params: id*, type, id_type; 1 credit) - POST /movies-tv/v1/crew — crew (tv→TVmaze, movie→TMDB) (params: id*, type, id_type; 1 credit) - POST /movies-tv/v1/akas — alternative titles (tv→TVmaze, movie→TMDB) (params: id*, type, id_type; 1 credit) - POST /movies-tv/v1/schedule — TV broadcast (kind=tv) or streaming-premiere (kind=web) calendar (params: country, date, kind; 1 credit) - POST /movies-tv/v1/streaming — where-to-watch offers via JustWatch (query/node_id/imdb/tmdb) (params: query, id, id_type, node_id, country, object_types, title, year; 1 credit) - POST /movies-tv/v1/people — person search or detail (tv→TVmaze, movie→TMDB) (params: query, id, type; 1 credit) - POST /movies-tv/v1/lookup — cross-resolve imdb↔tmdb↔tvmaze ids (params: imdb_id, tmdb_id, tvmaze_id, id, id_type, type; 1 credit) - POST /movies-tv/v1/genres — TMDB genre reference (movie|tv) (params: type; 0 credit) - POST /movies-tv/v1/countries — streaming services available in a country (JustWatch) (params: country; 0 credit) - POST /movies-tv/v1/new_titles — recently added/changed on streaming (≈ catalog changes) (params: date*, country, limit, object_types, packages; 1 credit) - POST /movies-tv/v1/charts — Ranked title charts: most-popular / top-rated / upcoming / now-playing / on-the-air / trending — for movies, TV or both. A `language` filter turns top-rated/popular into the per-language charts (e.g. top-rated Tamil/Telugu/Hindi); `region` localises upcoming/now-playing. (params: chart*, language, region, page, limit; 1 credit) - POST /movies-tv/v1/similar — Titles similar to / recommended for a given movie or TV show (TMDB recommendations, falling back to similar). Accepts a TMDB id or an IMDb tt… id. (params: id*, type, limit; 1 credit) - POST /movies-tv/v1/credits — A person's full filmography (combined movie + TV credits) by TMDB person id or by name — every title they were cast or crew on, newest first, with their character/job. (params: person_id, name, limit; 1 credit) - POST /movies-tv/v1/discover — Browse the catalog with filters — find movies or TV by genre, year range, minimum rating, runtime, original language, cast/crew, keyword and where-to-stream provider, sorted however you like. The 'explore like a real user' surface. (params: type, genres, year, year_gte, year_lte, rating_gte, runtime_gte, runtime_lte, language, region, with_cast, sort_by, page, locale; 1 credit) - POST /movies-tv/v1/reviews — User reviews for a movie or TV show (author, star rating, full text), paginated. (params: id*, type, page; 1 credit) - POST /movies-tv/v1/images — All artwork for a title — posters, backdrops and (TV) episode stills with resolutions and language tags. (params: id*, type, limit; 1 credit) - POST /movies-tv/v1/videos — Trailers, teasers and clips for a movie or TV show (YouTube keys + ready-to-play URLs). (params: id*, type; 1 credit) - POST /movies-tv/v1/watch_providers — Where to stream/rent/buy a title (TMDB/JustWatch data) — pass a country for that region's offers, or omit it to get every region. (params: id*, type, country; 1 credit) - POST /movies-tv/v1/season — Full episode list for one season of a TV show — episode titles, overviews, air dates, ratings and stills (TMDB). (params: id*, season*, type; 1 credit) - POST /movies-tv/v1/episode — One TV episode in depth — overview, air date, rating, guest stars and crew (TMDB). (params: id*, season*, episode*; 1 credit) - [Music Metadata API — search artists, albums, tracks, labels and works; get artist bios & profiles, discographies, top charts, similar artists, song lyrics, cover art and ISRC lookups, powered by MusicBrainz, Cover Art Archive, iTunes, Apple Music charts, TheAudioDB, ListenBrainz and lrclib](https://reefapi.com/docs/music-metadata): 14 endpoints — search artist/album/release/recording/track/label/work (advanced field search supported) · full AI-ready doc: https://reefapi.com/docs/music-metadata.md - POST /music-metadata/v1/search — search artist/album/release/recording/track/label/work (advanced field search supported) (params: query*, type, limit, offset; 1 credit) - POST /music-metadata/v1/artist_detail — artist + relationships (members/collaborations), discography, aliases, tags (params: mbid*, inc; 1 credit) - POST /music-metadata/v1/album_detail — release (tracklist+labels+ISRCs+discids) or release-group (params: mbid*, entity, inc; 1 credit) - POST /music-metadata/v1/track_detail — recording + ISRCs + work-relations + artist credits (params: mbid*, inc; 1 credit) - POST /music-metadata/v1/label — label detail (country, label-code, aliases, url-rels) (params: mbid*, inc; 1 credit) - POST /music-metadata/v1/work_detail — work/composition + ISWC + writer relations (params: mbid*, inc; 1 credit) - POST /music-metadata/v1/isrc_lookup — reverse ISRC -> recordings (cross-catalog key) (params: isrc*, inc; 1 credit) - POST /music-metadata/v1/cover_art — Cover-Art-Archive images (multi-resolution) for a release/release-group (params: mbid*, entity; 1 credit) - POST /music-metadata/v1/itunes_search — iTunes / Apple Music search for artists, albums or songs — returns genre, high-res artwork, a 30s preview URL, price and store link (country-aware) (params: query*, type, limit, country; 1 credit) - POST /music-metadata/v1/charts — Apple Music top charts — the most-played songs or albums in a country (updated through the day) (params: type, country, limit; 1 credit) - POST /music-metadata/v1/artist_profile — Rich artist profile: biography, genre/style/mood, formed year, label, follower/popularity counts, social links and images (TheAudioDB). Pass the MusicBrainz mbid (from search/artist_detail) for an exact match, or an artist name (params: mbid, name; 1 credit) - POST /music-metadata/v1/artist_top_tracks — An artist's most popular tracks (top 10) with album, duration, genre and music-video link (TheAudioDB) (params: name*; 1 credit) - POST /music-metadata/v1/similar_artists — Artists similar to a given artist, ranked by a collaborative listening model (ListenBrainz, CC0). Pass the artist's MusicBrainz mbid (params: mbid*, limit; 1 credit) - POST /music-metadata/v1/lyrics — Song lyrics — both plain text and time-synced (LRC) when available — for an artist + track (lrclib, open). Optionally pass album+duration for an exact match (params: artist*, track*, album, duration; 1 credit) - [Article Extraction API — extract a clean, readable article from any news or blog URL, plus news search](https://reefapi.com/docs/news-article): 2 endpoints — Extract a clean article from any news or blog URL: returns title, full text, author, publication date, top image, all images, language, site name, and canonical URL. Automatically follows Google News and Bing News redirect links to the original publisher page. · full AI-ready doc: https://reefapi.com/docs/news-article.md - POST /news-article/v1/extract — Extract a clean article from any news or blog URL: returns title, full text, author, publication date, top image, all images, language, site name, and canonical URL. Automatically follows Google News and Bing News redirect links to the original publisher page. (params: url*, render, include_markdown; 2 credits) - POST /news-article/v1/news_search — recent-news list from source=google|bing|gdelt|rss|all (unified schema title/url/source/published/lang); resolve=true → Google-News URLs become real publisher URLs (params: query, source, lang, country, limit, rss_url, resolve; 1 credit) - [News Intelligence API — global real-time news and event search across GDELT (100k+ sources, 65+ languages), Google News and Hacker News, de-duplicated into one article schema: search, timeline, trending and top headlines](https://reefapi.com/docs/news-intel): 11 endpoints — Global news search across GDELT (+ optionally merged Google-News-RSS), de-duplicated into one unified article shape. The core 'what's the news on X' call. Filter by timespan/language/country/sort; each article carries title, url, source_domain, published_at, language, snippet, image, duplicate_count, also_reported_by[]. · full AI-ready doc: https://reefapi.com/docs/news-intel.md - POST /news-intel/v1/search — Global news search across GDELT (+ optionally merged Google-News-RSS), de-duplicated into one unified article shape. The core 'what's the news on X' call. Filter by timespan/language/country/sort; each article carries title, url, source_domain, published_at, language, snippet, image, duplicate_count, also_reported_by[]. (params: query*, timespan, start, end, language, country, sort, max, merge_google_news, dedup, similarity; 1 credit) - POST /news-intel/v1/timeline — How much is X in the news over time — GDELT volume-over-time (timelinevol) for a query as [{date, value}], with peak detection (max point + average + latest). SLOW BY NATURE: the analytics index behind this endpoint currently answers in about 20-25 seconds and refuses a large share of connections, so expect a ~20-25s call and an occasional honest 'source did not answer' rather than a sub-second reply. If the source misses, a reading up to 30 minutes old may be returned instead, always labelled with stale_age_seconds. For fast news use search / top_headlines / by_source (~1s). (params: query*, timespan, start, end, language, country; 1 credit) - POST /news-intel/v1/sentiment — Sentiment / tone analysis for a query — GDELT tonechart gives the distribution of article tone (how positive/negative coverage is) as a histogram, a count-weighted average tone, a positive/neutral/negative breakdown, and the single most-positive and most-negative representative article. Answers 'how is X being covered — favorably or critically?'. (alias: tone) SLOW BY NATURE: the analytics index behind this endpoint currently answers in about 20-25 seconds and refuses a large share of connections, so expect a ~20-25s call and an occasional honest 'source did not answer' rather than a sub-second reply. If the source misses, a reading up to 30 minutes old may be returned instead, always labelled with stale_age_seconds. For fast news use search / top_headlines / by_source (~1s). (params: query*, timespan, start, end, language, country; 2 credits) - POST /news-intel/v1/entities — Top entities for a query — the people/organizations and locations most mentioned in coverage of a topic, ranked by mention count. Organizations/people are mined from article titles; locations come from GDELT's source-country distribution. Metadata-only. Useful for 'who and where is this story about'. SLOW BY NATURE: the analytics index behind this endpoint currently answers in about 20-25 seconds and refuses a large share of connections, so expect a ~20-25s call and an occasional honest 'source did not answer' rather than a sub-second reply. If the source misses, a reading up to 30 minutes old may be returned instead, always labelled with stale_age_seconds. For fast news use search / top_headlines / by_source (~1s). (params: query*, timespan, start, end, language, country, max; 2 credits) - POST /news-intel/v1/trending — What's big in the news right now — a curated multi-bucket roll-up (breaking/world/tech/business/politics/science by default, or your own queries) ranked by recent volume, each with a few representative headlines. SLOW BY NATURE: the analytics index behind this endpoint currently answers in about 20-25 seconds and refuses a large share of connections, so expect a ~20-25s call and an occasional honest 'source did not answer' rather than a sub-second reply. If the source misses, a reading up to 30 minutes old may be returned instead, always labelled with stale_age_seconds. For fast news use search / top_headlines / by_source (~1s). PARTIAL BY DESIGN: each bucket is fetched independently, so a call can return fewer topics than requested; meta.bucket_errors names the ones that missed, and a repeat call fills them in (buckets already fetched are reused). (params: queries, timespan, language, country, max; 1 credit) - POST /news-intel/v1/top_headlines — Editor-curated top headlines by Google-News topic section (WORLD/BUSINESS/TECHNOLOGY/…) and/or country edition. De-duplicated. The 'front page' call. (params: topic, country, max, dedup; 1 credit) - POST /news-intel/v1/by_source — Recent articles from a specific publisher domain (reuters.com, bbc.com, …). Google-News site: is the reliable primary (near-live, ~100% on-source); GDELT domain: enriches with direct publisher URLs + tone when its 5s window is free (skipped silently otherwise — never blocks). Source-exact. merge_google_news=false → GDELT-only exact. (params: source*, query, timespan, language, sort, max, merge_google_news, dedup; 1 credit) - POST /news-intel/v1/coverage — Full-story coverage — for a story or topic, discover which news outlets are covering it. Returns the most-covered stories first, each expanded to every outlet that carried it (outlet_count + outlets[]). Ideal for media monitoring and PR: see how widely a story was reported and by whom. (params: query*, timespan, start, end, language, country, max, similarity; 1 credit) - POST /news-intel/v1/sources — Reference directory of supported news outlets, filterable by category (e.g. TECHNOLOGY, SPORTS) and country. Also returns the topic, language and country reference lists accepted by other actions. Note: by_source accepts any publisher domain — this directory is a curated starting set, not a limit. (params: category, country; 0 credit) - POST /news-intel/v1/tech — Hacker News tech vertical — top/new/best stories, or a full-text Algolia search. Each story: title, url, points, author, num_comments, created_at, hn_url. (params: query, list, max; 1 credit) - POST /news-intel/v1/batch — Run up to 10 search queries in one call (shared concurrency, GDELT 5s-window paced). results[] preserves input order; each is a de-duped search result. (params: queries*, timespan, language, country, max, merge_google_news, dedup; 2 credits) - [Sports Data API — live scores, fixtures, standings, teams, players & odds (ESPN + SofaScore)](https://reefapi.com/docs/sports-data): 50 endpoints — Live and final scores for a league — pass a date (YYYYMMDD) or range to get scores for any day; omit it for today/in-play games. · full AI-ready doc: https://reefapi.com/docs/sports-data.md - POST /sports-data/v1/scores — Live and final scores for a league — pass a date (YYYYMMDD) or range to get scores for any day; omit it for today/in-play games. (params: sport*, league*, date, dates; 1 credit) - POST /sports-data/v1/fixtures — Upcoming fixtures and the match schedule for a league, by date or date range (same event shape as scores). (params: sport*, league*, date, dates; 1 credit) - POST /sports-data/v1/standings — Full league table / standings with wins, losses, points and per-team stats (soccer leagues accept a season year). (params: sport*, league*, season; 1 credit) - POST /sports-data/v1/team — Every team in a league, or one team's detail (record, next game, logo) when you pass a team_id. (params: sport*, league*, team_id; 1 credit) - POST /sports-data/v1/roster — A team's full roster / squad with jersey, position, age, height, weight and nationality for each player. (params: sport*, league*, team_id*; 1 credit) - POST /sports-data/v1/summary — Full match summary: boxscore, per-player stats, lineups, play-by-play count, head-to-head, win probability and odds. (params: sport*, league*, event_id*; 2 credits) - POST /sports-data/v1/odds — Betting odds (moneyline, spread, over/under) — for one game by event_id, or every scheduled game in the league that has odds. (params: sport*, league*, event_id, dates; 1 credit) - POST /sports-data/v1/news — Latest news headlines and articles for a league. (params: sport*, league*; 1 credit) - POST /sports-data/v1/search — Look up a team or player by name across all sports (returns ids, badges, league, country) — start here when you only have a name. (params: query*, type; 1 credit) - POST /sports-data/v1/injuries — Current injury report for a league, grouped by team, with each player's status and detail. (params: sport*, league*; 1 credit) - POST /sports-data/v1/team_schedule — One team's full season schedule and results (every game the team plays, unlike league-wide fixtures). (params: sport*, league*, team_id*, season; 1 credit) - POST /sports-data/v1/conferences — A league's conference / division structure (the directory of groups and sub-groups, e.g. college conferences). (params: sport*, league*; 1 credit) - POST /sports-data/v1/leagues — Directory of every supported league/competition (key, name, sport) — call this first to discover the league keys the other actions take. (params: sport; 0 credit) - POST /sports-data/v1/entity_search — search players/teams/tournaments/managers/referees → SofaScore ids (params: query*; 1 credit) - POST /sports-data/v1/live_events — all in-play events for a sport (params: sport*; 1 credit) - POST /sports-data/v1/scheduled_events — all scheduled events for a sport on a date (params: sport*, date*; 1 credit) - POST /sports-data/v1/tournament_seasons — Every season available for a competition (season id + year) — use the id to scope season-specific calls. (params: league*; 0 credit) - POST /sports-data/v1/match_statistics — detailed match stats (possession/shots/xG) (params: event_id*; 2 credits) - POST /sports-data/v1/match_lineups — lineups + per-player ratings & stats (params: event_id*; 2 credits) - POST /sports-data/v1/match_momentum — attack-momentum graph (params: event_id*; 1 credit) - POST /sports-data/v1/match_incidents — goal/card/sub timeline (params: event_id*; 1 credit) - POST /sports-data/v1/match_best_players — best player per team (params: event_id*; 1 credit) - POST /sports-data/v1/match_h2h — head-to-head duel record (params: event_id*; 1 credit) - POST /sports-data/v1/match_managers — both managers for a match (params: event_id*; 1 credit) - POST /sports-data/v1/match_odds — multi-market odds for a match (params: event_id*; 2 credits) - POST /sports-data/v1/match_player_heatmap — a player's touch heatmap in a match (params: event_id*, player_id*; 1 credit) - POST /sports-data/v1/match_player_shotmap — a player's shotmap in a match (params: event_id*, player_id*; 1 credit) - POST /sports-data/v1/match_average_positions — average player positions on the pitch (params: event_id*; 1 credit) - POST /sports-data/v1/player — Player profile: current team, position, market value, preferred foot, height, date of birth and contract — by SofaScore player id. (params: player_id*; 1 credit) - POST /sports-data/v1/player_season_stats — player's season statistics in a league (params: player_id*, league*, season, type; 2 credits) - POST /sports-data/v1/player_heatmap — player's season heatmap (params: player_id*, league*, season; 1 credit) - POST /sports-data/v1/player_attributes — player attribute radar (att/tech/tac/def/cre) (params: player_id*; 1 credit) - POST /sports-data/v1/player_transfers — A player's full transfer history (from/to club, fee, date) by SofaScore player id. (params: player_id*; 1 credit) - POST /sports-data/v1/player_recent — player's recent matches (params: player_id*; 1 credit) - POST /sports-data/v1/team_details — Team profile: manager, venue, founding year and recent pregame form — by SofaScore team id. (params: team_id*; 1 credit) - POST /sports-data/v1/team_squad — A club's full current squad (every player with id, position, value) by SofaScore team id. (params: team_id*; 1 credit) - POST /sports-data/v1/team_transfers — A club's transfers in and out (player, club, fee, date) by SofaScore team id. (params: team_id*; 1 credit) - POST /sports-data/v1/team_season_stats — team's season statistics in a league (params: team_id*, league*, season, type; 2 credits) - POST /sports-data/v1/team_form — team recent form + next/prev event (params: team_id*; 1 credit) - POST /sports-data/v1/team_goal_distributions — goals scored/conceded by match period (params: team_id*, league*, season; 1 credit) - POST /sports-data/v1/season_standings — SofaScore league table for a competition (overall / home / away splits) with goals for/against and goal difference. (params: league*, season, type; 2 credits) - POST /sports-data/v1/season_top_players — season leaders by category (params: league*, season, type; 2 credits) - POST /sports-data/v1/season_top_teams — season top teams by category (params: league*, season, type; 2 credits) - POST /sports-data/v1/team_of_week — team of the week (round or rounds list) (params: league*, season, round_id; 2 credits) - POST /sports-data/v1/power_rankings — season power rankings (params: league*, season, round_id; 2 credits) - POST /sports-data/v1/cup_tree — knockout bracket / cup tree (params: league*, season; 2 credits) - POST /sports-data/v1/tournament_details — Competition metadata: country, tier, and the clubs with the most titles — by league key. (params: league*; 1 credit) - POST /sports-data/v1/manager — Manager profile and full club-by-club career history (matches, wins, points) by SofaScore manager id. (params: manager_id*; 1 credit) - POST /sports-data/v1/referee — referee details + per-tournament stats (params: referee_id*; 1 credit) - POST /sports-data/v1/rankings — World rankings — FIFA men's football, or ATP / WTA tennis (set type; defaults to FIFA). (params: type; 1 credit) - [Steam API scraper — game details, DLC, packages/bundles, regional prices, user reviews, live + peak player counts, store search & store-front discovery (new releases / deals / top sellers), most-played chart, news, tags, similar games, artwork and public player profiles from store.steampowered.com](https://reefapi.com/docs/steam-games): 18 endpoints — full game metadata from store appdetails (+structured languages; include_tags adds community tags/franchise/links) · full AI-ready doc: https://reefapi.com/docs/steam-games.md - POST /steam-games/v1/app_detail — full game metadata from store appdetails (+structured languages; include_tags adds community tags/franchise/links) (params: appid*, cc, country, lang, language, include_raw, include_tags; 2 credits) - POST /steam-games/v1/price — regional price + discount (appdetails price_overview) (params: appid*, cc, country, lang, language; 1 credit) - POST /steam-games/v1/reviews — user reviews + query_summary; review_type/day_range/trend (day|week|month|year)/sort=funny; redact_pii drops author identity (params: appid*, language, lang, num_per_page, limit, filter, review_type, day_range, trend, sort, purchase_type, cursor, redact_pii, redactPii, redact_author; 1 credit) - POST /steam-games/v1/player_stats — steamspy owners + optional current player count (params: appid*, include_current_players; 1 credit) - POST /steam-games/v1/search — store search → appid+price (+metascore on keyword); faceting: tags/type/category1/supportedlang/maxprice/specials. term OR a facet required. (params: term, query, q, count, limit, start, cc, country, lang, language, tags, type, category1, supportedlang, maxprice, specials, force_infinite; 1 credit) - POST /steam-games/v1/top_sellers — Steam top sellers chart slice (appid+price per item); same facets as search (params: count, limit, start, cc, country, lang, language, tags, type, category1, supportedlang, maxprice; 1 credit) - POST /steam-games/v1/news — official game news (ISteamNews/GetNewsForApp) (params: appid*, count, limit, maxlength; 1 credit) - POST /steam-games/v1/tags — community tags (InitAppTagModal) + franchise + external links (store page) (params: appid*, cc, country, lang, language; 1 credit) - POST /steam-games/v1/similar_games — recommended similar games (appids) via /recommended/morelike (params: appid*, count, limit; 1 credit) - POST /steam-games/v1/artworks — official art-asset URLs (header/capsule/library/hero/logo/background) (params: appid*, cc, country, lang, language; 1 credit) - POST /steam-games/v1/guides — Community guides for a game (Steam Workshop guides) — top-rated, trending or most-recent. Each guide: title, author, star rating, preview image and URL. (params: appid*, sort, page, limit; 1 credit) - POST /steam-games/v1/dlc — List a game's DLC with names + regional prices. The base game's DLC appids are resolved to titles/prices (bounded by `resolve` to keep latency sane). (params: appid*, cc, country, lang, language, resolve, count, limit; 1 credit) - POST /steam-games/v1/package — Steam package / bundle (a.k.a. 'sub') details — the apps it contains, the bundled price, platforms and release date. Use the package ids from app_detail.package_groups. (params: packageid*, package_id, subid, id, cc, country, lang, language; 1 credit) - POST /steam-games/v1/featured — Store-front discovery lists: specials (current deals), new_releases, coming_soon and top_sellers — each with appid + price. Pick one with `category`, or get all four. (params: category, type, count, limit, cc, country, lang, language; 1 credit) - POST /steam-games/v1/most_played — Official Steam most-played chart — live concurrent player count + 24h peak per game (the only keyless source of all-time/period peak). Optionally enrich rows with names. (params: count, limit, resolve, cc, country, lang, language; 1 credit) - POST /steam-games/v1/review_histogram — Recommendations up/down over the game's lifetime (Steam's own review histogram) — the data behind the store review-trend graph. (params: appid*, lang, language; 1 credit) - POST /steam-games/v1/player_profile — Public Steam profile summary by 64-bit steamid OR vanity name (keyless). Returns persona, avatar, online state, ban flags and the privacy state. Note: owned-games / friends are NOT available on Steam's keyless surface — this is the profile summary. (params: steamid, steamid64, steam_id, vanity, vanity_url, profile; 1 credit) - POST /steam-games/v1/resolve — Turn a human name into ids so callers never hand-find a URL: a game name → matching appids (chains to app_detail), or a vanity name (kind=profile) → steamid64. (params: term*, query, q, name, kind, count, limit; 1 credit) - [Streaming Availability API (JustWatch where-to-watch) — find which platform a movie or TV show is on by country: stream/rent/buy offers with price & quality, multi-country availability, trending, what's new and leaving, and provider catalogs](https://reefapi.com/docs/streaming): 12 endpoints — search movies/shows with current offers · full AI-ready doc: https://reefapi.com/docs/streaming.md - POST /streaming/v1/search — search movies/shows with current offers (params: query*, country, language, page_size, cursor; 1 credit) - POST /streaming/v1/browse — browse a provider/country catalog by genre/type/year, ranked (sort_by), with pagination (params: country, language, object_types, packages, genres, sort_by, release_year, year_min, year_max, page_size, cursor; 1 credit) - POST /streaming/v1/trending — trending titles right now (with where-to-watch offers), filterable by provider/type/genre (params: country, language, sort_by, object_types, packages, genres, page_size, cursor; 1 credit) - POST /streaming/v1/title — title metadata and offers by JustWatch node id (params: id, query, url, country, language; 1 credit) - POST /streaming/v1/availability — where-to-watch offers for one title across multiple countries (the core comparison call) (params: id, query, url, countries, country, language, monetization_types, presentation_types; 2 credits) - POST /streaming/v1/new — what's new / coming soon / leaving soon on a provider — by country/provider/type (params: country, language, packages, object_types, date, price_drops, page_type, monetization_types, presentation_types, page_size, cursor; 1 credit) - POST /streaming/v1/countries — supported country codes (params: none; 0 credit) - POST /streaming/v1/genres — JustWatch genre reference for a country/language (params: country, language; 0 credit) - POST /streaming/v1/providers — streaming providers available in a country (params: country; 0 credit) - POST /streaming/v1/country — one country plus live supported provider/service details (params: country*; 0 credit) - POST /streaming/v1/seasons — show seasons with offers (params: id*, country, language; 1 credit) - POST /streaming/v1/episodes — season episodes with offers; show id + season_number resolves first (params: id, season_id, season_number, country, language, page_size, cursor; 1 credit) - [Udemy API scraper — search courses by keyword, then pull course detail, live pricing, ratings, paginated student reviews and the full curriculum (chapters + lectures) for any Udemy course by URL, slug or id, plus discovery: browse every course by an instructor and walk the live category taxonomy. Returns title, headline, instructors, rating, subscriber count, level, language, what-you'll-learn, requirements, price/discount and the complete lecture outline. No API key required.](https://reefapi.com/docs/udemy): 7 endpoints — Search Udemy courses by keyword (any topic, e.g. 'python', 'excel', 'machine learning'). Returns a paginated list of course cards — id, title, headline, instructors, rating, review count, level, duration, language — most-relevant first. Feed a result's course_id into detail / pricing / reviews / curriculum. Page with `page`; meta.has_more / meta.total_count tell you how many. · full AI-ready doc: https://reefapi.com/docs/udemy.md - POST /udemy/v1/search — Search Udemy courses by keyword (any topic, e.g. 'python', 'excel', 'machine learning'). Returns a paginated list of course cards — id, title, headline, instructors, rating, review count, level, duration, language — most-relevant first. Feed a result's course_id into detail / pricing / reviews / curriculum. Page with `page`; meta.has_more / meta.total_count tell you how many. (params: query*, page, page_size; 2 credits) - POST /udemy/v1/detail — Full course card for a Udemy course by URL, slug or id: title, headline, instructors, rating, review count, subscriber count, level, language, duration, price, category, description, what-you'll-learn, requirements and target audience. (params: course_id, slug, url; 1 credit) - POST /udemy/v1/pricing — Live price, list price and discount price for one or many Udemy courses by id (comma-separated). Fast, lightweight — use it to track current/sale pricing. (params: course_ids*; 1 credit) - POST /udemy/v1/reviews — Paginated public student reviews for a course by id: star rating, review text, date and the instructor's reply. Page with `page` — meta.has_more / meta.review_count tell you how many. (params: course_id*, page, page_size; 1 credit) - POST /udemy/v1/curriculum — The course outline by id: chapters and lectures in order, with title, position, lecture asset type and whether the lecture is a free preview. Paginated. (params: course_id*, page, page_size; 1 credit) - POST /udemy/v1/by_instructor — Browse every course published by a Udemy instructor, by their numeric instructor id. Returns a paginated list of course cards (id, title, rating, price, level, instructors) — use it to discover courses to feed into detail/pricing/reviews/curriculum. Get the instructor id from any course's instructors[] (detail action). (params: instructor_id*, page, page_size; 1 credit) - POST /udemy/v1/categories — The live Udemy category taxonomy (Development, Business, IT & Software, Design, …) with ids, titles and slugs. Pass a category_id to drill into its subcategories. Use this to map the Udemy catalogue structure. (params: category_id; 1 credit) - [V2EX API scraper — live topics with full post bodies, complete reply threads, member profiles, the 1364-node taxonomy, and full-text search across every V2EX topic since 2010. China's biggest developer/tech community (v2ex.com) in clean JSON. No login, no token, no China exit required.](https://reefapi.com/docs/v2ex): 8 endpoints — Full-text search across EVERY V2EX topic since 2010 (title + body + replies) — the historical archive the site's own JSON API does not expose. Filter by node, date range and sort by recency or relevance; each hit returns the full post body, author handle, node, reply count and markup-free match snippets. · full AI-ready doc: https://reefapi.com/docs/v2ex.md - POST /v2ex/v1/search — Full-text search across EVERY V2EX topic since 2010 (title + body + replies) — the historical archive the site's own JSON API does not expose. Filter by node, date range and sort by recency or relevance; each hit returns the full post body, author handle, node, reply count and markup-free match snippets. (params: q*, match, sort, order, node, since, until, limit, offset, resolve_nodes; 1 credit) - POST /v2ex/v1/node_topics — The newest topics of one V2EX node (sub-forum) with the COMPLETE post body — a live freshness feed for a niche: 'jobs' for hiring posts, 'outsourcing' for project leads, 'qna' for buying-intent questions, 'programmer' for developer chatter. Returns the node's own metadata (topic count, subscriber count) alongside. (params: node_name*, limit; 1 credit) - POST /v2ex/v1/latest — The newest topics across the WHOLE of V2EX (all nodes), each with its full post body — a single-call firehose of what the Chinese dev community is posting right now (typically ~47 topics, the freshest usually minutes old). (params: limit; 1 credit) - POST /v2ex/v1/hot — Today's most-discussed V2EX topics with full bodies — the site's own hot list, ordered by the traction the community itself gave them. (params: limit; 1 credit) - POST /v2ex/v1/topic — One V2EX topic by id or URL: the full post body plus the COMPLETE reply thread (every reply, in order, with author handle and timestamp) — the discussion is where the buying intent, the tool recommendations and the salary numbers actually live. (params: id*, with_replies, replies_limit; 1 credit) - POST /v2ex/v1/user_topics — The newest topics posted by one V2EX member, with full bodies — follow a recruiter, a vendor or a prolific poster without watching every node. (params: username*, limit; 1 credit) - POST /v2ex/v1/member — Public profile of a V2EX member by handle or id: tagline, bio, website, github/twitter handle, self-typed location, join date and PRO status. Only what the member published themselves — the API exposes no e-mail, phone or real name. (params: username*; 1 credit) - POST /v2ex/v1/nodes — The V2EX node taxonomy — all 1364 sub-forums with slug, Chinese and English title, topic count, subscriber count and parent node. Pass `name` for one node, or `query` to search the directory (matches slug, Chinese title and English title). This is how you find the `node_name` for `node_topics` and the `node` filter for `search`. (params: name, query, limit; 1 credit) - [Wikipedia & Wikidata API — encyclopedia content, knowledge-graph facts and pageview traffic across 360+ languages: summaries, full articles, rendered HTML/wikitext, full-text search, entity facts, category members, cross-language links, edit history, random pages, geosearch, on-this-day and featured-content feed](https://reefapi.com/docs/wikipedia): 16 endpoints — page summary: extract, description, thumbnail, coordinates, wikibase QID, urls (lang= any of 360+ editions) · full AI-ready doc: https://reefapi.com/docs/wikipedia.md - POST /wikipedia/v1/summary — page summary: extract, description, thumbnail, coordinates, wikibase QID, urls (lang= any of 360+ editions) (params: title*, lang; 1 credit) - POST /wikipedia/v1/page — full article: plain-text body + internal links + image list + categories + external links (content=false → structure only) (params: title*, lang, content, links_limit, images_limit; 1 credit) - POST /wikipedia/v1/search — full-text search → ranked pages (snippet/pageid/wordcount) + totalhits; enrich= adds extract/thumbnail/QID (params: query*, lang, limit, offset, enrich; 1 credit) - POST /wikipedia/v1/entity_facts — Wikidata facts for a QID or title: label/description/aliases + resolved human-readable facts{prop:value} + key_facts + identifiers + image/coords (params: id, qid, title, query, lang, value_cap; 2 credits) - POST /wikipedia/v1/pageviews — daily/monthly traffic for an article over a date range → series + total + average (params: title*, lang, start, end, days, granularity, access, agent; 1 credit) - POST /wikipedia/v1/related — pages related to a title; enrich= adds extract/thumbnail (params: title*, lang, limit, enrich; 1 credit) - POST /wikipedia/v1/autocomplete — typeahead title suggestions (params: q*, lang, limit; 0 credit) - POST /wikipedia/v1/geosearch — Wikipedia pages near a coordinate or around a title (params: lat, lon, coord, title, radius, limit, lang; 1 credit) - POST /wikipedia/v1/on_this_day — historical events/births/deaths/holidays for a month-day (kind=all|selected|events|births|deaths|holidays) (params: month, day, date, kind, limit, lang; 1 credit) - POST /wikipedia/v1/top_articles — most-viewed articles for a given date (trending) (params: date, limit, access, include_special, lang; 1 credit) - POST /wikipedia/v1/category_members — list the pages, sub-categories or files that belong to a Wikipedia category (cmtype=page|subcat|file); paginate with meta.next/cmcontinue (params: category*, lang, limit, cmtype, cmcontinue; 1 credit) - POST /wikipedia/v1/langlinks — full cross-language map for a title: every edition's {lang, title, url, langname, autonym} plus a langmap{lang:title} lookup (the page action only returns the count) (params: title*, lang, limit; 1 credit) - POST /wikipedia/v1/random — one or more random articles; enrich= adds extract/thumbnail/QID (params: lang, limit, enrich; 1 credit) - POST /wikipedia/v1/revisions — edit history of an article: revid, parentid, timestamp, user, comment, size, tags; from/to window the range (params: title*, lang, limit, from, to; 1 credit) - POST /wikipedia/v1/html — rendered article HTML (REST Parsoid) — or raw wiki markup with format=wikitext (params: title*, lang, format; 2 credits) - POST /wikipedia/v1/featured — Wikimedia featured-content feed for a date: tfa (today's featured article), image-of-the-day, in-the-news, most-read and on-this-day (blocks vary by language/date) (params: date, lang; 1 credit) - [YouTube API — search (with filters) videos, channels, playlists and shorts; get video details, comments (top/newest), related videos, channel info and About panel, playlist and channel-uploads listings, and video transcripts/captions](https://reefapi.com/docs/youtube): 11 endpoints — search videos/channels/playlists/shorts with filters (upload date, duration, sort order, features) · full AI-ready doc: https://reefapi.com/docs/youtube.md - POST /youtube/v1/search — search videos/channels/playlists/shorts with filters (upload date, duration, sort order, features) (params: query*, type, limit, continuation, upload_date, duration, sort_by, features; 1 credit) - POST /youtube/v1/video_detail — video metadata: title/views/likes/date/channel/description (+ duration/keywords/thumbnails/caption-langs best-effort) (params: video_id*; 1 credit) - POST /youtube/v1/video_details — BATCH engagement enrichment — pass up to 50 video_ids in ONE call, get likes + description (+ optional comment_count) per video. Built to enrich channel_videos/channel_shorts lists (which don't carry likes) without one call per video. (params: video_ids*, include_comment_count; 1 credit) - POST /youtube/v1/comments — video comments (text/author/likes/replies), paginated, sortable by top or newest (params: video_id*, limit, continuation, sort; 1 credit) - POST /youtube/v1/channel — channel detail: subs/videoCount/description/links (params: channel_id*, handle, url; 1 credit) - POST /youtube/v1/transcript — video transcript/captions (timed segments + full text) select any language the video has via 'lang'; format=text|segments (params: video_id*, lang, format; 1 credit) - POST /youtube/v1/playlist — list a playlist's videos (id/title/channel/duration/position), paginated (params: playlist_id*, limit, continuation; 1 credit) - POST /youtube/v1/channel_videos — a channel's uploads (Videos tab): video_id/title/views/duration, paginated (params: channel_id*, handle, url, limit, continuation; 2 credits) - POST /youtube/v1/channel_shorts — a channel's Shorts tab (video_id/title/views/views_int/thumbnails), paginated — the Shorts that the Videos tab (channel_videos) omits; works for shorts-only channels (params: channel_id*, handle, url, limit, continuation; 1 credit) - POST /youtube/v1/related — recommended/related videos for a video_id (from the watch page) (params: video_id*, limit; 1 credit) - POST /youtube/v1/channel_about — full channel About panel: total views, joined date, country, links, description (params: channel_id*, handle, url; 2 credits) ## Utilities & AI - [Source Verification API — verify a claim, find the official source, and look up or compare pricing for the sources AI agents cite](https://reefapi.com/docs/agent-source): 6 endpoints — Inspect a public URL for source-reliability: reachability, canonical + full redirect chain, title/publisher/published+updated dates, language, official-likelihood, and a stale/archived (wayback) signal. · full AI-ready doc: https://reefapi.com/docs/agent-source.md - POST /agent-source/v1/source_url — Inspect a public URL for source-reliability: reachability, canonical + full redirect chain, title/publisher/published+updated dates, language, official-likelihood, and a stale/archived (wayback) signal. (params: url*, check_archive, official_for; 1 credit) - POST /agent-source/v1/official_source — Resolve the OFFICIAL URL a curated provider publishes for a given need (pricing/docs/changelog/status/legal/model_card) + why it is official (domain match + domain age via whois). Curated whitelist only. (params: entity*, need_type, verify; 2 credits) - POST /agent-source/v1/verify_claim — Check whether one or more public source URLs support a factual claim — returns supported, contradicted, not_found, or unclear, along with the matching evidence snippet and a confidence level. Uses exact quote and number matching against the live page content. A source-evidence checker, not a general truth oracle. (params: claim*, url*, urls; 3 credits) - POST /agent-source/v1/pricing_lookup — Current developer/LLM pricing for a curated provider, parsed live from the provider's own pricing page/API. Each row: model, input/output per-1M-token USD, source_url, last_seen_at, unit, currency, normalization_notes. (params: provider*, model, limit; 1 credit) - POST /agent-source/v1/pricing_compare — Compare current pricing across several curated providers (optionally filtered to a model substring) → normalized per-1M-token USD, cheapest-first, each traceable to its source_url + last_seen_at. (params: providers*, model; 3 credits) - POST /agent-source/v1/providers — List the curated provider whitelist + each provider's capabilities (which need_types and structured pricing are supported) and parse-surface metadata. The honest denominator for official_source / pricing. (params: provider; 0 credit) - [Barcode Lookup API — GTIN/EAN/UPC/ISBN to product data (title, brand, images, nutrition, retailer offers) via Open Food Facts and UPCitemdb, with check-digit validation](https://reefapi.com/docs/barcode): 7 endpoints — Barcode → one merged product: title/brand/category/image/description + dimensions/model + PACKAGE WEIGHT as an explicit {weight, weight_unit} pair (plus weight_grams, weight_type, weight_source and a weight_confidence flag) + retailer offers&prices (UPCitemdb) + net content + nutrition/ingredients/allergens if food (OFF). Includes check-digit validation, GTIN-13 normalization and issuing-country. source=auto merges them, and falls back to go-upc — US general merchandise, retailer private label, apparel and footwear — for barcodes the first two do not carry. Weight is published by roughly 1 barcode in 5 (1 in 3 with deep_weight=true) — when no source states one, weight is null, never 0 and never borrowed from a similar product. · full AI-ready doc: https://reefapi.com/docs/barcode.md - POST /barcode/v1/lookup — Barcode → one merged product: title/brand/category/image/description + dimensions/model + PACKAGE WEIGHT as an explicit {weight, weight_unit} pair (plus weight_grams, weight_type, weight_source and a weight_confidence flag) + retailer offers&prices (UPCitemdb) + net content + nutrition/ingredients/allergens if food (OFF). Includes check-digit validation, GTIN-13 normalization and issuing-country. source=auto merges them, and falls back to go-upc — US general merchandise, retailer private label, apparel and footwear — for barcodes the first two do not carry. Weight is published by roughly 1 barcode in 5 (1 in 3 with deep_weight=true) — when no source states one, weight is null, never 0 and never borrowed from a similar product. (params: barcode*, source, off_db, deep_weight; 1 credit) - POST /barcode/v1/batch — Up to 20 barcodes in one call → array of merged products (input order preserved), each with its own source/validation. The competitor caps at 10. (params: barcodes*, source, off_db, deep_weight; 1 credit) - POST /barcode/v1/search — Free-text product-name search across the open databases → product cards with pagination. Optional category scope. (Competitor: keyword/title/category search.) (params: query*, category, off_db, source, page, page_size; 1 credit) - POST /barcode/v1/by_brand — All products for a brand/manufacturer → product cards with pagination. (Competitor: brand + manufacturer search.) (params: brand*, category, off_db, page, page_size; 1 credit) - POST /barcode/v1/by_prefix — GS1 company-prefix (partial-barcode) search → products whose barcode starts with the given 6+ digits, plus the decoded issuing country. (Competitor: `491234*` partial method.) (params: prefix*, off_db, page, page_size; 1 credit) - POST /barcode/v1/by_mpn — Manufacturer-Part-Number / model lookup → products with that MPN/model (UPCitemdb keyword index over the MPN). Exact model/mpn matches are surfaced first. Closes the competitor's mpn query-method (the proprietary mpn= DB-index isn't on the open tier, but the keyword index resolves real MPNs — Logitech 910-005565, Sony WH-1000XM4, Canon 2727C002 all verified). (params: mpn*, page, page_size; 1 credit) - POST /barcode/v1/validate — Validate + decode a barcode WITHOUT a network call: mod-10 check digit, GTIN type, GTIN-13 normalization, GS1 issuing country, ISBN/Bookland detection. (We EXCEED the competitor here — it has no standalone validate.) (params: barcode*; 0 credit) - [Domain & App-Name Availability API — check if a domain or brand name is free across TLDs, with WHOIS/RDAP records, name suggestions and bulk lookups](https://reefapi.com/docs/domain-availability): 5 endpoints — Is one domain available? Combined RDAP and DNS verdict with confidence + Domainr-style status tokens + a register_url when free. Accepts domain OR name+tld. · full AI-ready doc: https://reefapi.com/docs/domain-availability.md - POST /domain-availability/v1/check — Is one domain available? Combined RDAP and DNS verdict with confidence + Domainr-style status tokens + a register_url when free. Accepts domain OR name+tld. (params: domain*, name, tld, signal, whois, include_pii; 1 credit) - POST /domain-availability/v1/bulk_check — One NAME across many TLDs → availability map (which of name.com/.io/.ai/… are free). (params: name*, tlds, signal; 1 credit) - POST /domain-availability/v1/rdap — Full WHOIS via RDAP for a registered domain (registrar, created/expires, status, nameservers, dnssec, abuse). A 404 is returned cleanly (available on RDAP-served TLDs; null + a pointer to 'check' on TLDs with no RDAP server), not an error. (params: domain*, raw, include_pii; 1 credit) - POST /domain-availability/v1/suggest — Name variations (prefix/suffix/TLD permutations, deterministic — no LLM) each with a live availability verdict; available ones surfaced first. (params: name*, tlds, signal; 1 credit) - POST /domain-availability/v1/batch — Many DIFFERENT full domains in one call → availability for each (bulk check). (params: domains*, signal; 1 credit) - [Domain Intelligence API — WHOIS/RDAP records, DNS lookups (all record types), reverse DNS, hosting/ASN/IP-owner, DNSSEC, SSL certificates, subdomain discovery and tech-stack detection for any domain](https://reefapi.com/docs/domain-intel): 12 endpoints — Domain registration (WHOIS) via RDAP: registrar (+ IANA id), reseller, status flags, created/updated/expires dates, nameservers, DNSSEC flag, abuse contact, and registrant (org-only unless include_pii). Legacy-WHOIS-only TLDs (.io/.de) return NOT_FOUND — see tld_detail. · full AI-ready doc: https://reefapi.com/docs/domain-intel.md - POST /domain-intel/v1/whois — Domain registration (WHOIS) via RDAP: registrar (+ IANA id), reseller, status flags, created/updated/expires dates, nameservers, DNSSEC flag, abuse contact, and registrant (org-only unless include_pii). Legacy-WHOIS-only TLDs (.io/.de) return NOT_FOUND — see tld_detail. (params: domain*, raw, include_pii; 1 credit) - POST /domain-intel/v1/dns — DNS records over DNS-over-HTTPS: A/AAAA/MX/TXT/NS/CNAME/SOA/CAA by default; PTR/SRV/DS/DNSKEY/TLSA and any RR type on request via the 'types' param. (params: domain*, types; 1 credit) - POST /domain-intel/v1/reverse_dns — Reverse DNS (PTR): the hostname each of the domain's A/AAAA IPs resolves back to, or pass an explicit IPv4/IPv6 to PTR that single address. Missing PTR is a common mail-rejection cause. (params: domain*; 1 credit) - POST /domain-intel/v1/hosting — Hosting / ASN / IP-owner: resolves the domain's A+AAAA IPs and looks up each via Team Cymru — ASN, announced prefix, country, RIR, AS-name (network owner) + reverse DNS. Tells you who hosts a domain and on what network. (params: domain*; 1 credit) - POST /domain-intel/v1/dnssec — DNSSEC signing status: the DoH AD (Authenticated-Data) flag (the resolver cryptographically validated the answer), the DS record at the parent (delegation signed), and DNSKEY presence — plus a broken-chain warning (DS without DNSKEY). (params: domain*; 1 credit) - POST /domain-intel/v1/ssl_certs — SSL/TLS certificates from Certificate Transparency (CT) logs (certspotter primary, crt.sh deep fallback): issuer, common name, SANs, validity window, serial, expired flag. (params: domain*, limit, deep; 1 credit) - POST /domain-intel/v1/subdomains — Subdomain discovery via Certificate-Transparency-log cert SANs (the standard passive method; pass deep=true for full crt.sh history = more results). (params: domain*, deep; 1 credit) - POST /domain-intel/v1/availability — Domain registration availability via RDAP (registered ⇔ an RDAP record exists). Caveat: legacy-WHOIS-only TLDs report 'available' falsely — surfaced in the note. (params: domain*; 1 credit) - POST /domain-intel/v1/tld_list — The IANA list of all delegated top-level domains (optionally substring-filtered). (params: search, limit; 0 credit) - POST /domain-intel/v1/tld_detail — Per-TLD metadata: ccTLD vs gTLD and its IANA RDAP server(s) (or a note that it is legacy-WHOIS-only, which explains why whois/availability 404 for that TLD). (params: tld*; 0 credit) - POST /domain-intel/v1/tech_detect — Tech-stack fingerprint from the homepage response headers + HTML: web server, CDN/WAF, and frameworks/CMS/analytics (WordPress, Next.js, Shopify, React, Bitrix, Tilda, Yandex.Metrica, …). Tries https, then plain http, then the www host, so HTTP-only and www-only-certificate sites are fingerprinted instead of reported as blocked; `https_available` tells you which it was. (params: domain*; 1 credit) - POST /domain-intel/v1/full_report — One-call merge: whois + dns + dnssec + ssl_certs + subdomains (and optionally tech + hosting). meta.sections shows per-part status. (params: domain*, include_tech, include_hosting, include_pii, deep; 3 credits) - [Company Intelligence API — turn a domain into an enriched company profile: firmographics, reviews, local presence, brand trends, funding signals and tech footprint](https://reefapi.com/docs/enrich-company): 3 endpoints — domain → entity-resolved company profile (core groups) with per-field provenance · full AI-ready doc: https://reefapi.com/docs/enrich-company.md - POST /enrich-company/v1/company_domain — domain → entity-resolved company profile (core groups) with per-field provenance (params: domain*, include, exclude; 6 credits) - POST /enrich-company/v1/company_domain_rich — everything in company_domain + firmographics (LinkedIn/Indeed/Glassdoor), review depth, local/maps match, brand trends, app/package presence, registry funding signals (Wikidata), traffic rank (params: domain*, include, exclude; 14 credits) - POST /enrich-company/v1/batch — enrich up to 10 domains in one call (core groups, cache-first, per-domain ok/error) (params: domains*, include, exclude; 24 credits) - [URL Intelligence API — resolve any URL to its final/clean URL, classify the entity type, find the canonical domain and route it to the right data engine](https://reefapi.com/docs/enrich-url): 4 endpoints — Any URL → final_url, cleaned_url (tracking stripped), domain, entity_type{value,confidence,source}, platform, recommended{engine,action,params} (the Reef deep-fetch card; web-extract fallback for unknown hosts), tracking{affiliate,stripped_params}. · full AI-ready doc: https://reefapi.com/docs/enrich-url.md - POST /enrich-url/v1/classify — Any URL → final_url, cleaned_url (tracking stripped), domain, entity_type{value,confidence,source}, platform, recommended{engine,action,params} (the Reef deep-fetch card; web-extract fallback for unknown hosts), tracking{affiliate,stripped_params}. (params: url*, deep; 2 credits) - POST /enrich-url/v1/extract_entity — Any URL → a lightweight entity card with title, image, description, price, author and publication date — great for link previews and deciding which Reef engine to call next. Use the recommended{} field from classify for the full deep-fetch. (params: url*; 2 credits) - POST /enrich-url/v1/batch — Classify up to 20 URLs in one call (the link-list cleanup + routing use-case): per-URL ok/error, each independently resolved + classified. (params: urls*; 2 credits) - POST /enrich-url/v1/catalog_resolve — META (no network): given a known platform name OR a URL's host, return which Reef engine+action handles it and the param key it needs — the routing table itself (url-resolver marketplace engine_hints + the non-marketplace platform map). For agents discovering 'which engine for X'. (params: platform, url; 1 credit) - [File Conversion API — convert and process files: PDF tools, image convert/optimize, document-to-markdown (for RAG), OCR, Office-to-PDF, audio extraction and data-format conversion](https://reefapi.com/docs/file-convert): 31 endpoints — Extract text from a PDF (per page). mode=layout preserves visual alignment (pdfplumber); mode=plain is fastest. Flags likely-scanned PDFs. · full AI-ready doc: https://reefapi.com/docs/file-convert.md - POST /file-convert/v1/pdf_extract_text — Extract text from a PDF (per page). mode=layout preserves visual alignment (pdfplumber); mode=plain is fastest. Flags likely-scanned PDFs. (params: none; 1 credit) - POST /file-convert/v1/pdf_metadata — PDF document properties: title/author/dates/producer, page count & size, encryption flag, AcroForm field count. (params: none; 1 credit) - POST /file-convert/v1/pdf_merge — Merge 2-20 PDFs into one (input order preserved). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_split — Split a PDF: pages='2-5,8' extracts those pages into one PDF; chunk_size=N splits the whole document into N-page parts (max 100 parts). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_rotate — Rotate pages clockwise by 90/180/270° (all pages or a range). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_to_images — Render PDF pages to PNG/JPG/WebP (pypdfium2). Max 20 pages per call, dpi ≤ 300. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/images_to_pdf — Combine 1-20 images into a single PDF (one page per image; page_size=a4/letter centers each image on a standard page). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 2 credits) - POST /file-convert/v1/pdf_watermark — Stamp a text or image watermark over pages (true alpha overlay; diagonal or centred). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_fill_form — AcroForm filling. Without 'fields' → lists the form fields (discovery). With 'fields' → fills and returns the PDF (NeedAppearances set). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_redact — TRUE redaction: target pages are re-rendered with the matches blacked out and REBUILT — original text/fonts/layers destroyed, then verified by re-extraction (output withheld if any remnant). Redacted pages lose selectable text. Find by 'terms' and/or explicit 'areas'. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_compress — Shrink a PDF: stream recompression + embedded-image re-encode (level=low/balanced/strong; strong also caps image resolution). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/pdf_protect — Encrypt a PDF with AES-256 (user password to open; optional owner password). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: user_password*; 1 credit) - POST /file-convert/v1/pdf_unlock — Remove encryption from a PDF — REQUIRES the correct password (we never crack or bypass protection). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: password*; 1 credit) - POST /file-convert/v1/pdf_repair — Best-effort structural repair (broken xref/trailer/stream lengths) via a tolerant qpdf parse + clean rewrite. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/image_convert — Convert between raster formats (jpg/png/webp/tiff/bmp/gif/avif; animated gif/webp preserved where the target supports it). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: to*; 1 credit) - POST /file-convert/v1/image_resize — Resize with fit=contain (aspect kept, fits inside box) / cover (fills+crops) / stretch. No upscaling unless upscale=true. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/image_optimize — Smart perceptual compression (TinyPNG-style): binary-searches the lowest quality whose decoded result stays visually equal to the source, per a per-channel error budget (effort=low/balanced/strong). Optionally convert to webp/avif while optimizing. Never returns a bigger file. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/image_thumbnail — Fast thumbnail (16-2048px box; square=true centre-crops to a square). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/image_metadata — Read image facts + EXIF (+GPS) — and with strip=true return a copy with ALL metadata removed (EXIF/GPS/XMP/ICC). (params: none; 1 credit) - POST /file-convert/v1/image_rotate — Rotate (90/180/270 clockwise) and/or flip (horizontal/vertical). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 1 credit) - POST /file-convert/v1/image_crop — Crop a pixel box (x, y from top-left + width × height). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: width*, height*; 1 credit) - POST /file-convert/v1/doc_to_markdown — Document → clean markdown for RAG/agents. PDF uses a layout engine (headings from font sizes, real pipe-tables, reading order); docx/pptx/xlsx/html via MarkItDown. mode=fast trades structure for speed. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 4 credits) - POST /file-convert/v1/extract_tables — Pull every table out of a PDF / xlsx / docx / html as JSON rows (+optional CSV files). Max 50 tables. (params: none; 3 credits) - POST /file-convert/v1/ocr_image — OCR an image → text + word count + confidence (tesseract 5, printed text; languages: eng/deu/fra/spa/tur, combinable). (params: none; 2 credits) - POST /file-convert/v1/ocr_pdf — OCR a scanned PDF: output=text → per-page text+confidence; output=searchable_pdf → image+invisible-text-layer PDF. OCR-light: max 10 pages per call (use 'pages' to window). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 2 credits) - POST /file-convert/v1/office_convert — Office → PDF (and html/txt; spreadsheets also → csv; text docs also → docx) via LibreOffice headless — docx/doc/odt/rtf/pptx/ppt/odp/xlsx/xls/ods/html/markdown/txt/csv in. Fonts: Noto (CJK/RTL) + Liberation (Arial/Times metrics). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 3 credits) - POST /file-convert/v1/audio_extract — Extract the audio track from a video (mp4/webm/mkv/avi) → mp3 (default) / m4a / wav / flac / ogg / opus. Stream-copies losslessly when the codec already matches the target. NOT a video transcoder (phase-2). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: none; 2 credits) - POST /file-convert/v1/audio_convert — Convert between audio formats (mp3/wav/flac/ogg/m4a in → mp3/m4a/wav/flac/ogg/opus out; ffmpeg LGPL build). Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: to*; 2 credits) - POST /file-convert/v1/media_probe — ffprobe metadata for any audio/video file: container, duration, bitrate, per-stream codec/sample-rate/resolution, curated tags. (params: none; 1 credit) - POST /file-convert/v1/data_convert — Deterministic data-format conversion: CSV ↔ JSON ↔ XML ↔ YAML ↔ Excel(xlsx) (any direction; tabular targets need tabular-shaped input — clean error otherwise). 200k-row cap. Output delivery: each produced file ≤10MB comes inline as base64 (files[].file_b64); 10-50MB comes as a one-time download token (files[].download_path, 30min TTL); >50MB total is rejected. (params: to*; 1 credit) - POST /file-convert/v1/formats — Capability matrix: every action with its accepted input formats, targets and caps — machine-readable (the Zamzar /formats equivalent). (params: none; 0 credit) - [Fitness & Exercise API — exercise database with step-by-step instructions, muscle targeting, and equipment filters (wger.de open data, 800+ exercises)](https://reefapi.com/docs/fitness): 8 endpoints — Browse or search the full exercise library (800+ exercises from wger.de). Filter by name keyword; returns each exercise's name, body part, target muscle, equipment, step-by-step instructions, and animation URL. · full AI-ready doc: https://reefapi.com/docs/fitness.md - POST /fitness/v1/exercises — Browse or search the full exercise library (800+ exercises from wger.de). Filter by name keyword; returns each exercise's name, body part, target muscle, equipment, step-by-step instructions, and animation URL. (params: name, term, limit, offset, language; 1 credit) - POST /fitness/v1/by_bodypart — All exercises targeting a specific body part — e.g. 'chest', 'back', 'shoulders', 'upper arms', 'waist'. Returns name, target muscle, equipment, and instructions for each. (params: bodypart*, bodyPart, limit, offset, language; 1 credit) - POST /fitness/v1/by_equipment — All exercises that use a specific piece of equipment — e.g. 'barbell', 'dumbbell', 'kettlebell', 'none' (bodyweight). Returns name, target muscle, body part, and instructions. (params: equipment*, limit, offset, language; 1 credit) - POST /fitness/v1/by_target — All exercises that target a specific muscle — e.g. 'biceps', 'triceps', 'quads', 'glutes', 'lats'. Returns name, equipment, body part, and step-by-step instructions. (params: target*, limit, offset, language; 1 credit) - POST /fitness/v1/exercise_detail — Full detail for a single exercise by its id — name, body part, primary and secondary muscles, equipment, step-by-step instructions, animation URL, and license. (params: id*, exercise_id, language; 1 credit) - POST /fitness/v1/bodypart_list — List all available body part categories (e.g. chest, back, shoulders, waist, cardio). Use these values with the by_bodypart action. (params: none; 0 credit) - POST /fitness/v1/equipment_list — List all available equipment types (e.g. barbell, dumbbell, kettlebell, none). Use these values with the by_equipment action. (params: none; 0 credit) - POST /fitness/v1/target_list — List all available target muscles (e.g. biceps, triceps, quads, glutes, lats). Use these values with the by_target action. (params: none; 0 credit) - [AI Search Visibility API (GEO) — measure a website's AI citability: AI-crawler access (robots.txt), llms.txt, schema.org structured data and meta signals → a 0-100 AI-readiness score with ranked fixes](https://reefapi.com/docs/geo-intel): 6 endpoints — Full AI-readiness report for a URL: AI-crawler access map + llms.txt + schema + meta + 0-100 score + ranked fix recommendations. One call, everything. · full AI-ready doc: https://reefapi.com/docs/geo-intel.md - POST /geo-intel/v1/check — Full AI-readiness report for a URL: AI-crawler access map + llms.txt + schema + meta + 0-100 score + ranked fix recommendations. One call, everything. (params: url*, path, bots, follow_redirects; 1 credit) - POST /geo-intel/v1/crawlers — AI-crawler access map from robots.txt: per-bot allow/block (Google longest-match), operator, AI engine, purpose (search/training/agent), crawl-delay, sitemaps. (params: url*, path, bots; 1 credit) - POST /geo-intel/v1/llms_txt — Detect + parse + validate /llms.txt (and /llms-full.txt) — the emerging AI-context standard. Content-type sniffed so an HTML 404 can't masquerade as a real file. (params: url*; 1 credit) - POST /geo-intel/v1/schema — Extract and classify schema.org structured data (JSON-LD and @graph) for AI citability signals: Organization, Article, FAQ, BreadcrumbList, Product, Speakable — plus microdata and RDFa presence. (params: url*, follow_redirects; 1 credit) - POST /geo-intel/v1/score — Composite AI-readiness score (0-100) + transparent per-pillar breakdown (crawler_access 40 / structured_data 25 / llms_txt 15 / meta 12 / crawlability 8) + ranked recommendations. (params: url*, path, follow_redirects; 1 credit) - POST /geo-intel/v1/batch — Score up to 20 sites concurrently in one call (each independently SSRF-guarded). Returns a compact score+grade per URL. (params: urls*; 1 credit) - [Postal Code & Geocoding API — reverse-geocode coordinates or postal codes to administrative regions worldwide: country, state/county, ZIP/PIN, FIPS, NUTS/LAU codes and census GEOIDs](https://reefapi.com/docs/geo-postal): 11 endpoints — Coordinates OR postal code → EU/EFTA/candidate statistical regions: country, NUTS 0-3 hierarchy, LAU commune (GISCO NUTS-2024 + LAU-2024 + TERCET pc2025). · full AI-ready doc: https://reefapi.com/docs/geo-postal.md - POST /geo-postal/v1/eu_regions — Coordinates OR postal code → EU/EFTA/candidate statistical regions: country, NUTS 0-3 hierarchy, LAU commune (GISCO NUTS-2024 + LAU-2024 + TERCET pc2025). (params: lat, lon, postal_code, country, include_geometry; 2 credits) - POST /geo-postal/v1/tr_regions — Türkiye: koordinat, posta kodu VEYA il/ilçe/mahalle adı → resmî idari hiyerarşi (il+plaka, ilçe, mahalle/köy, posta kodları) + NUTS-TR istatistik kodları. (params: lat, lon, postal_code, province, district, neighborhood, include_geometry; 2 credits) - POST /geo-postal/v1/in_postal — India: PIN code OR post-office name → post offices, district, state, lat/lon centroid (official All-India Pincode Directory). (params: pincode, office, state, district; 2 credits) - POST /geo-postal/v1/us_regions — United States: ZIP code OR coordinates → state, county + 5-digit county FIPS, place, ZIP centroid, and the CGAZ state/county boundary. Built WITHOUT census.gov (GeoNames ZIP directory carries county FIPS; ANSI state-FIPS is a public-domain constant). For census-grade ZCTA + tract/block GEOIDs use the `us_census` action (TIGER/ZCTA polygons + Census Geocoder, gov-pending/91). (params: postal_code, lat, lon, include_geometry; 2 credits) - POST /geo-postal/v1/us_census — United States census-grade geocode: street ADDRESS, ZIP, or coordinates → state, county (+5-digit FIPS), census TRACT GEOID, census BLOCK GEOID, ZCTA, and tract/ZCTA land-area — with match_type + confidence. Coordinates/ZIP resolve the ZCTA offline from pinned TIGER/ZCTA-2024 polygons (zero egress); the authoritative tract/block GEOID + address geocoding come from the US Census Geocoder, cached. US-Gov public domain (Title 17 §105). (params: address, postal_code, lat, lon, include_geometry, live; 3 credits) - POST /geo-postal/v1/admin_boundary — GLOBAL coordinates → administrative boundary hierarchy ADM0/ADM1/ADM2 (geoBoundaries CGAZ composite, CC-BY 4.0). (params: lat*, lon*, levels, include_geometry; 2 credits) - POST /geo-postal/v1/postal_lookup — country + postal code → region metadata for ~100 countries (GeoNames postal directory) with country-specific enrichment (EU→NUTS3, TR→mahalle, IN→offices). (params: country*, postal_code*; 1 credit) - POST /geo-postal/v1/postal_search — country + city/place → its postal codes (zip-by-city); country + admin1 only → that state's codes (zip-by-state); country only → the country's states/regions list (GeoNames directory). (params: country*, place, admin1, limit; 1 credit) - POST /geo-postal/v1/postal_distance — Great-circle distance between two postal codes (same or different countries). (params: country*, from*, to*, to_country, unit; 1 credit) - POST /geo-postal/v1/postal_radius — All postal codes within a radius of a postal code (centroid-based). (params: country*, postal_code*, radius_km*, limit; 1 credit) - POST /geo-postal/v1/batch — Resolve up to 50 mixed lookups in one call (cheap local queries). (params: items*; 2 credits) - [Public Holidays & Business Days API — public holidays by country and year, working-day checks, business-day counts, upcoming holidays and a long-weekend finder](https://reefapi.com/docs/holidays): 6 endpoints — public holidays for a country + year (full Nager fields + derived year/weekday/nationwide) · full AI-ready doc: https://reefapi.com/docs/holidays.md - POST /holidays/v1/holidays — public holidays for a country + year (full Nager fields + derived year/weekday/nationwide) (params: country*, year*; 1 credit) - POST /holidays/v1/is_workday — is a given date a working day for a country? (weekend + public-holiday aware; reasons[] explain) (params: country*, date*, weekend, types, subdivision; 1 credit) - POST /holidays/v1/workday_count — business-day count over a date range: workdays/weekend_days/holiday_days + the holidays in range (params: country*, start*, end*, weekend, types, subdivision; 1 credit) - POST /holidays/v1/next_holidays — upcoming public holidays (next ~365 days) with daysUntil (params: country*, today; 1 credit) - POST /holidays/v1/long_weekends — long-weekend windows for a country + year (+ bridge-day suggestions) (params: country*, year*; 1 credit) - POST /holidays/v1/countries — the supported country set (code → name) (params: none; 0 credit) - [IP Geolocation API — locate any IPv4/IPv6 address: country, region, city, coordinates, timezone, ASN, ISP and hosting/datacenter flag](https://reefapi.com/docs/ip-geolocation): 2 endpoints — geolocate ONE IPv4/IPv6 → country/region/city/lat-lon/timezone/ASN/ISP/org + hosting flag · full AI-ready doc: https://reefapi.com/docs/ip-geolocation.md - POST /ip-geolocation/v1/lookup — geolocate ONE IPv4/IPv6 → country/region/city/lat-lon/timezone/ASN/ISP/org + hosting flag (params: ip*, lang; 1 credit) - POST /ip-geolocation/v1/batch — geolocate up to 100 IPs in one call (params: ips*, lang; 2 credits) - [Phone Number Validation API — validate and parse phone numbers: validity, international and national format, region, line type, carrier and timezone](https://reefapi.com/docs/phone-validate): 2 endpoints — validate ONE number → validity + format/region/line-type/carrier/timezone/location · full AI-ready doc: https://reefapi.com/docs/phone-validate.md - POST /phone-validate/v1/validate — validate ONE number → validity + format/region/line-type/carrier/timezone/location (params: number*, region, default_region, lang; 1 credit) - POST /phone-validate/v1/batch — validate up to 100 numbers in one call (shared default region) (params: numbers*, region, default_region, lang; 2 credits) - [Product Recall & Safety API — search and track product recalls from the US FDA (food, drug, device) and the EU Safety Gate (RAPEX): search, detail, by-company, latest and stats](https://reefapi.com/docs/recall): 10 endpoints — Search FDA recalls by keyword, category, classification, status, company, and date range with skip/limit pagination. Pass category=all (default) to span food+drug+device. · full AI-ready doc: https://reefapi.com/docs/recall.md - POST /recall/v1/search — Search FDA recalls by keyword, category, classification, status, company, and date range with skip/limit pagination. Pass category=all (default) to span food+drug+device. (params: query, category, classification, status, company, date_from, date_to, sort, limit, skip, include_severity; 1 credit) - POST /recall/v1/recall_detail — Full detail for one recall by its FDA recall_number (category auto-detected from prefix). (params: recall_number*, category; 1 credit) - POST /recall/v1/by_company — All recalls for a recalling firm / manufacturer, newest first, paginated. (params: company*, category, classification, status, date_from, date_to, limit, skip, include_severity; 1 credit) - POST /recall/v1/latest — Most recent recalls across all categories (or one), within the last N days. (params: category, classification, days, limit, skip, include_severity; 1 credit) - POST /recall/v1/batch — Run multiple keyword searches in one call (compliance-watch over a product list). (params: queries*, category, classification, limit; 1 credit) - POST /recall/v1/stats — Aggregate recall counts grouped by a field (classification/status/firm/state/type). (params: category, field, query, date_from, date_to; 1 credit) - POST /recall/v1/categories — The recall taxonomy: FDA categories + EU Safety Gate product-category & risk-type enums + EU country list (reference data for filters). (params: none; 1 credit) - POST /recall/v1/eu_recall — One EU Safety Gate (RAPEX) recall/alert by notification id — product, risk, measure, traceability, reacting countries. (params: id*, language; 1 credit) - POST /recall/v1/eu_recalls — Search/list EU Safety Gate alerts (the EU analogue of `search`): pages over recent weekly reports (open-data XML) and filters by query, product category, country and risk type, with skip/limit pagination. Each alert carries product, barcode, brand, risk, measures, notifying country and country of origin. (params: query, category, country, risk_type, weeks, limit, skip; 1 credit) - POST /recall/v1/eu_latest — The newest EU Safety Gate weekly report fully expanded into its ~80-100 product alerts (newest-published recalls across the EU/EEA). (params: limit; 1 credit) - [Translate API — free, keyless machine translation & text-to-speech powered by Google Translate: translate text into 130+ languages (single or MULTI-target in one call), turn text into spoken MP3 audio (text-to-speech / TTS) in any language, auto-detect the source language, and look up word-level dictionary meanings, synonyms and transliteration. Works with every script (Chinese, Japanese, Arabic, Cyrillic, Hindi). No API key, no Google Cloud project required.](https://reefapi.com/docs/translate): 7 endpoints — Translate text into a single target language. Auto-detects the source by default and returns the detected language + confidence. Supports every script. · full AI-ready doc: https://reefapi.com/docs/translate.md - POST /translate/v1/translate — Translate text into a single target language. Auto-detects the source by default and returns the detected language + confidence. Supports every script. (params: text*, target*, source; 1 credit) - POST /translate/v1/translate_multi — Translate the SAME text into MANY target languages in a single call — the multi-target differentiator. Pass up to 60 target codes; returns a translation for each, fanned out concurrently (≈15× faster than calling translate per language). (params: text*, targets*, source; 1 credit) - POST /translate/v1/translate_batch — Translate MANY strings into ONE target language in a single call — built for catalogue work (product titles, spec values, category names). Send up to 500 strings as an array and get an array back in the SAME order, index for index. Costs ONE upstream call regardless of how many strings you send, so a 500-title page is one request instead of 500. Items the upstream could not translate are listed in `failed[]` with a reason and come back as text:null — never as an empty string and never silently dropped. (params: texts*, target*, source; 1 credit) - POST /translate/v1/detect — Detect the language of a piece of text. Returns the detected language code, its name and a confidence score (0-1). Works on any script. (params: text*; 1 credit) - POST /translate/v1/dictionary — Word-level dictionary lookup: translate a word/short phrase and get its meanings grouped by part of speech, synonyms, back-translations and transliteration (romanization). Best for single words or short phrases. (params: text*, target*, source; 1 credit) - POST /translate/v1/languages — List all supported languages (code → English name). Useful to populate a language picker or validate a code before translating. (params: none; 0 credit) - POST /translate/v1/speak — Text-to-speech: turn text into spoken audio (MP3). Pronounces the text in the chosen language's voice/accent — works with every script (Chinese, Japanese, Arabic, Cyrillic, Turkish…). Long text is split and joined into a single MP3. Returns the audio base64-encoded inline (audio/mpeg), so no second download is needed. Pair it with 'translate' to get spoken translations. (params: text*, lang*, slow; 1 credit) - [URL Resolver API — follow redirect chains, strip tracking parameters, detect affiliate networks and identify marketplace products](https://reefapi.com/docs/url-resolver): 8 endpoints — Follow the redirect chain to the final URL (hop-by-hop, every status observable). · full AI-ready doc: https://reefapi.com/docs/url-resolver.md - POST /url-resolver/v1/resolve — Follow the redirect chain to the final URL (hop-by-hop, every status observable). (params: url*, max_hops; 1 credit) - POST /url-resolver/v1/normalize — Resolve then strip tracking params (utm_*/fbclid/gclid…) → canonical URL. (params: url*, follow; 1 credit) - POST /url-resolver/v1/detect_affiliate — Detect the affiliate network/params/merchant across the whole redirect chain, incl. first-party brand programs (influencer/seller deeplinks). (params: url*, follow; 1 credit) - POST /url-resolver/v1/product_hint — Identify marketplace + product-id + the ReefAPI engine that can fetch the product. (params: url*, follow; 1 credit) - POST /url-resolver/v1/preview — Link unfurl: OpenGraph + Twitter-card title/description/image/favicon (Slack/Discord style). (params: url*; 1 credit) - POST /url-resolver/v1/safety — Heuristic URL-risk flags (ip-host, non-https, punycode, userinfo, high-abuse TLD, long/multi-shortener chain, cross-domain) + risk level/score. (params: url*; 1 credit) - POST /url-resolver/v1/full — One call: resolve + normalize + detect_affiliate + product_hint + preview + safety. (params: url*, max_hops; 1 credit) - POST /url-resolver/v1/batch — Resolve up to 50 URLs concurrently in one call — each URL is validated and resolved independently. (params: urls*; 1 credit) - [Validation API — validate EU VAT numbers (VIES), IBAN bank accounts (offline) and email addresses (syntax + MX + disposable) in one call](https://reefapi.com/docs/validate): 4 endpoints — Validate an EU VAT number via VIES → validity + registered company name & address. · full AI-ready doc: https://reefapi.com/docs/validate.md - POST /validate/v1/vat — Validate an EU VAT number via VIES → validity + registered company name & address. (params: vat_number*, country; 1 credit) - POST /validate/v1/iban — Validate + parse an IBAN offline (ISO 13616 mod-97) → country, BBAN, bank/branch/account. Optional enrich=true adds BIC + bank name/city (openiban.com, proxied). (params: iban*, enrich; 1 credit) - POST /validate/v1/email — Validate an email: syntax + live MX + disposable-domain + role-account flags. (params: email*, check_mx; 1 credit) - POST /validate/v1/batch — Validate up to 100 mixed items ({type:vat|iban|email,value}) in one call. (params: items*, check_mx; 1 credit) - [Vehicle Data API — VIN decoder, recalls, NCAP safety ratings, complaints & EPA fuel economy (NHTSA + EPA, browserless, US-gov public-domain)](https://reefapi.com/docs/vehicle): 18 endpoints — decode a VIN → make/model/year/trim/engine/specs (vPIC) · full AI-ready doc: https://reefapi.com/docs/vehicle.md - POST /vehicle/v1/vin_decode — decode a VIN → make/model/year/trim/engine/specs (vPIC) (params: vin*, modelyear, raw; 1 credit) - POST /vehicle/v1/vin_decode_batch — decode up to 50 VINs in one call (vPIC batch) (params: vins*, raw; 2 credits) - POST /vehicle/v1/vin_decode_flat — per-variable VIN decode — one row per NHTSA variable with its label (the long-form companion to vin_decode) (params: vin*, modelyear; 1 credit) - POST /vehicle/v1/fuel_economy — EPA fuel economy — MPG/MPGe (city/highway/combined), CO2, annual fuel cost, EV range. By year+make+model (auto-resolves trims) or EPA id (params: id, year, make, model; 1 credit) - POST /vehicle/v1/fuel_economy_options — list EPA trims (each → an id for fuel_economy) for a year+make+model (params: year*, make*, model*; 1 credit) - POST /vehicle/v1/fuel_prices — current US national average fuel prices (regular/midgrade/premium/diesel/e85/electric/cng/lpg) (params: none; 1 credit) - POST /vehicle/v1/canadian_specs — dimensional & weight specs (length, width, height, wheelbase, curb weight, track) from NHTSA's Canadian vehicle database (params: year*, make, model; 1 credit) - POST /vehicle/v1/recalls — safety recalls by make+model+modelYear, or by campaignNumber (params: make, model, modelYear, campaignNumber; 1 credit) - POST /vehicle/v1/safety_ratings — NCAP star ratings + crash-test media; by vehicleId, or year+make+model (auto-resolves variants), or drill-down (params: vehicleId, modelYear, make, model; 1 credit) - POST /vehicle/v1/complaints — consumer complaints by make+model+modelYear (params: make*, model*, modelYear*; 1 credit) - POST /vehicle/v1/models — models for a make (optionally a modelYear / vehicleType) (params: make*, modelYear, vehicleType; 1 credit) - POST /vehicle/v1/makes — all makes, or makes for a vehicleType (car/truck/mpv/motorcycle/...) (params: vehicleType; 0 credit) - POST /vehicle/v1/manufacturers — all manufacturers (paged) or details for one (params: manufacturer, page; 1 credit) - POST /vehicle/v1/wmi_decode — decode a 3-char WMI to its manufacturer (params: wmi*; 1 credit) - POST /vehicle/v1/manufacturer_wmis — all WMIs registered to a manufacturer (params: manufacturer*; 1 credit) - POST /vehicle/v1/vehicle_types — vehicle types produced by a make (params: make*; 0 credit) - POST /vehicle/v1/product_options — recall/complaint enumeration tree (modelYears → makes → models; issueType=r|c) (params: issueType, modelYear, make; 0 credit) - POST /vehicle/v1/plant_codes — equipment (tire) plant codes for a year (params: year*, equipmentType, reportType; 1 credit) - [Weather & Hazards API — global weather forecasts (MET Norway, US NWS), historical weather (ERA5), marine/wave forecasts, geocoding, air quality + pollen (OpenAQ, Open-Meteo CAMS), official weather alerts (MeteoAlarm, NWS), natural disasters (GDACS), earthquakes (USGS) and natural events (NASA EONET)](https://reefapi.com/docs/weather-intel): 13 endpoints — premium combined snapshot: current weather + AQ + active alerts + nearby hazards + risk_summary{level,reasons,confidence} for a coordinate · full AI-ready doc: https://reefapi.com/docs/weather-intel.md - POST /weather-intel/v1/environment_current — premium combined snapshot: current weather + AQ + active alerts + nearby hazards + risk_summary{level,reasons,confidence} for a coordinate (params: lat*, lon*, units, include, radius_km; 3 credits) - POST /weather-intel/v1/forecast — global point forecast (MET Norway, ~9 days): hourly steps + daily aggregates with normalized weather-code, feels-like, sunrise/sunset/moon. Optional source=us_nws returns the US-official National Weather Service forecast for US coordinates (api.weather.gov, public domain) (params: lat*, lon*, units, hours, days, source; 1 credit) - POST /weather-intel/v1/air_quality — nearest-station air quality (OpenAQ v3): pollutants + computed AQI-US/EAQI-EU + station distance + measurement freshness; honest insufficient_data when no station (params: lat*, lon*, radius_km; 1 credit) - POST /weather-intel/v1/alerts — official severe-weather warnings by country/US-state or coordinate: EU MeteoAlarm (39 countries) AND US NWS (api.weather.gov, all 50 states + territories + marine zones, via Webshare). The source is chosen automatically from the location; coverage/coverage_note name exactly which authority answered (params: country, lat, lon, severity_min, active_only, limit; 1 credit) - POST /weather-intel/v1/hazards_nearby — GDACS multi-hazard events (earthquake/cyclone/flood/volcano/wildfire/drought) within a radius of a coordinate, distance-sorted (params: lat*, lon*, radius_km, days, types, min_alert_level, limit; 1 credit) - POST /weather-intel/v1/disasters — global GDACS disaster events with type/alert-level/date/bbox filters, or a single-event detail via event_id+event_type (params: types, min_alert_level, days, bbox, country, limit, event_id, event_type; 1 credit) - POST /weather-intel/v1/earthquakes — USGS earthquake catalog (earthquake.usgs.gov, public domain): filter by magnitude, radius, time window, depth, and PAGER alert — includes small and medium-magnitude events that disaster aggregators like GDACS omit. Results are distance-sorted around a coordinate. Pass event_id for a single-event detail. (params: lat, lon, radius_km, min_magnitude, max_magnitude, days, start, end, min_depth_km, max_depth_km, order, pager_alert, limit, event_id; 1 credit) - POST /weather-intel/v1/natural_events — NASA EONET natural-event catalog (eonet.gsfc.nasa.gov, NASA open data): wildfires, severe storms, volcanoes, floods, icebergs, dust/haze — a second independent hazard source alongside GDACS. Filter by category, status, and date range; optionally list the full EONET category taxonomy. (params: category, status, days, bbox, limit, list_categories; 1 credit) - POST /weather-intel/v1/fires — Live wildfire and thermal-anomaly hotspots from NASA FIRMS (firms.modaps.eosdis.nasa.gov, NASA open data): pixel-level VIIRS (375 m) and MODIS (1 km) near-real-time detections — the raw sensor data that disaster aggregators like GDACS and EONET do not include. Query by a coordinate radius or a bounding box; each hotspot includes brightness, Fire Radiative Power (FRP), confidence, day/night flag, and the exact acquisition timestamp. (params: lat, lon, radius_km, bbox, sensor, days, min_confidence, min_frp, limit; 1 credit) - POST /weather-intel/v1/geocode — Place name → coordinates (Open-Meteo Geocoding, GeoNames-backed, free/keyless): turns a city/town/region name into the lat/lon every other weather-intel action needs, with country, region (admin1/2), population, timezone and elevation. Pass 'id' (a GeoNames id from a prior result) for the single canonical record instead of a name search. (params: name, id, language, count; 1 credit) - POST /weather-intel/v1/historical — Historical weather (Open-Meteo Archive / ERA5 reanalysis, 1940→present, free/keyless) for a coordinate and date range: daily aggregates (min/max temp, precipitation, wind, weather-code, sunrise/sunset) and/or hourly variables. The live forecast actions exclude history — this is the long-record companion. Default daily set is returned when neither 'daily' nor 'hourly' is specified. (params: lat*, lon*, start_date*, end_date*, units, daily, hourly; 2 credits) - POST /weather-intel/v1/marine — Marine / ocean-wave forecast (Open-Meteo Marine, free/keyless) for a coordinate: significant wave height, period and direction plus swell and wind-wave components — hourly out to several days, plus daily maxima and the current sea state. On land (no marine grid cell) values are honestly null (never fabricated). (params: lat*, lon*, units, forecast_days, hourly, daily, current; 1 credit) - POST /weather-intel/v1/air_quality_forecast — Air-quality FORECAST + pollen (Open-Meteo Air-Quality, CAMS-backed, free/keyless) for a coordinate: hourly forecast of PM2.5/PM10/O3/NO2/SO2/CO, the European AQI and US AQI, plus European pollen (alder/birch/grass/olive/ragweed/mugwort). Complements the OpenAQ nearest-station `air_quality` (which is measured, current only) with a forward forecast and pollen — and needs NO API key. Pollen is European-domain only; outside Europe it is honestly null. (params: lat*, lon*, forecast_days, hourly, current; 1 credit) ## Other - [1688.com API scraper - live wholesale search and full product detail for 1688.com, Alibaba's China-domestic B2B marketplace. Every result carries the correct unit price, minimum order quantity, the quantity price ladder, supplier company and city; product detail adds per-variant price, stock and kg weight. No account, no browser.](https://reefapi.com/docs/1688): 2 endpoints — Full detail for one 1688 offer, merged from the offer page and 1688's variant model in two calls. Returns the title, image gallery, the unit price in CNY, the price type (a shared quantity ladder vs per-variant pricing) and the full price ladder with the minimum quantity of each tier, the MOQ with its unit, total orderable stock, the mixed-batch terms sourcing buyers need, units sold, the full specification table (material, brand, model, ...), the supplier company with its member and login ids and storefront url, and EVERY sellable variant with its own price, stock (canBookCount, present on 100% of variants) and shipping weight in kg where the supplier published it (absent on many, returned as null - never inferred). Colour / size / spec axes are returned alongside the variants. A dead or invented offer id returns NOT_FOUND. · full AI-ready doc: https://reefapi.com/docs/1688.md - POST /1688/v1/product/detail — Full detail for one 1688 offer, merged from the offer page and 1688's variant model in two calls. Returns the title, image gallery, the unit price in CNY, the price type (a shared quantity ladder vs per-variant pricing) and the full price ladder with the minimum quantity of each tier, the MOQ with its unit, total orderable stock, the mixed-batch terms sourcing buyers need, units sold, the full specification table (material, brand, model, ...), the supplier company with its member and login ids and storefront url, and EVERY sellable variant with its own price, stock (canBookCount, present on 100% of variants) and shipping weight in kg where the supplier published it (absent on many, returned as null - never inferred). Colour / size / spec axes are returned alongside the variants. A dead or invented offer id returns NOT_FOUND. (params: offer_id*, max_rotations; 2 credits) - POST /1688/v1/product/reviews — Buyer reviews for one 1688 offer: the average star rating (out of 5), the positive-feedback percentage, the total review count, and a page of individual reviews with their text, the quantity bought, the variant, buyer photos and the date. 1688 masks buyer nicknames itself. Some offers have no reviews yet - that returns an empty list with a zero count, not an error. (params: offer_id*, max_rotations; 1 credit) - [Alibaba.com B2B Wholesale API — supplier product search, full wholesale product detail with quantity price tiers, MOQ, lead time and shipping weight, plus live buyer RFQs (what buyers are asking to purchase) from alibaba.com](https://reefapi.com/docs/alibaba): 3 endpoints — Search alibaba.com wholesale listings by keyword — 48 supplier offers per page, each with its unit price (or price range), minimum order quantity, units sold, supplier company and country, review scores and certifications. Filter by price, MOQ, supplier country, category, review score and supplier credentials; sort by relevance, sales volume, response rate or price · full AI-ready doc: https://reefapi.com/docs/alibaba.md - POST /alibaba/v1/search — Search alibaba.com wholesale listings by keyword — 48 supplier offers per page, each with its unit price (or price range), minimum order quantity, units sold, supplier company and country, review scores and certifications. Filter by price, MOQ, supplier country, category, review score and supplier credentials; sort by relevance, sales volume, response rate or price (params: query*, page, sort, min_price, max_price, min_order, max_order, supplier_country, category_id, verified_supplier, trade_assurance, min_review_score; 1 credit) - POST /alibaba/v1/product_detail — Full wholesale detail for one alibaba.com listing — the complete quantity price ladder, minimum order quantity, production lead time, gross weight and package dimensions, the full specification table, image gallery, variant matrix with native SKU ids and per-variant stock, certifications, and the supplier scorecard (params: product_id, url; 1 credit) - POST /alibaba/v1/rfq_search — Search live buying requests (RFQs) posted by Alibaba buyers — the demand side of the marketplace. Each row is a purchase a real buyer is asking for right now, in their own words: what they want, how many, which country they are buying from and how long ago they posted it. Filter by keyword, buyer country, category and how recently it was posted; sort newest-first to work the board as a live feed (params: query, page, sort, buyer_country, category_id, posted_within, with_attachments, open_only; 1 credit) - [Autodoc API — the vehicle-fitment car-parts catalogue: pick a car down to its exact engine variant, then get every part that fits it with price, OE cross-reference, manufacturer specifications, EAN, images, rating and reviews — plus part-number and OE-number lookup across 6.7 million parts, on the UK storefront (GBP) or the German one (EUR). No key, account or cookie required](https://reefapi.com/docs/autodoc): 6 endpoints — Walk Autodoc's vehicle tree — this is where every other action starts, because car parts are only meaningful against a specific car. Call it with no parameters for the 52 makers; add `maker` for that maker's model families; add `model` for the generations (the chassis codes: E82, F20, W204); add `generation` for the actual engine variants, each with Autodoc's numeric vehicle id. Add `vehicle` (or pass a `vehicle_url`) and you get the car itself — its full factory description (engine, kW/hp, fuel, build years, engine code) plus every part category Autodoc stocks for it, ready to feed straight into `search`. Set `market` to `de` to walk the German storefront's tree instead; the slugs are the same on both, so a vehicle resolved on one market can be used on the other. · full AI-ready doc: https://reefapi.com/docs/autodoc.md - POST /autodoc/v1/vehicle_lookup — Walk Autodoc's vehicle tree — this is where every other action starts, because car parts are only meaningful against a specific car. Call it with no parameters for the 52 makers; add `maker` for that maker's model families; add `model` for the generations (the chassis codes: E82, F20, W204); add `generation` for the actual engine variants, each with Autodoc's numeric vehicle id. Add `vehicle` (or pass a `vehicle_url`) and you get the car itself — its full factory description (engine, kW/hp, fuel, build years, engine code) plus every part category Autodoc stocks for it, ready to feed straight into `search`. Set `market` to `de` to walk the German storefront's tree instead; the slugs are the same on both, so a vehicle resolved on one market can be used on the other. (params: market, maker, model, generation, vehicle, vehicle_url; 1 credit) - POST /autodoc/v1/search — The parts that FIT one exact car, in one part category — the question this API exists to answer. Give a `category` (from the `categories` action, or better from the `categories[]` that a `vehicle_lookup` on your vehicle returns) plus the full vehicle: `maker` + `model` + `generation` + `vehicle`, or a single `vehicle_url`. You get Autodoc's own fitment listing — every brand that makes that part for that car, with price, RRP, rating, review count, the manufacturer's part number, the key specifications and the image — 20 per page. THE VEHICLE IS NOT OPTIONAL, and that is Autodoc's data model rather than a limit of this API: a parts list only exists for one exact engine variant. Autodoc's category page, maker page, model page and generation page are all real pages that carry NO product listing whatsoever (measured: 0 parts at every level above the engine variant, 20 at it). Omitting the vehicle returns MISSING_PARAM rather than an empty result set that would cost you a call and tell you nothing. `market` decides which storefront is priced: `uk` (GBP) or `de` (EUR). The same vehicle and the same category work on both — what changes is the price, the currency and the language of the copy. (params: category*, maker, model, generation, vehicle, market, vehicle_url, page, max_results; 2 credits) - POST /autodoc/v1/product_detail — One part in full, by Autodoc's numeric article id (or its URL). Returns the complete image gallery and the 360-degree photo set, the manufacturer's own specification table verbatim (fitting position, dimensions, material, WVA number, weight, EAN), the manufacturer part number, brand, price with currency, availability, shipping cost and return window, the aggregate rating and the customer reviews inline — and, the two fields that matter most in this industry, the full OE cross-reference (every vehicle-manufacturer part number this part replaces) and the equivalent parts Autodoc sells alongside it. `market` picks the storefront — the same `article_id` is the same part on both, priced in GBP on `uk` and EUR on `de`, and `currency` always reports what the page itself said. (params: article_id, url, market, max_reviews; 2 credits) - POST /autodoc/v1/part_search — Autodoc's own catalogue-wide search, across roughly 6.7 million parts. Built for the lookup this trade actually does: paste a manufacturer part number (`1987474465`, `402B0071`) and get that part plus its alternatives, or type plain English (`brake pads`, `wiper blades`) for a normal keyword result set. Results are not scoped to a car — use `search` when you need fitment, and `oem_lookup` when the number you hold came off the vehicle manufacturer's own part. Set `market` to `de` to search the German storefront (EUR). (params: query*, market, page, max_results; 2 credits) - POST /autodoc/v1/oem_lookup — Cross-reference a vehicle manufacturer's ORIGINAL part number to everything Autodoc sells as a replacement for it. Give BMW's 34216774692 and get the Brembo, TRW, Bosch, ATE and budget-brand equivalents, each with price, rating and the manufacturer's own part number. This is the endpoint a workshop or a parts reseller uses, and it is the reverse of the `oem_numbers` list `product_detail` returns for a part. Set `market` to `de` for the German storefront's prices (EUR); the OE number and the parts it resolves to are the same on both. (params: oem_number*, market, page, max_results; 3 credits) - POST /autodoc/v1/categories — Autodoc's part-category vocabulary — all 199 leaf categories with the slug and numeric id the `search` action needs, so a caller never has to guess one. Optionally filter with `group` (`brake`, `filter`, `suspension`). `market` picks the storefront, which is what decides the LANGUAGE of the slugs and names — the numeric ids are the same category on both, and a uk slug passed to a de `search` resolves correctly because the number is what Autodoc keys on. Cached hard: this list barely moves. (params: market, group; 1 credit) - [Boyner API scraper — search & product detail on Boyner (boyner.com.tr), Turkey's department-store marketplace (fashion, shoes, sneakers); prices in TRY, seller + coupons + sizes. No account, no browser.](https://reefapi.com/docs/boyner): 2 endpoints — Search Boyner by keyword (`query`), paginated (`page`, 24/page). Every card carries product_id, title, brand, price (current + original + discount%), seller (merchantName — filter 'BOYNER' for Boyner-sold), campaigns/coupons (Hopi, 'Sepette %N İndirim'), image, url, category, rating, stock. · full AI-ready doc: https://reefapi.com/docs/boyner.md - POST /boyner/v1/search — Search Boyner by keyword (`query`), paginated (`page`, 24/page). Every card carries product_id, title, brand, price (current + original + discount%), seller (merchantName — filter 'BOYNER' for Boyner-sold), campaigns/coupons (Hopi, 'Sepette %N İndirim'), image, url, category, rating, stock. (params: query*, page, max_rotations; 1 credit) - POST /boyner/v1/product/detail — Full Boyner product by `url` OR `product_id`: title, brand, price (current + original + discount%), campaign headline + coupons (Hopi etc.), seller/merchantName + other offers, SIZES (Beden — EU sizes with per-size stock + barcode), all images, rating, review_count, stock, gtin/barcode, category, breadcrumbs, attributes, description and sample reviews. Parsed from Boyner's own getProductDetail JSON. (params: url, product_id, max_rotations; 1 credit) - [Decathlon API — search the decathlon.com (US) sporting-goods catalogue and pull a full product with every size/colour variant, its EAN-13 barcode, shipping weight in grams, live stock count, price and sale price, options, images and video — no API key, account or cookie required](https://reefapi.com/docs/decathlon): 2 endpoints — Search or browse the decathlon.com (US) catalogue. Give a free-text `query` ('hiking boots', 'bike helmet', 'kiprun'), a `collection` handle to browse (`running`, `womens`, `mens-hiking-boots`, `all`), or both to search inside one collection. Every result carries Decathlon's own product id and handle, the product title, house brand, product type, tags, image, price range, sale price, stock flag and — in catalogue and collection mode — the variant count, SKU list and shipping-weight range. Narrow with product_type, vendor, tag, min_price, max_price and available_only; sort by price, name or publish date; page through the whole match set. Live facet vocabularies with counts come back with every catalogue-mode response, so the filter values are never a guess. Feed a result's `handle` straight into `product_detail` for barcodes and per-variant weights. · full AI-ready doc: https://reefapi.com/docs/decathlon.md - POST /decathlon/v1/search — Search or browse the decathlon.com (US) catalogue. Give a free-text `query` ('hiking boots', 'bike helmet', 'kiprun'), a `collection` handle to browse (`running`, `womens`, `mens-hiking-boots`, `all`), or both to search inside one collection. Every result carries Decathlon's own product id and handle, the product title, house brand, product type, tags, image, price range, sale price, stock flag and — in catalogue and collection mode — the variant count, SKU list and shipping-weight range. Narrow with product_type, vendor, tag, min_price, max_price and available_only; sort by price, name or publish date; page through the whole match set. Live facet vocabularies with counts come back with every catalogue-mode response, so the filter values are never a guess. Feed a result's `handle` straight into `product_detail` for barcodes and per-variant weights. (params: query, collection, mode, max_results, page, sort, product_type, vendor, tag, min_price, max_price, available_only; 1 credit) - POST /decathlon/v1/product_detail — Get one Decathlon product in full, by handle, product id or decathlon.com URL — title, house brand, product type, tags, the marketing description in both plain text and its original HTML, every image with dimensions and the variants it belongs to, product video and 3D media, the option axes with their values, and one row per size x colour variant. Each variant row carries Decathlon's own variant id, the retail SKU, the **EAN-13 barcode**, the **shipping weight in grams** (plus the merchant's own weight + unit pair), the live **inventory quantity** as a real integer, the buyable flag, price, compare-at price, tax and shipping flags, and any volume-pricing rules. Built for shipping-cost and catalogue-matching work: barcode and grams are the two fields this endpoint exists for. (params: handle, product_id, url; 1 credit) - [El Corte Inglés API — search Spain's biggest department store (elcorteingles.es) and pull one product in full: every image, the complete colour x size matrix with a stable variant id, EAN-13, price and stock on every row, the specification table, brand, availability, star rating and top customer reviews — no account, no cookies, no browser](https://reefapi.com/docs/elcorteingles): 2 endpoints — Search or browse elcorteingles.es. Give a Spanish free-text `query` ('zapatillas running', 'movil samsung', 'lavadora'), an El Corte Inglés product code or a bare EAN-13, or a `category` path to browse ('electronica/moviles-y-smartphones', 'moda-mujer/zapatos'). Every row carries El Corte Inglés' own product code, the product URL to feed straight into `product_detail`, the name, brand, EAN-13, price range across colours, the colour list, the variant count, how many of those variants are actually buyable, the image, the category hierarchy and whether the listing is a marketplace seller's. Sort by price, discount, rating, newness, name or stock; page through the whole result set. `category` browsing is the route El Corte Inglés' robots.txt allows and `meta.robots` reports which route answered. · full AI-ready doc: https://reefapi.com/docs/elcorteingles.md - POST /elcorteingles/v1/search — Search or browse elcorteingles.es. Give a Spanish free-text `query` ('zapatillas running', 'movil samsung', 'lavadora'), an El Corte Inglés product code or a bare EAN-13, or a `category` path to browse ('electronica/moviles-y-smartphones', 'moda-mujer/zapatos'). Every row carries El Corte Inglés' own product code, the product URL to feed straight into `product_detail`, the name, brand, EAN-13, price range across colours, the colour list, the variant count, how many of those variants are actually buyable, the image, the category hierarchy and whether the listing is a marketplace seller's. Sort by price, discount, rating, newness, name or stock; page through the whole result set. `category` browsing is the route El Corte Inglés' robots.txt allows and `meta.robots` reports which route answered. (params: query, category, page, max_results, sort; 1 credit) - POST /elcorteingles/v1/product_detail — Get one El Corte Inglés product in full, by URL, product code or EAN-13. ONE call returns the complete image gallery, the full colour x size variant matrix with a stable native variant id, an EAN-13, a price, a strike-through price and a live buyable flag on EVERY row, the specification table as El Corte Inglés publishes it (grouped, with their own glossary text), the brand, the availability, the star rating and the top customer reviews inline, plus the seller behind each variant (El Corte Inglés itself or a marketplace merchant), the active promotions and the EU-Omnibus 30-day lowest price. Supermarket products are supported too and return their EAN, gallery and full nutrition panel instead of a size matrix. A product El Corte Inglés has WITHDRAWN answers `NOT_FOUND` with `meta.withdrawn: true` and `meta.withdrawn_product` naming the product it was — their server keeps the page online for search engines but pulls every price, so there is no offer left to return. That verdict is permanent and `retryable: false`: it is the signal to drop the SKU from a monitoring list, not a transient failure to retry. (params: url, product_id, ean, include_reviews, max_reviews; 2 credits) - [FLO API scraper — search, category browse & product detail for FLO (flo.com.tr), Turkey's largest footwear retailer. Sizes, colors, prices (TRY), discounts, coupons & stock. No account, no browser.](https://reefapi.com/docs/flo): 3 endpoints — Search FLO by keyword (`query`), paginated. Every card carries product_id, title, brand, price, special_price (discount), sizes[] (with per-size stock), colors[], image, url, seller_type (flo|marketplace). · full AI-ready doc: https://reefapi.com/docs/flo.md - POST /flo/v1/search — Search FLO by keyword (`query`), paginated. Every card carries product_id, title, brand, price, special_price (discount), sizes[] (with per-size stock), colors[], image, url, seller_type (flo|marketplace). (params: query*, page, sort, max_rotations; 1 credit) - POST /flo/v1/category/products — Browse a FLO category (`category` slug + optional `cinsiyet` gender), paginated — the deep shoe-enumeration workhorse. Same rich card shape as search (sizes, colors, discount, stock). (params: category*, cinsiyet, page, sort, max_rotations; 1 credit) - POST /flo/v1/product/detail — Full FLO product by its page `url`: title, brand, price, original_price, discount_percent, currency=TRY, images[] (full gallery), sizes[] (per-size stock with a unit count and a barcode on every size), colors[], coupons[], badges (free-shipping/campaign), rating, seller, description, stock. Pass the url — FLO has no route that takes the product id by itself, and search and category rows already carry the url for exactly this call. (params: url*, max_rotations; 1 credit) - [Forum Feed API — live, dated topic streams from developer, e-commerce, no-code and real-estate communities](https://reefapi.com/docs/forum): 4 endpoints — Newest topics from one forum, each with its creation time. Ask for the last 24 hours and you get exactly what people opened today. · full AI-ready doc: https://reefapi.com/docs/forum.md - POST /forum/v1/latest — Newest topics from one forum, each with its creation time. Ask for the last 24 hours and you get exactly what people opened today. (params: site*, limit, since_hours, order_by; 2 credits) - POST /forum/v1/sites — Every forum this API can read, with its platform and market. (params: none; 1 credit) - POST /forum/v1/topic — The full text of one topic: the opening post and every reply. (params: url*; 1 credit) - POST /forum/v1/search — Search inside one forum. Results come back in the forum's own relevance order, not by date, so use latest when you need recency. (params: site*, query*, limit; 1 credit) - [n11 API scraper — product detail, search, reviews, categories & sellers on n11.com (Turkey's marketplace); prices in TRY. No account, no browser.](https://reefapi.com/docs/n11): 6 endpoints — Full n11 product by `url` or `product_id`: title, brand, price, discount, campaign (Sepette indirim), rating, review_count, images, seller, gtin/barcode, category, description, attributes, variants, rating_breakdown and sample reviews. Parsed from n11's own window.model JSON (durable). · full AI-ready doc: https://reefapi.com/docs/n11.md - POST /n11/v1/product/detail — Full n11 product by `url` or `product_id`: title, brand, price, discount, campaign (Sepette indirim), rating, review_count, images, seller, gtin/barcode, category, description, attributes, variants, rating_breakdown and sample reviews. Parsed from n11's own window.model JSON (durable). (params: url, product_id, max_rotations; 2 credits) - POST /n11/v1/product/reviews — Every customer review n11 publishes for a product, paginated and ordered. `sort=newest` (the default) puts the most recent review first and holds that order across pages, so you can poll a product for new reviews; `sort=helpful` orders by n11's helpful-vote count instead. Each page carries the honest totals — how many people rated the product, how many wrote text, the star breakdown, total_pages for your page_size, and how deep n11 actually serves — plus n11's own AI review summary. Reviewer names are returned exactly as n11 publishes them on the product page — usually masked (e.g. 'a*** s***'), but n11 does not mask all of them, so treat the field as public site content rather than as anonymised. (params: url, product_id, page, page_size, sort, max_rotations; 1 credit) - POST /n11/v1/search — Search n11 by keyword (`query`), paginated + sortable. Every card carries product_id, title, brand, price, rating, image, url. (params: query*, page, sort, max_rotations; 2 credits) - POST /n11/v1/category — Browse an n11 category by its `url` (…/ or …-c-), paginated + sortable. (params: url*, page, sort, max_rotations; 2 credits) - POST /n11/v1/seller — Seller (mağaza) profile + its products by nickname or store `url`. (params: seller*, page, max_rotations; 2 credits) - POST /n11/v1/resolve — Resolve an n11 short-link (`token` or `url`, e.g. sl.n11.com/n/) to its REAL n11.com URL + type, capturing the final destination — a short link opened directly dead-ends on an app-install page instead of the item. Classifies product/store/campaign/category; for products it embeds the full product detail (include_detail) so one call returns both. Deterministic per token → cacheable. (params: token, url, include_detail, max_rotations; 2 credits) - [Sephora API — search sephora.com for makeup, skincare, haircare, fragrance and beauty tools, and pull one product in full: the whole image gallery, every shade/size variant with its own Sephora SKU id, price and stock, the specification attributes, ingredients, brand, availability, star rating and the top customer reviews with their text inline — no API key or account required](https://reefapi.com/docs/sephora): 3 endpoints — Search the Sephora catalog. Give a `query` ('mascara', 'vitamin c serum', 'dior lipstick', 'rare beauty blush') and get back 60 products per page, each with Sephora's own product id and default SKU id, brand, price (both ends when Sephora quotes a range), sale flag, star rating, review count, how many shades the product has, the image set, and Sephora's own merchandising flags (bestseller, new, limited edition, Sephora exclusive, same-day/pickup eligibility). Narrow by price band, sort by rating, price or newest. The live facet vocabulary Sephora publishes for your query comes back in `facets`, and the category counts and its own related searches come with it. · full AI-ready doc: https://reefapi.com/docs/sephora.md - POST /sephora/v1/search — Search the Sephora catalog. Give a `query` ('mascara', 'vitamin c serum', 'dior lipstick', 'rare beauty blush') and get back 60 products per page, each with Sephora's own product id and default SKU id, brand, price (both ends when Sephora quotes a range), sale flag, star rating, review count, how many shades the product has, the image set, and Sephora's own merchandising flags (bestseller, new, limited edition, Sephora exclusive, same-day/pickup eligibility). Narrow by price band, sort by rating, price or newest. The live facet vocabulary Sephora publishes for your query comes back in `facets`, and the category counts and its own related searches come with it. (params: query*, max_results, page, sort, price_min, price_max, brand; 1 credit) - POST /sephora/v1/price — Re-check ONE shade's price and stock, cheaply. Give it the Sephora SKU id you already hold and it returns the current price, the regular price, whether that shade is in stock and whether Sephora is flagging it as nearly gone — and nothing else: no description, images, ingredients, shade matrix or reviews. Built for refreshing a catalogue you already have rather than discovering products. It reads Sephora's own SKU-scoped route instead of the whole product document, so it costs a fraction of `product_detail` — measured live on ten products in ten categories: 7.9-14.3 KB against 59.9-421.5 KB for a full `product_detail` (5.2x-45.9x), or 32.5-350.5 KB with its reviews switched off (2.9x-38.1x). The saving grows with the shade count, because the product document carries every sibling shade and this one carries yours. Pass a `sku_id` for that cheap route. If you hold only a `product_id` (or a product URL with no `?skuId=`), pass that instead: Sephora's primary/default shade is priced by reading the product document — honest note, that costs like `product_detail` (the whole document is read), NOT like the cheap SKU route, because Sephora prices and stocks each shade and size separately (a 49-shade foundation had 9 shades sold out while the product was on sale), so the SKU route stays the right tool whenever you can name the shade. (params: sku_id, product_id, url; 2 credits) - POST /sephora/v1/product_detail — Get one Sephora product in full, by its product id (or its sephora.com URL). One call returns: the complete image gallery; the complete variant matrix — one row per shade/size with Sephora's own SKU id, that variant's price, sale price, in-stock flag, low-stock flag, swatch, image and URL; the specification set Sephora publishes (size, the structured attribute map — coverage, finish, formulation, skin type, skin concerns, ingredient preferences —, the highlight badges with their explanations, the full ingredient list and the how-to-use copy); the brand with its id and page; availability and price range; the star rating with its distribution; and the top customer reviews with their full text, titles, dates, helpfulness votes, reviewer skin-tone/skin-type/eye/age context and photos. It also returns the product's UPC/EAN barcodes, which Sephora's own product API does not publish anywhere. (params: product_id*, url, sku_id, include_reviews, reviews_limit, reviews_sort, reviews_offset, include_variant_images; 2 credits) - [Swappa API — search used and refurbished phones, tablets, laptops, watches, cameras, drones and consoles on swappa.com, and pull a full listing with price, condition, battery health, storage/carrier/colour variant, GTIN, model number, device weight and dimensions, the complete photo gallery, seller rating and ship-from location — no API key or account required](https://reefapi.com/docs/swappa): 3 endpoints — Search Swappa for live listings. Give a free-text `query` ('iphone 15 pro', 'macbook pro 14', 'playstation 5') or an exact `model` slug, and get back that model's listings for sale right now — each with Swappa's own listing code, price, condition grade, battery health, storage / memory / colour / carrier / model number, photo count, seller name, seller star-rating and ship-from city. Narrow with condition, carrier, colour, storage, memory, processor, model_number, edition, and the warranty / card-payment / individual-seller / Phonecheck / international-shipping switches; sort by price or newest. Paginated 50 per page. Every filter value a model actually supports is returned in `filters_available`, so you never have to guess. · full AI-ready doc: https://reefapi.com/docs/swappa.md - POST /swappa/v1/search — Search Swappa for live listings. Give a free-text `query` ('iphone 15 pro', 'macbook pro 14', 'playstation 5') or an exact `model` slug, and get back that model's listings for sale right now — each with Swappa's own listing code, price, condition grade, battery health, storage / memory / colour / carrier / model number, photo count, seller name, seller star-rating and ship-from city. Narrow with condition, carrier, colour, storage, memory, processor, model_number, edition, and the warranty / card-payment / individual-seller / Phonecheck / international-shipping switches; sort by price or newest. Paginated 50 per page. Every filter value a model actually supports is returned in `filters_available`, so you never have to guess. (params: query, model, max_results, page, sort, condition, carrier, color, storage, memory, processor, model_number, edition, with_warranty, accepts_stripe, exclude_businesses, phone_check_certified, international; 1 credit) - POST /swappa/v1/price — Re-check ONE listing's price, availability and condition, cheaply. Give it the Swappa listing code you already hold and it returns what the seller is asking right now, whether the listing is still buyable, and the condition grade — and nothing else: no photos, description, specs, seller block or reviews. Built for refreshing a catalogue you already have rather than discovering listings. It reads the small slide-over card Swappa's own grid fetches on hover instead of the whole listing page, so it costs a fraction of `product_detail` — measured live on nine listings across nine product lines: 6.8-11.5 KB against 122.3-171.0 KB for a full `product_detail` (10.7x-19.7x), or 73.5-82.6 KB with its reviews switched off (6.4x-10.9x). Remember what a Swappa listing IS: one specific used device from one seller, not a catalogue entry — when it sells, Swappa takes it down, and this action then returns NOT_FOUND. That is the answer, not a failure: it means the unit you were tracking is gone. (params: listing_id, url; 2 credits) - POST /swappa/v1/product_detail — Get one Swappa listing in full, by its listing code or its swappa.com URL — the asking price and currency, quantity available, condition grade with Swappa's own condition criteria, the seller's damage description, battery health, storage / memory / colour / carrier / model number / processor, GTIN and GTIN-13, the COMPLETE photo gallery at full resolution, carrier compatibility, shipping (free-shipping flag, rate, ship-from city, handling time, international), payment methods, returns policy, listing created / updated / expiry dates, and the seller (display name, individual-vs-business, profile, star rating, number of ratings, location). Also returns the product the listing belongs to: brand, catalog slug, star rating and review count, top buyer reviews, and — for models with a Swappa product guide — the device spec tables including width, height, depth and weight in grams and ounces, for shipping-cost calculation. (params: listing_id, url, include_reviews, max_reviews; 2 credits) - [Target API — search or browse the target.com (US) catalogue and pull one product in full: the UPC barcode, shipping weight and package dimensions, the complete image gallery, the whole colour/size variant matrix with each variant's own price, stock and native Target id, the specification table, brand, availability, star rating with its full distribution, and customer reviews inline — one call, no API key, account or cookie required](https://reefapi.com/docs/target): 2 endpoints — Find products on target.com (US). Give a free-text `query` ('coffee maker', 'lego star wars', 'nike running shoes') to run Target's own site search, or a `category` path ('/c/cpus/-/N-01vhh', '/b/apple/-/N-5y3ej') to browse a Target category or brand page. Every product comes back with BOTH of Target's ids — the parent product id and the specific colour/size id — plus the name, brand, category, image, current price, the crossed-out list price when it is on sale, the star rating and rating count, and the product URL. Narrow with `sort`, `min_price` and `max_price`; page with `page` and `max_results`. · full AI-ready doc: https://reefapi.com/docs/target.md - POST /target/v1/search — Find products on target.com (US). Give a free-text `query` ('coffee maker', 'lego star wars', 'nike running shoes') to run Target's own site search, or a `category` path ('/c/cpus/-/N-01vhh', '/b/apple/-/N-5y3ej') to browse a Target category or brand page. Every product comes back with BOTH of Target's ids — the parent product id and the specific colour/size id — plus the name, brand, category, image, current price, the crossed-out list price when it is on sale, the star rating and rating count, and the product URL. Narrow with `sort`, `min_price` and `max_price`; page with `page` and `max_results`. (params: query, category, page, max_results, sort, min_price, max_price; 1 credit) - POST /target/v1/product_detail — Get one Target product in full, by Target's own id or by its target.com URL. One call returns the UPC barcode, the shipping weight and package dimensions with Target's own units, the complete image gallery, the entire colour/size variant matrix with each variant's own price, list price, stock status, barcode, weight, dimensions, image and native Target id, the specification table parsed into name/value pairs, the brand, the category breadcrumb path, the current price and availability, the star rating with its full 1-5 distribution and Target's secondary ratings, the customer review photos, and the customer reviews inline. (params: tcin, url, reviews, include_price; 3 credits) - [Twitter / X Data API — profiles, tweets, replies, media, likes, tweet detail + replies, search (top/latest/people/media), followers/following, list timelines. Account-pool backed: no official API key, no quota.](https://reefapi.com/docs/twitter): 14 endpoints — User profile by @username — name, bio, followers, following, tweet/like counts, verified, created date, location, website, avatar/banner. · full AI-ready doc: https://reefapi.com/docs/twitter.md - POST /twitter/v1/profile — User profile by @username — name, bio, followers, following, tweet/like counts, verified, created date, location, website, avatar/banner. (params: username*; 1 credit) - POST /twitter/v1/user_by_id — User profile by numeric user_id (same fields as profile). (params: user_id*; 1 credit) - POST /twitter/v1/user_tweets — A user's tweets — full text, engagement (likes/retweets/replies/quotes/views), media, quoted/retweeted, with cursor pagination. (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/user_replies — A user's tweets AND replies (timeline incl. replies). Each reply also carries reply_to_text (the parent tweet's text, ≤280 chars) + reply_to_author so a reply is interpretable without a second call — resolved from the conversation already in the response. (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/user_media — A user's media tweets — photos & videos (with video_url + duration), engagement, pagination. (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/user_likes — Tweets a user has liked (if the account exposes likes). (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/tweet — A single tweet by id — full text, engagement, media, quoted/retweeted, author. (params: tweet_id*; 1 credit) - POST /twitter/v1/tweet_replies — A tweet PLUS its replies/comments (threaded conversation) with DEEP cursor pagination. (params: tweet_id*, limit, cursor; 1 credit) - POST /twitter/v1/search — Search tweets or people. product=Top|Latest|People|Media. Supports X search operators in the query. Cursor pagination. (params: query*, product, limit, cursor; 1 credit) - POST /twitter/v1/followers — A user's followers (each a full user object), paginated. (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/following — Accounts a user follows (each a full user object), paginated. (params: username*, user_id, limit, cursor; 1 credit) - POST /twitter/v1/list_tweets — Latest tweets from a Twitter List by id, paginated. (params: list_id*, limit, cursor; 1 credit) - POST /twitter/v1/trends — Current trending topics on X / Twitter (the Explore feed) — each with its name, location/category context, post-volume, and a search URL. (params: limit; 1 credit) - POST /twitter/v1/community_search — Search posts across X Communities by keyword — returns matching community tweets (same rich tweet shape as search). (params: query*, product, limit, cursor; 1 credit) - [Ulta Beauty API — browse or keyword-search the ulta.com (US) beauty catalogue and pull one product in full: every shade/size variant with its own price and stock and Ulta's own sku, the complete image and video gallery, brand, availability, rating and top customer reviews inline — no API key, account or cookie required](https://reefapi.com/docs/ulta): 3 endpoints — Find products on ulta.com (US). Browse a `category` — `/shop/makeup/face/foundation`, `/shop/hair/shampoo-conditioner/shampoo`, `/shop/skin-care/moisturizers` — for the precise, fully pageable result set with Ulta's own total, or give a free-text `query` ('mascara', 'vitamin c serum', 'dyson airwrap') to let Ulta's own type-ahead decide which category answers it. Every product comes back with Ulta's own product id and sku, the name, brand, image, list and sale price (a range when the shades differ), the star rating and review count, the shade/size count and Ulta's badges and promo text. Narrow with `brand`, `min_rating`, `sort` and any facet Ulta publishes for that category; the live facet vocabulary comes back WITH counts in every category response, so a filter value is never a guess. · full AI-ready doc: https://reefapi.com/docs/ulta.md - POST /ulta/v1/search — Find products on ulta.com (US). Browse a `category` — `/shop/makeup/face/foundation`, `/shop/hair/shampoo-conditioner/shampoo`, `/shop/skin-care/moisturizers` — for the precise, fully pageable result set with Ulta's own total, or give a free-text `query` ('mascara', 'vitamin c serum', 'dyson airwrap') to let Ulta's own type-ahead decide which category answers it. Every product comes back with Ulta's own product id and sku, the name, brand, image, list and sale price (a range when the shades differ), the star rating and review count, the shade/size count and Ulta's badges and promo text. Narrow with `brand`, `min_rating`, `sort` and any facet Ulta publishes for that category; the live facet vocabulary comes back WITH counts in every category response, so a filter value is never a guess. (params: query, category, page, max_results, sort, brand, min_rating, filters; 2 credits) - POST /ulta/v1/price — Re-check ONE variant's price and stock, cheaply. Give it the product_id and the sku_id you already hold and it returns the current price, the regular price, whether that variant is in stock, and nothing else — no description, images, ingredients, variants or reviews. Built for refreshing a catalogue you already have rather than discovering products: it reads the same small module Ulta's own shade swatch fires, so it costs a fraction of a full product_detail. Note that sku_id is REQUIRED, because Ulta stocks and prices every shade and size separately — a product can be on sale and buyable in one size while another is sold out, so there is no single product-level answer. (params: product_id*, sku_id*, url; 2 credits) - POST /ulta/v1/product_detail — Get one Ulta Beauty product in full, by Ulta's product id or by its ulta.com URL — brand, name, the marketing copy in both plain text and its original Markdown, the full ingredient list, how-to-use, size, category path, list and sale price, availability, star rating and question count, the complete image AND video gallery with dimensions, Ulta's merchandising highlights and active promotions, one row per shade/size variant carrying that variant's OWN sku, price, sale price, stock flag, swatch and product images, and the customer reviews inline with the rating histogram, the recommended ratio, the most helpful positive and negative review, and the reviewer-reported attribute rollups. One call, everything the product page shows. (params: product_id, sku_id, url, reviews, variant_prices; 2 credits) - [Zappos API — search zappos.com for shoes, boots, sandals, clothing, bags, accessories, eyewear and watches, and pull a full product with every colourway, every size and width, per-variant price, per-variant units in stock, ASIN, UPC, brand, description, measurements, ratings and images — no API key or account required](https://reefapi.com/docs/zappos): 2 endpoints — Search the Zappos catalog. Give a `query` ('running shoes', 'hiking boots', 'nike air max', 'womens dresses') and get back 100 products per page, each with Zappos' own product id, style id and colour id, price and list price, discount, units in stock, star rating, review count, badges, the full image set, and the product's OTHER colourways inline. Narrow with brand, colour, gender, size, width, department, category, material, style, feature, occasion, pattern, theme, price bucket and an on-sale switch; sort by price, rating, newest or best sellers. Every filter value your query actually supports — with the number of products behind it — is returned in `filters_available`, so you never have to guess. · full AI-ready doc: https://reefapi.com/docs/zappos.md - POST /zappos/v1/search — Search the Zappos catalog. Give a `query` ('running shoes', 'hiking boots', 'nike air max', 'womens dresses') and get back 100 products per page, each with Zappos' own product id, style id and colour id, price and list price, discount, units in stock, star rating, review count, badges, the full image set, and the product's OTHER colourways inline. Narrow with brand, colour, gender, size, width, department, category, material, style, feature, occasion, pattern, theme, price bucket and an on-sale switch; sort by price, rating, newest or best sellers. Every filter value your query actually supports — with the number of products behind it — is returned in `filters_available`, so you never have to guess. (params: query*, max_results, page, sort, brand, color, gender, size, width, category, department, material, style, feature, occasion, pattern, theme, price_range, on_sale; 1 credit) - POST /zappos/v1/product_detail — Get one Zappos product in full, by its product id (or its zappos.com URL) — brand, category, gender, the marketing description and every specification bullet, the parsed physical measurements (weight, heel height, shaft, circumference, platform height, bag depth and strap drop where Zappos lists them), size charts, the customer rating with its star histogram and the runs-small / runs-wide / arch-support breakdowns, and the two customer reviews Zappos embeds. Every colourway is returned with its own style id, colour id, price, list price, image set and stock, and the selected colourway is broken down to the SIZE x WIDTH level: one row per purchasable variant with Zappos' stock id, the Amazon ASIN, the manufacturer UPC, that variant's own price and list price, and how many units are in stock right now. (params: product_id*, color_id, style_id, url, include_all_color_variants; 2 credits) - [Zara API — search the Zara catalogue in 20 country stores and pull a full product: price with discount and currency, every colourway, every size with its own SKU and live stock status, the full-resolution image gallery, fibre composition, care instructions and country of origin — no API key or account required](https://reefapi.com/docs/zara): 2 endpoints — Search the Zara catalogue and get back the products on sale right now — each with Zara's own product id, name, price (with the was-price and discount percentage when it is reduced), currency, availability, colourway with hex code, the other colours it comes in, the product images at full resolution, the department and product family, and the link to the page. Choose the country store with `market` (that is what sets the currency), narrow with section, colour, category or brand, sort by price, and page through the results. Every filter value the query actually supports comes back in `filters_available` with counts, so you never have to guess one. · full AI-ready doc: https://reefapi.com/docs/zara.md - POST /zara/v1/search — Search the Zara catalogue and get back the products on sale right now — each with Zara's own product id, name, price (with the was-price and discount percentage when it is reduced), currency, availability, colourway with hex code, the other colours it comes in, the product images at full resolution, the department and product family, and the link to the page. Choose the country store with `market` (that is what sets the currency), narrow with section, colour, category or brand, sort by price, and page through the results. Every filter value the query actually supports comes back in `filters_available` with counts, so you never have to guess one. (params: query*, market, section, brand, color, category, sort, max_results, page; 1 credit) - POST /zara/v1/product_detail — Get one Zara product in full, by its product id or its zara.com URL — the name and the full description, the price with its currency and any discount, the product reference as printed on the label, EVERY colourway it is made in and, inside each one, EVERY size with Zara's own SKU number, that size's own price and whether it is in stock right now. Also the complete image gallery at full resolution, the fibre composition broken down per garment part, care instructions, country of origin and traceability, safety warnings, certified and sustainable material claims, physical measurements where Zara publishes them, the size system, the department and product family, and the date the product first went on sale. Choose the country store with `market` — id, price, currency and stock are all per-market. (params: product_id, url, market, include_composition, find_market; 1 credit) ## Classifieds & Second-hand - [AutoScout24 API — search and view used and new car listings across Europe on autoscout24 (price, mileage, specs, dealer info and deal ratings)](https://reefapi.com/docs/autoscout24): 7 endpoints — Paginated car search by make (+ model/filters) across EU TLDs; deal signals priceEvaluation+superDeal · full AI-ready doc: https://reefapi.com/docs/autoscout24.md - POST /autoscout24/v1/search — Paginated car search by make (+ model/filters) across EU TLDs; deal signals priceEvaluation+superDeal (params: make, model, model_group, country, page, sort, desc, price_min, price_max, year_min, year_max, mileage_min, mileage_max, fuel, transmission, body_type, zip, radius, power_min, power_max, super_deal, seller_type, offer_type; 1 credit) - POST /autoscout24/v1/listing — Full listing detail by url/path or id (description, prices, vehicle, images, seller, leasing, warranty) (params: url, path, id, country; 1 credit) - POST /autoscout24/v1/makes — Vehicle makes taxonomy from search hub page (params: country; 1 credit) - POST /autoscout24/v1/models — Models taxonomy for a make (query-param filters — path-segment /lst/make/model returns 404) (params: make*, country; 1 credit) - POST /autoscout24/v1/filter_options — Available filter dimensions (fuel, body, transmission, etc.) from taxonomy blob (params: make, country; 1 credit) - POST /autoscout24/v1/seller_listings — Listings for a dealer/private seller by customer id (cid) (params: cid*, country, page, seller_id; 1 credit) - POST /autoscout24/v1/browse_links — SEO browse graph: cities, body types, model lines, top models (interlinking from search page) (params: make, country; 1 credit) - [Kleinanzeigen API scraper — search Germany's #1 classifieds (kleinanzeigen.de): listings with prices, photos & attributes, full listing detail, similar ads, category tree, live filter facets, location autocomplete, seller profiles & inventory. No account needed; German locale, seller PII redacted.](https://reefapi.com/docs/kleinanzeigen): 8 endpoints — Search Kleinanzeigen classifieds by keyword and/or category with price, location + radius, seller-type and sort filters. Returns normalized listings (title, price, photos, location, seller type) with the true total. Page pagination. · full AI-ready doc: https://reefapi.com/docs/kleinanzeigen.md - POST /kleinanzeigen/v1/search — Search Kleinanzeigen classifieds by keyword and/or category with price, location + radius, seller-type and sort filters. Returns normalized listings (title, price, photos, location, seller type) with the true total. Page pagination. (params: query, category_id, category_slug, location_id, radius, location, price_min, price_max, seller_type, sort, page; 1 credit) - POST /kleinanzeigen/v1/listing — Full listing detail by url, slug or adid: title, price, description, all photos, attributes (e.g. car specs), category breadcrumb, seller id & badges, posted date. (params: url, slug, adid; 1 credit) - POST /kleinanzeigen/v1/similar — Related/similar listings shown on an ad's detail page ("Das könnte dich auch interessieren") — by url, slug or adid. (params: url, slug, adid; 1 credit) - POST /kleinanzeigen/v1/categories — Full Kleinanzeigen category tree (id, name, nested children) for discovering category_id values to use in search. (params: none; 1 credit) - POST /kleinanzeigen/v1/filters — Live filter facets for a query/category from the search filter tree: category, location (state) and attribute facets, each with a result count — so you know which filter values are available and how many listings match. (params: query, category_id; 1 credit) - POST /kleinanzeigen/v1/location_suggestions — Autocomplete location names + ids for a partial query — use the returned location_id with search's location_id + radius. (params: query*; 1 credit) - POST /kleinanzeigen/v1/user_listings — All active listings for a seller (by user/seller id), with page pagination. (params: user_id*, page; 1 credit) - POST /kleinanzeigen/v1/seller — Public seller profile by user/seller id: display name (redacted by default), member since, reputation badges, rating count, and listing count. (params: user_id*; 1 credit) - [Marktplaats API — search Dutch and Belgian classifieds (Marktplaats, 2dehands, 2ememain): listings, listing detail, categories and seller inventory](https://reefapi.com/docs/marktplaats): 4 endpoints — Keyword or category search with filters, sort, location, offset pagination (limit=30). · full AI-ready doc: https://reefapi.com/docs/marktplaats.md - POST /marktplaats/v1/search — Keyword or category search with filters, sort, location, offset pagination (limit=30). (params: query, site, l1_category_id, l2_category_id, sort_by, sort_order, price_from, price_to, postcode, distance_meters, offset; 1 credit) - POST /marktplaats/v1/listing — Listing detail by item_id and/or vip_url; enriched with full product details (price, availability, specs). (params: item_id, vip_url, site; 1 credit) - POST /marktplaats/v1/categories — Category tree from search facets, or browse a category (l1/l2) with listings. (params: query, site, l1_category_id, l2_category_id, offset; 1 credit) - POST /marktplaats/v1/seller_listings — Active listings for a seller; offset pagination via seller-name LRP search (name auto-resolved from profile when omitted). (params: seller_id*, seller_name, site, offset; 1 credit) - [OLX API scraper — search OLX classifieds across 7 countries (Poland, Ukraine, Romania, Portugal, Bulgaria, Kazakhstan, Uzbekistan): listings, offer detail, prices, photos, categories, filters, seller profiles & inventory, related offers, result counts and a GEO location resolver. No account needed; seller PII redacted.](https://reefapi.com/docs/olx): 10 endpoints — Search OLX classifieds by keyword and/or category with sort, condition, price, delivery and location filters. Offset pagination (limit=40). Promoted ads filtered out. · full AI-ready doc: https://reefapi.com/docs/olx.md - POST /olx/v1/search — Search OLX classifieds by keyword and/or category with sort, condition, price, delivery and location filters. Offset pagination (limit=40). Promoted ads filtered out. (params: query, country, category_id, sort_by, condition, with_photos, courier, region_id, city_id, district_id, price_from, price_to, filters, offset, limit; 1 credit) - POST /olx/v1/count — Lightweight result count for a query/category/filter combination — total matching listings without fetching the offers. Useful for market sizing. (params: query, country, category_id, condition, region_id, city_id, district_id, price_from, price_to, filters; 1 credit) - POST /olx/v1/locations — GEO resolver: turn a place name into OLX region/city/district ids for the location filters. No params -> all regions; region_id -> its cities; city_id -> city detail + districts; query -> match a city by name across regions. (params: country, query, region_id, city_id; 1 credit) - POST /olx/v1/offer — Offer detail by numeric id (no trailing slash on upstream path). (params: id*, country; 1 credit) - POST /olx/v1/categories — Category facets + filter suggestions from search metadata, plus global filter definitions. (params: query, country, category_id; 1 credit) - POST /olx/v1/user_offers — Active offers for a seller user_id with offset pagination. (params: user_id*, country, offset, limit; 1 credit) - POST /olx/v1/suggested — Related/suggested offers for a given offer id. (params: id*, country; 1 credit) - POST /olx/v1/breadcrumbs — Category or offer breadcrumb trail. (params: country, category_id, id; 1 credit) - POST /olx/v1/user — Public seller profile by user id. (params: user_id*, country; 1 credit) - POST /olx/v1/filters — Global filter attribute definitions keyed by filter_enum/filter_float names. (params: country; 1 credit) ## Social Media - [Bluesky API scraper — public Bluesky profiles, posts, threads, replies, likes, reposts, quotes, followers/following, lists, custom feeds and starter packs, plus authenticated post search and timeline (AT Protocol / bsky.app)](https://reefapi.com/docs/bluesky): 23 endpoints — actor profile: did/handle/displayName/desc/followers/follows/posts counts/avatar/banner/labels (+ batch via 'actors' <=25). Requires actor OR actors (engine-enforced; required_params=() so the actors-only batch isn't rejected by the gateway literal-key validator). · full AI-ready doc: https://reefapi.com/docs/bluesky.md - POST /bluesky/v1/profile — actor profile: did/handle/displayName/desc/followers/follows/posts counts/avatar/banner/labels (+ batch via 'actors' <=25). Requires actor OR actors (engine-enforced; required_params=() so the actors-only batch isn't rejected by the gateway literal-key validator). (params: actor, actors; 1 credit) - POST /bluesky/v1/author_feed — an actor's posts (full record+embed+counts), cursor-paginated; filter=posts_no_replies|posts_with_replies|posts_with_media|posts_and_author_threads (params: actor*, limit, filter, cursor; 1 credit) - POST /bluesky/v1/search_actors — search users by name/handle/bio (cursor); typeahead=true for fast suggest (params: q*, limit, cursor, typeahead; 1 credit) - POST /bluesky/v1/thread — a post + its reply tree (recursive) + parent (params: uri*, depth, parent_height; 1 credit) - POST /bluesky/v1/post_detail — hydrate one or more posts by at:// URI (<=25): record/embed/like+repost+reply+quote counts (params: uris*; 1 credit) - POST /bluesky/v1/likes — actors who liked a post (cursor); cid auto-used if given (params: uri*, cid, limit, cursor; 1 credit) - POST /bluesky/v1/reposts — actors who reposted a post (cursor) (params: uri*, cid, limit, cursor; 1 credit) - POST /bluesky/v1/followers — actors following the subject (cursor) (params: actor*, limit, cursor; 1 credit) - POST /bluesky/v1/follows — actors the subject follows (cursor) (params: actor*, limit, cursor; 1 credit) - POST /bluesky/v1/quotes — Accounts/posts that QUOTE a given post (quote-posts), cursor-paginated. The other half of a post's engagement alongside likes and reposts. (params: uri*, cid, limit, cursor; 1 credit) - POST /bluesky/v1/suggested_follows — Accounts suggested from a given account — Bluesky's 'who to follow next' / similar-accounts set. Not paginated (a fixed suggestion set, ~10-50 actors). (params: actor*, limit; 1 credit) - POST /bluesky/v1/lists — The curated/moderation lists an account CREATED (user-curated lists + mute/block mod-lists), cursor-paginated. (params: actor*, limit, cursor; 1 credit) - POST /bluesky/v1/list — A single list's metadata plus its MEMBERS (the accounts on the list), members cursor-paginated. (params: list*, limit, cursor; 1 credit) - POST /bluesky/v1/list_feed — The feed of posts authored by the members of a list (a list used as a custom timeline), cursor-paginated. (params: list*, limit, cursor; 1 credit) - POST /bluesky/v1/actor_feeds — The custom feed generators an account CREATED (its published feeds), cursor-paginated. (params: actor*, limit, cursor; 1 credit) - POST /bluesky/v1/feed_generator — One custom feed generator's metadata plus its live online/valid status (is the feed service up). (params: feed*; 1 credit) - POST /bluesky/v1/popular_feeds — Discover popular custom feed generators — pass `q` to search feeds by name/topic, or omit for the platform-wide popular list. Cursor-paginated. (params: q, limit, cursor; 1 credit) - POST /bluesky/v1/get_feed — The posts served BY a custom feed generator (e.g. a Discover/What's-Hot/topic feed) by its at:// URI, cursor-paginated. Public — no account required. (params: feed*, limit, cursor; 1 credit) - POST /bluesky/v1/starter_packs — The starter packs an account CREATED (shareable onboarding bundles of accounts + feeds), cursor-paginated. (params: actor*, limit, cursor; 1 credit) - POST /bluesky/v1/starter_pack — One starter pack's full detail: its underlying list, sample member profiles and any bundled feeds. (params: starter_pack*; 1 credit) - POST /bluesky/v1/search_posts — Search Bluesky posts by keyword or hashtag — filter by sort order, date range, author, language, domain or tag. Requires an app-password; returns a clear error if none is configured. (params: q*, sort, limit, cursor, since, until, author, mentions, lang, domain, url, tag; 1 credit) - POST /bluesky/v1/get_actor_likes — posts an actor liked (authed; the AppView serves the authenticated account's own likes). Defaults to the logged-in handle. (params: actor, limit, cursor; 1 credit) - POST /bluesky/v1/timeline — the authenticated account's home timeline (authed) (params: limit, cursor, algorithm; 1 credit) - [Instagram Public Data API — profiles, posts, reels, hashtags, comments and search (no login required, public content only)](https://reefapi.com/docs/instagram): 10 endpoints — public profile facts and first-page recent posts · full AI-ready doc: https://reefapi.com/docs/instagram.md - POST /instagram/v1/profile — public profile facts and first-page recent posts (params: username*; 1 credit) - POST /instagram/v1/posts — public profile grid posts, newest first, with max_id pagination (params: username*, limit, max_id, cursor, rich; 1 credit) - POST /instagram/v1/reels — public profile reels tab, newest first, with max_id pagination (params: username*, limit, max_id, cursor; 1 credit) - POST /instagram/v1/similar_accounts — public related profiles from web_profile_info (params: username*, limit; 1 credit) - POST /instagram/v1/search — topsearch blended public users, hashtags, and places (params: query*; 1 credit) - POST /instagram/v1/users_search — public user lookup by handle (exact / near-exact match) (params: query*; 1 credit) - POST /instagram/v1/hashtag_search — topsearch public hashtags only (params: query*; 1 credit) - POST /instagram/v1/post_info — maximally-complete public post/reel detail by shortcode (URL) or media_id (params: shortcode, media_id; 1 credit) - POST /instagram/v1/post_comments — public comments for a post/reel by shortcode (URL) or media_id, with CURSOR pagination (params: shortcode, media_id, limit, cursor; 1 credit) - POST /instagram/v1/audio_media — public reels feed that use a given audio/music track, with pagination (params: audio_id*, limit, max_id, cursor; 1 credit) - [Medium API scraper — Medium.com articles (full text, HTML & markdown), author profiles, publications, responses, tags and search, no account needed](https://reefapi.com/docs/medium): 20 endpoints — Public Medium user profile by username. · full AI-ready doc: https://reefapi.com/docs/medium.md - POST /medium/v1/user — Public Medium user profile by username. (params: user*; 1 credit) - POST /medium/v1/user_id — Resolve username to Medium userId. (params: user*; 1 credit) - POST /medium/v1/user_articles — An author's published articles, newest first, with deep pagination. (params: user*, limit, cursor; 1 credit) - POST /medium/v1/user_top_articles — User articles sorted by clap count from profile references. (params: user*, limit; 1 credit) - POST /medium/v1/article — Article metadata by url or id. (params: url, id; 1 credit) - POST /medium/v1/article_content — Article plain-text body from bodyModel paragraphs. (params: url, id; 1 credit) - POST /medium/v1/article_html — Article HTML body from bodyModel paragraphs. (params: url, id; 1 credit) - POST /medium/v1/article_markdown — Article markdown body from bodyModel paragraphs. (params: url, id; 1 credit) - POST /medium/v1/article_responses — Public responses/comments for an article. (params: url, id, limit, cursor; 1 credit) - POST /medium/v1/publication — Publication/collection metadata by slug. (params: slug*; 1 credit) - POST /medium/v1/publication_id — Resolve publication slug to collection id. (params: slug*; 1 credit) - POST /medium/v1/publication_articles — A publication's articles, newest first, with deep pagination. (params: slug*, limit, cursor; 1 credit) - POST /medium/v1/tag — Latest posts for a topic tag (the tag/topic feed). (params: tag*, limit; 1 credit) - POST /medium/v1/search_users — Look up an author by exact username. (Medium gates fuzzy people-search behind a logged-in JS app, so this resolves q as a username and returns that profile.) (params: q*; 1 credit) - POST /medium/v1/search_publications — Look up a publication by exact slug. (Fuzzy publication search is login/JS-gated on Medium, so this resolves q as a publication slug and returns that publication.) (params: q*; 1 credit) - POST /medium/v1/search_tags — Check whether a topic tag exists and is active on Medium (resolves q as a tag slug). (params: q*; 1 credit) - POST /medium/v1/followers — An author's followers (paginated). Identify the author by 'user' or 'user_id'. (params: user, user_id, limit, cursor; 1 credit) - POST /medium/v1/following — The authors a user follows (paginated). Identify the user by 'user' or 'user_id'. (params: user, user_id, limit, cursor; 1 credit) - POST /medium/v1/list — Reading list metadata and articles from public list page HTML. Provide the full list 'url', or 'id' together with 'user'. (params: id, url, user, username, slug, limit; 1 credit) - POST /medium/v1/search_articles — Search Medium articles by keyword — returns matching articles with title, URL and publication details from medium.com. (params: q*, limit, cursor; 1 credit) - [Pinterest API scraper — public Pinterest data: pin detail & comments, profiles, boards, board pins, related pins, search (pins / users / boards / videos) and autocomplete suggestions from pinterest.com (no account required)](https://reefapi.com/docs/pinterest): 13 endpoints — Search Pinterest pins by keyword. Returns pin id/title/description/image/link/save-count with the pinner. Paginate with meta.bookmark. · full AI-ready doc: https://reefapi.com/docs/pinterest.md - POST /pinterest/v1/search_pins — Search Pinterest pins by keyword. Returns pin id/title/description/image/link/save-count with the pinner. Paginate with meta.bookmark. (params: query*, limit, bookmark; 1 credit) - POST /pinterest/v1/search_videos — Search Pinterest video pins (Idea Pins / video) by keyword. Same shape as search_pins but scoped to video content (image_url + video_url). Paginate with meta.bookmark. (params: query*, limit, bookmark; 1 credit) - POST /pinterest/v1/search_users — Search Pinterest users/creators by keyword. Returns username/profile stats/avatar. (params: query*, limit, bookmark; 1 credit) - POST /pinterest/v1/search_boards — Search Pinterest boards by keyword. Returns board name/url/description/pin-count/owner. (params: query*, limit, bookmark; 1 credit) - POST /pinterest/v1/suggestions — Autocomplete / typeahead search suggestions for a partial query — the dropdown Pinterest shows as you type. Great for keyword research. (params: query*; 1 credit) - POST /pinterest/v1/pin — Full detail for one pin: title, description, image, video, outbound link/domain, save & comment & share counts, reactions, hashtags, board, dominant color, product/price (when a shopping pin) and the pinner. Provide pin_id or pin_url. (params: pin_id, pin_url, id; 1 credit) - POST /pinterest/v1/pin_comments — Public comments & 'Tried it' notes on a pin: text, like/helpful counts, commenter and whether the pin owner highlighted it. Provide pin_id or pin_url. Paginate with meta.bookmark. (params: pin_id, pin_url, id, limit, bookmark; 1 credit) - POST /pinterest/v1/related_pins — 'More like this' pins related to a source pin. Provide pin_id or pin_url. (params: pin_id, pin_url, id, limit, bookmark; 1 credit) - POST /pinterest/v1/profile — Public profile for a username: name, bio, follower/following/board/pin counts, avatar, website. (params: username*; 1 credit) - POST /pinterest/v1/user_boards — Public boards owned by a username: name, url, description, pin-count, cover image. (params: username*; 1 credit) - POST /pinterest/v1/user_pins — Pins created by a username (their feed). Paginate with meta.bookmark. (params: username*, limit, bookmark; 1 credit) - POST /pinterest/v1/board — Board metadata: name, description, pin & follower & section counts, cover image, owner. Provide board_url or username + board. (params: board_url, username, board, board_slug; 1 credit) - POST /pinterest/v1/board_pins — Pins inside a board. Provide board_url or username + board. Paginate with meta.bookmark. (params: board_url, username, board, board_slug, limit, bookmark; 1 credit) - [Reddit API — subreddit posts, comments, search, user profiles, trending & community data from reddit.com (no account required)](https://reefapi.com/docs/reddit): 11 endpoints — Posts in a subreddit, ranked by `sort`. Returns title/author/score/comment-count. Supports deep paging (`page`) and `flair` filtering. · full AI-ready doc: https://reefapi.com/docs/reddit.md - POST /reddit/v1/subreddit_posts — Posts in a subreddit, ranked by `sort`. Returns title/author/score/comment-count. Supports deep paging (`page`) and `flair` filtering. (params: subreddit*, sub, sort, time, limit, after, page, cursor, flair, source; 1 credit) - POST /reddit/v1/multi_subreddit_posts — ONE merged newest-first feed across a whole watchlist of subreddits — pass up to 5000 names in a single call instead of polling each one. Built for near-real-time monitoring: posts show up seconds after they go live, `since_utc` returns only what is new since your last poll. (params: subreddits*, subs, subreddit, sub, sort, time, limit, since_utc, max_pages, after, cursor; 5 credits) - POST /reddit/v1/post_comments — Threaded comments for a post. Returns author/body/score per comment. (params: post_id*, id, url, sort, limit, depth, source; 1 credit) - POST /reddit/v1/search — Search posts, comments, or users by `q` and/or `subreddit`/`author`. Returns results[]. Comment search reads Reddit's own live comment index. Cursor pagination + `flair` filter apply on the live source. (params: q, query, subreddit, sub, author, type, sort, limit, flair, after, page, cursor, after_utc, before_utc, source; 1 credit) - POST /reddit/v1/user — User profile or content. kind=about returns karma/profile; submitted/comments list items (with deep paging). (params: username*, user, name, kind, limit, after, page, cursor, sort, source; 1 credit) - POST /reddit/v1/subreddit_about — Subreddit metadata: subscribers, description, created date, etc. (params: subreddit*, sub, source; 1 credit) - POST /reddit/v1/communities — Search subreddits by name/keyword — find communities matching a term, with each one's subscribers, title, description and over-18 flag. (params: q*, limit; 1 credit) - POST /reddit/v1/trending — Site-wide discovery — hot/popular posts from r/popular or r/all (what's trending across Reddit right now), or the most-popular communities. No subreddit needed. (params: scope, kind, sort, time, limit, flair, after, page, source; 2 credits) - POST /reddit/v1/user_search — Find Reddit users by name/keyword — people search. Returns matching profiles with karma. (Same as search with type=user.) (params: q*, query, username, limit, after, source; 2 credits) - POST /reddit/v1/load_more_comments — Expand the collapsed 'more comments' nodes from a post_comments call — pass that response's more_ids to reveal the rest of the thread (build the FULL comment tree). (params: post_id*, more_ids*, link_id, id, url, comment_ids, limit, sort, source; 3 credits) - POST /reddit/v1/subreddit_extras — Public subreddit extras: the community's rules and its wiki page index/content. (Moderator list is mod-only on Reddit and is not available logged-out.) (params: subreddit*, sub, include, wiki_page, source; 3 credits) - [Snapchat Public Data API scraper — public profiles, stories, highlights, AR lenses and Spotlight videos from snapchat.com without login: display name, snapcode, subscriber count, bio, website, verified badge, public story snaps, curated and Spotlight highlights, a creator's lenses, the trending Spotlight feed with engagement stats, and lens directory/detail — no API key or account required](https://reefapi.com/docs/snapchat): 8 endpoints — Full public Snapchat profile by username: display name, snapcode, subscriber count, bio, website, verified badge, profile picture, business id, related/suggested accounts, plus flags for whether the account has a live story and saved highlights. · full AI-ready doc: https://reefapi.com/docs/snapchat.md - POST /snapchat/v1/profile — Full public Snapchat profile by username: display name, snapcode, subscriber count, bio, website, verified badge, profile picture, business id, related/suggested accounts, plus flags for whether the account has a live story and saved highlights. (params: username*; 1 credit) - POST /snapchat/v1/story — The account's current public story — the live snaps (image/video media URLs, timestamps, titles) that the profile is publicly broadcasting right now. (params: username*; 1 credit) - POST /snapchat/v1/highlights — The account's saved public highlight stories (curated highlights + Spotlight highlights), each with its snaps. First page (the SSR page serves the first batch; deeper pagination is not exposed to logged-out clients). (params: username*; 1 credit) - POST /snapchat/v1/lenses — The creator's own public AR lenses listed on their profile: name, preview image/video, icon, unlock URL and scannable UUID. (params: username*; 1 credit) - POST /snapchat/v1/spotlight — The public trending Spotlight feed — ~25 popular Spotlight videos with engagement stats (views, shares, comments, boosts), creator, AI-generated title/description/keywords and media URLs. No input needed; returns what Snapchat is surfacing now. (params: none; 1 credit) - POST /snapchat/v1/spotlight_detail — Full metadata for one public Spotlight video by its story id (from a spotlight result's story_id or a snapchat.com/spotlight/ URL): name, description, view count, duration, dimensions, creator and media URL. (params: story_id*; 1 credit) - POST /snapchat/v1/lens_directory — Snapchat's public top/trending AR lens directory: the featured lenses plus the lens category list. First page (the SSR catalog serves the first ~25; deeper cursor pagination is not exposed to logged-out clients). (params: none; 1 credit) - POST /snapchat/v1/lens_detail — Detail for one public AR lens by its scannable UUID (from a lens result's scannable_uuid or a snapchat.com/lens/ URL): name, creator, preview media, unlock URL, the Spotlight videos that use this lens, and related lenses. (params: uuid*; 1 credit) - [Threads API scraper — public Threads (Meta) profiles, posts, replies, reposts, post detail, conversations and search (no login, public content only)](https://reefapi.com/docs/threads): 11 endpoints — Public Threads profile by username — name, bio, bio links, follower count, verification, profile picture and user id. · full AI-ready doc: https://reefapi.com/docs/threads.md - POST /threads/v1/profile — Public Threads profile by username — name, bio, bio links, follower count, verification, profile picture and user id. (params: username*; 1 credit) - POST /threads/v1/posts — Public posts from a Threads profile (most-recent first). Returns full text, media, engagement counts, location and music per post. Set `limit` for how many to return. (params: username*, limit; 1 credit) - POST /threads/v1/replies — Public replies from a Threads profile (the Replies tab). Set `limit` for how many to return. (params: username*, limit; 1 credit) - POST /threads/v1/reposts — Posts a Threads user has reposted — the Reposts tab on their profile. Returns the original reposted posts (authored by other accounts). (params: username*, limit; 1 credit) - POST /threads/v1/post — Maximally-complete public post detail. Provide url, or username + code, or post_id. Returns text, media (image/video/carousel), all engagement counts, location, music, tagged users, link preview, language and paid-partnership flag. (params: url, username, code, post_id; 1 credit) - POST /threads/v1/post_replies — The reply conversation for a public post (thread_items). Provide post_id, or url, or username + code. (params: post_id, url, username, code, limit; 1 credit) - POST /threads/v1/search — Search public Threads posts by keyword. Returns matching public posts with author, text and permalink. (params: q*, query, limit; 2 credits) - POST /threads/v1/user_search — Look up the public Threads account whose handle matches a query (exact / near-exact). NOTE: full fuzzy people search is login-gated by Threads; logged-out resolves the matching handle, like instagram's users_search. (params: q*, query; 1 credit) - POST /threads/v1/followers — Account-gated: the followers list requires a logged-in Threads session and is not available for public (logged-out) use. (params: username; 1 credit) - POST /threads/v1/following — Account-gated: the following list requires a logged-in Threads session and is not available for public (logged-out) use. (params: username; 1 credit) - POST /threads/v1/likes — Account-gated: the list of accounts that liked a post (who-liked) is not exposed to logged-out clients by Threads — it requires a logged-in session. (params: url, username, code, post_id; 1 credit) - [TikTok Creative Center API — TikTok ad-spy & creative intelligence: top-performing Top Ads by region/industry/objective, full ad detail (CTR, spend, likes, shares, comments, landing page, video renditions), keyword ad search, the live filter taxonomy (81 countries / 258 industries / objectives / languages) and official creative trend reports — the PiPiADS / Minea / AdSpy data as a raw JSON API](https://reefapi.com/docs/tiktok-creative-center): 7 endpoints — Top-performing TikTok ads for a market, filterable by region, period, industry, objective and ad language, ranked by recommendation / CTR / likes / spend. The core ad-spy feed — the same Top Ads intelligence PiPiADS / Minea / AdSpy sell as SaaS — with each ad's metrics and full video renditions. · full AI-ready doc: https://reefapi.com/docs/tiktok-creative-center.md - POST /tiktok-creative-center/v1/top_ads — Top-performing TikTok ads for a market, filterable by region, period, industry, objective and ad language, ranked by recommendation / CTR / likes / spend. The core ad-spy feed — the same Top Ads intelligence PiPiADS / Minea / AdSpy sell as SaaS — with each ad's metrics and full video renditions. (params: region, period, order_by, industry, objective, ad_language, limit, page; 3 credits) - POST /tiktok-creative-center/v1/ad_detail — Full creative record for one ad: title, brand, CTR, spend, likes, comments, shares, landing page, matched keywords, campaign objectives, highlight text, creative source, voice-over flag and the full set of video renditions (360p-1080p). (params: ad_id*; 3 credits) - POST /tiktok-creative-center/v1/search_ads — Keyword search across TikTok's Top-Ads index (region/period scoped), returning the same ad shape as top_ads. NOTE: TikTok's keyword index is sparse — only terms that match indexed ad metadata return matches, and many generic queries come back empty (honest empty, ok=true). For broad discovery prefer `top_ads` with industry / objective filters. (params: keyword*, region, period, limit, page; 3 credits) - POST /tiktok-creative-center/v1/ad_filters — The live filter taxonomy used by top_ads: full country (81), industry (258), objective (7), ad_language (16), pattern_label and period value lists. (params: none; 1 credit) - POST /tiktok-creative-center/v1/query_suggestions — Suggested Top-Ads search terms surfaced by TikTok's Creative Center search box. Honestly returns an empty list when TikTok is serving no suggestions for the locale. (params: limit; 1 credit) - POST /tiktok-creative-center/v1/trend_reports — Creative-Center trend reports & creative-guidance articles (official TikTok marketing insight content). (params: article_type, limit, page; 1 credit) - POST /tiktok-creative-center/v1/locations — Supported markets for the `region` filter: ISO code + human country name (e.g. {code: 'DE', name: 'Germany'}), sorted by name. (params: none; 1 credit) - [Twitch API scraper — channel, live stream, VOD, clip, search and directory data: channel profile (id, display name, description, follower count, partner/affiliate status, profile image), live stream status (viewer count, game/category, title, started-at), a streamer's past broadcasts (VODs) and top clips, channel and category/game search, the top live games with viewer counts, and the top live streams site-wide — all from Twitch's public GraphQL, no API key required](https://reefapi.com/docs/twitch): 13 endpoints — Full channel/user profile by login: id, display name, description, created-at, profile and banner image, follower count, partner/affiliate/staff flags, and the current live stream (title, viewer count, game/category, started-at) if live. · full AI-ready doc: https://reefapi.com/docs/twitch.md - POST /twitch/v1/channel — Full channel/user profile by login: id, display name, description, created-at, profile and banner image, follower count, partner/affiliate/staff flags, and the current live stream (title, viewer count, game/category, started-at) if live. (params: login*; 1 credit) - POST /twitch/v1/stream — Live status of a channel: whether it is live right now and, if so, the stream id, title, viewer count, game/category, started-at timestamp and a 1080p thumbnail. Returns is_live=false (honest-empty) for an offline channel. (params: login*; 1 credit) - POST /twitch/v1/videos — A channel's past broadcasts / VODs (most recent first), up to 100 in one page: id, title, duration, view count, published-at, game/category and thumbnail. Note: Twitch integrity-gates pagination beyond the first page for keyless access. (params: login*, limit, type, sort; 1 credit) - POST /twitch/v1/clips — Top clips of a channel, ranked by views, up to 100 in one page: id, slug, title, view count, created-at, duration, game/category, the clip creator and the clip URL. Filter the time window with `period`. Pagination beyond page one is integrity-gated. (params: login*, limit, period; 1 credit) - POST /twitch/v1/search_channels — Search Twitch channels by name/keyword. Returns matching channels with id, login, display name, description, follower count, partner/affiliate flags and live status (viewer count + game when live). (params: query*, limit; 1 credit) - POST /twitch/v1/search_categories — Search Twitch games/categories by name. Returns matching categories with id, name, display name, current live viewer count and box-art image. (params: query*, limit; 1 credit) - POST /twitch/v1/top_games — The top games/categories on Twitch right now, ranked by live viewers: id, name, display name, current viewer count, content tags and box-art image. Up to 30. (params: limit; 1 credit) - POST /twitch/v1/top_streams — The top live streams on Twitch right now, ranked by viewers: stream id, title, viewer count, started-at, the broadcasting channel (login, display name) and the game/category. Up to 30. (params: limit; 1 credit) - POST /twitch/v1/game — Game/category detail by name plus its top live streams: category id, display name, total live viewers, description, avatar — and the top channels (up to 30) currently streaming it, each with title, viewer count and broadcaster. (params: name*, limit; 1 credit) - POST /twitch/v1/schedule — A channel's stream schedule: the next upcoming stream (start, title, category) plus the channel's recurring weekly schedule segments — each with start/end time, title, cancelled flag and the planned game/category. Returns honest-empty when the channel has not published a schedule. (params: login*; 1 credit) - POST /twitch/v1/game_clips — Top clips for a whole game/category (site-wide, across all channels), ranked by views, up to 100 in one page: id, slug, title, view count, created-at, duration, the broadcaster the clip is from, the clip creator and the URL. Filter the time window with `period`. Pagination beyond page one is integrity-gated. (params: name*, limit, period; 1 credit) - POST /twitch/v1/game_videos — Top past broadcasts / VODs for a whole game/category (site-wide, across all channels), up to 100 in one page: id, title, duration, view count, published-at, the owning channel and a thumbnail. Order by views (default) or newest. Pagination beyond page one is integrity-gated. (params: name*, limit, sort; 1 credit) - POST /twitch/v1/team — A Twitch team profile by name plus its member channels: team id, name, display name, description, logo/banner image — and the member channels (up to 100), each with login, display name, partner/affiliate status and current live status (viewer count + game when live). (params: name*, limit; 1 credit) - [Username Search API — find every public account for a username across 3000+ sites: check a username (or Steam ID/URL) and get each platform where it exists plus the public profile link (GitHub, Instagram, TikTok, Reddit, Discord, Telegram, Twitch, YouTube and thousands more)](https://reefapi.com/docs/username-osint): 1 endpoints — Find every public account for a username across 3000+ sites (powered by the Maigret OSINT engine) → for each site where the account exists: the platform + the public profile link. Also accepts a Steam numeric ID or profile URL (steamcommunity.com/profiles/...). Scan the top-N most-popular sites (default 300), filter by tag (gaming/social/coding/…), or deep-scan to extract linked identifiers. · full AI-ready doc: https://reefapi.com/docs/username-osint.md - POST /username-osint/v1/username — Find every public account for a username across 3000+ sites (powered by the Maigret OSINT engine) → for each site where the account exists: the platform + the public profile link. Also accepts a Steam numeric ID or profile URL (steamcommunity.com/profiles/...). Scan the top-N most-popular sites (default 300), filter by tag (gaming/social/coding/…), or deep-scan to extract linked identifiers. (params: username*, top, tags, sites, deep; 3 credits) ## Developer Tools - [Change-Detect API — website content monitoring and change detection: noise-resistant content and structural fingerprints, human-readable diffs, batch URL snapshots — stateless building block for SEO, compliance and competitor-watch workflows](https://reefapi.com/docs/change-detect): 5 endpoints — Fetch a URL and return a noise-resistant fingerprint: content_hash (normalised main content, rotating-token-stripped), structural_hash (DOM skeleton), text_hash, title, meta_description, main_content (boilerplate-stripped), word_count, links[]. Store the returned snapshot/hash and feed it back to diff/monitor_check later. · full AI-ready doc: https://reefapi.com/docs/change-detect.md - POST /change-detect/v1/snapshot — Fetch a URL and return a noise-resistant fingerprint: content_hash (normalised main content, rotating-token-stripped), structural_hash (DOM skeleton), text_hash, title, meta_description, main_content (boilerplate-stripped), word_count, links[]. Store the returned snapshot/hash and feed it back to diff/monitor_check later. (params: url*, selector, follow_redirects; 1 credit) - POST /change-detect/v1/diff — Diff a page against a prior baseline (snapshot object OR content_hash OR raw text), or compare two live URLs (url + url2). Returns changed(bool), change_ratio(0..1), change_type(text|structural|both|none), added[]/removed[]/modified[] blocks, and a human summary — all on the NOISE-RESISTANT normalised content. (params: url*, baseline, url2, selector, mode, follow_redirects; 1 credit) - POST /change-detect/v1/monitor_check — The stateless half of monitoring: re-fetch the URL and tell you FAST whether it changed since a known hash. Pass baseline_hash (+ optional selector/mode). Returns changed(bool) + current_hash + a short diff_summary — the cheap 'did it change?' path. (params: url*, baseline_hash*, selector, mode, follow_redirects; 1 credit) - POST /change-detect/v1/extract — Main-content extraction only — boilerplate (nav/header/footer/ads/cookie/comments) stripped → clean text + structured blocks + links. Useful to feed clean diffs or to get just the article. No fingerprint comparison. (params: url*, selector, follow_redirects; 1 credit) - POST /change-detect/v1/batch — Snapshot up to 20 URLs concurrently in one call (each independently SSRF-guarded, shared concurrency). Returns a compact fingerprint per URL. (params: urls*, selector; 1 credit) - [Developer Utilities API — 20+ deterministic dev and AI-agent tools: hash, UUID, encode, JWT decode, cron, regex, format, data convert, color, mock data, diff, QR and more](https://reefapi.com/docs/dev-utils): 21 endpoints — Hash/checksum text or binary (base64/hex) input: md5…sha3·blake2·crc32·adler32, optional HMAC keying → hex + base64 digests. · full AI-ready doc: https://reefapi.com/docs/dev-utils.md - POST /dev-utils/v1/hash — Hash/checksum text or binary (base64/hex) input: md5…sha3·blake2·crc32·adler32, optional HMAC keying → hex + base64 digests. (params: input*, algo, hmac_key, input_encoding; 1 credit) - POST /dev-utils/v1/uuid — Generate ids: uuid v4/v7/v1(MAC-safe)/v3/v5, ULID, nanoid — up to 100. (params: version, count, namespace, name, size; 1 credit) - POST /dev-utils/v1/encode — Encode/decode: base64(+url-safe), hex, URL (path/component/form), HTML entities, unicode-escape, json-string. (params: input*, op*, direction; 1 credit) - POST /dev-utils/v1/jwt_decode — Decode a JWT WITHOUT needing the key (header+payload+claims analysis); optionally verify the signature with a provided key. Decode-only — this API never signs tokens. (params: token*, verify_key; 1 credit) - POST /dev-utils/v1/password — Generate cryptographically-secure passwords (charset controls, ambiguity filter) + entropy strength score; or score a provided password with `check`. (params: length, count, lowercase, uppercase, digits, symbols, exclude_ambiguous, check; 1 credit) - POST /dev-utils/v1/cron — Explain a cron expression in plain language (15 locales) + compute the next N run times in any IANA timezone (DST-correct). (params: expression*, runs, tz, locale, from_time; 1 credit) - POST /dev-utils/v1/slugify — URL-safe slug from any-script text (CJK/Cyrillic/Arabic → ASCII via anyascii transliteration). (params: input*, separator, lowercase, max_length; 1 credit) - POST /dev-utils/v1/regex_test — Test a regex against text: matches + groups + named groups, optional replace. User patterns run with a hard 1s timeout (ReDoS-guarded) + size caps. (params: pattern*, input*, flags, replacement, max_matches; 1 credit) - POST /dev-utils/v1/format — Pretty-print, minify or validate JSON / YAML / XML / SQL (string-level; file/data CONVERSION lives in the file-convert API). (params: input*, type*, op, indent, sort_keys, keyword_case; 1 credit) - POST /dev-utils/v1/convert — Convert structured data between JSON / YAML / CSV / XML at the string level (paste-in, ≤512KB). CSV↔JSON is tabular (array of flat objects). For file/Excel/multi-MB conversion use the file-convert API. (params: input*, from*, to*, indent, sort_keys; 1 credit) - POST /dev-utils/v1/qr — Generate a QR code as SVG (text), base64-PNG (text data-URI), or terminal ASCII — all textual output, no binary asset. Up to QR version 40. (params: input*, kind, error_correction, scale, border; 1 credit) - POST /dev-utils/v1/color — Parse any CSS color (hex/rgb()/hsl()/name) → every format + CSS3 name + luminance; optional second color → WCAG 2.x contrast ratio + AA/AAA. (params: input*, contrast_with; 1 credit) - POST /dev-utils/v1/mock_data — Generate fake/test records (Faker, 70+ locales): preset bundles (person/address/company/internet/profile/product/lorem) or a custom field→type schema; seed for reproducible output. (params: preset, schema, count, locale, seed; 2 credits) - POST /dev-utils/v1/text_diff — Unified diff between two texts + change stats + similarity ratio. (params: a*, b*, context, label_a, label_b; 1 credit) - POST /dev-utils/v1/text_analyze — Algorithmic text analysis (no LLM): language detect (97 langs) · readability (Flesch & co) · profanity flag/censor · keyword extraction · full stats. Pick checks or get all. (params: input*, checks, top_keywords; 2 credits) - POST /dev-utils/v1/timestamp — Parse/convert any timestamp ('now', unix s/ms/µs, ISO-8601, RFC-2822) → every format + timezone conversion + relative time. (params: value, tz; 1 credit) - POST /dev-utils/v1/case_convert — Convert identifier/text casing: camel·pascal·snake·kebab·constant·dot·title·sentence·upper·lower (+ detected input case). (params: input*, target*; 1 credit) - POST /dev-utils/v1/base_convert — Convert integers between bases 2-36 (arbitrary precision; 0x/0b/0o prefixes accepted). (params: input*, from_base, to_base; 1 credit) - POST /dev-utils/v1/markdown — Render CommonMark+tables markdown → sanitized HTML (raw HTML escaped, XSS-safe) + heading TOC with slugs. (params: input*; 1 credit) - POST /dev-utils/v1/user_agent — Parse a User-Agent string → browser/OS/device families + versions + bot flag (uap-core database). (params: input*; 1 credit) - POST /dev-utils/v1/batch — Run up to 100 mixed dev-utils calls in one request. (params: items*; 1 credit) - [Domain Risk API — fraud and brand-protection intelligence: 0-100 risk score, domain age and expiry lifecycle, parked/for-sale detection, typosquat and lookalike generation with registration checks, registrar, nameserver and email reputation (RDAP + DNS + Certificate Transparency, no API key required)](https://reefapi.com/docs/domain-risk): 6 endpoints — Comprehensive fraud and security risk report for one domain: a 0-100 risk score, human-readable reasons, and a risk level (low / medium / elevated / high). Combines domain age, expiry status, parked/for-sale detection, TLS certificate presence, hostname structure, brand impersonation signals, and email/DNSSEC legitimacy into a single verdict. The primary action for phishing detection and brand protection. · full AI-ready doc: https://reefapi.com/docs/domain-risk.md - POST /domain-risk/v1/assess — Comprehensive fraud and security risk report for one domain: a 0-100 risk score, human-readable reasons, and a risk level (low / medium / elevated / high). Combines domain age, expiry status, parked/for-sale detection, TLS certificate presence, hostname structure, brand impersonation signals, and email/DNSSEC legitimacy into a single verdict. The primary action for phishing detection and brand protection. (params: domain*, check_parked, include_pii; 1 credit) - POST /domain-risk/v1/age — Domain age + expiry-risk band + renewal status (lifecycle synthesis from RDAP dates — NOT a raw whois dump; use domain-intel.whois for that). (params: domain*; 1 credit) - POST /domain-risk/v1/parked — Detect whether a domain is parked or listed for sale. Checks parking nameserver signals and the domain's root page for for-sale phrases and marketplace redirect hosts (Sedo, Afternic, GoDaddy, etc.). Returns a confidence-scored verdict: parked, for_sale, or actively in use. Returns 'unknown' when the page cannot be read. (params: domain*; 1 credit) - POST /domain-risk/v1/typosquat — Generate a brand's lookalike domains across 16 permutation families (meets/exceeds dnstwist; incl IDN homoglyph/homograph) then report which are ACTUALLY REGISTERED + their risk — the brand-protection product. (params: domain*, families, keywords, check_registered; 1 credit) - POST /domain-risk/v1/reputation — Registrar / nameserver / age / mail-hygiene (SPF·DMARC·DNSSEC) trust signals → a 0-100 reputation_score + trust_level. Reputation is a positive-trust lens (vs assess's risk lens). (params: domain*; 1 credit) - POST /domain-risk/v1/batch — Risk-assess up to 50 domains in one call (RDAP + DNS + email hygiene scoring, no per-domain parked-page probe). Returns a risk verdict per domain plus a combined high-risk list — ideal for bulk fraud screening. (params: domains*; 1 credit) - [Email Deliverability & DNS Health API — check SPF, DKIM, DMARC, MX, BIMI, MTA-STS, TLS-RPT, DNSSEC, DANE and blacklist status with a 0-100 deliverability score](https://reefapi.com/docs/email-health): 12 endpoints — Full email-health audit: SPF + DKIM + DMARC + MX + BIMI + MTA-STS + TLS-RPT + DNSSEC + blacklist, plus a 0-100 deliverability score and letter grade. · full AI-ready doc: https://reefapi.com/docs/email-health.md - POST /email-health/v1/check — Full email-health audit: SPF + DKIM + DMARC + MX + BIMI + MTA-STS + TLS-RPT + DNSSEC + blacklist, plus a 0-100 deliverability score and letter grade. (params: domain*, selector, selectors, bimi_selector, skip_blacklist; 1 credit) - POST /email-health/v1/spf — Parse + validate the SPF record: follow include:/redirect=, count the ≤10 DNS-lookup mechanisms, flag +all and void lookups, report the all-qualifier policy. (params: domain*; 1 credit) - POST /email-health/v1/dmarc — Parse the DMARC policy at _dmarc.: p/sp/pct/rua/ruf/adkim/aspf/fo + enforcement verdict. (params: domain*; 1 credit) - POST /email-health/v1/dkim — DKIM selector lookup (._domainkey.): key type, public-key presence, RSA key-bit estimate, revocation. Autoscans ~30 common selectors if none given. (params: domain*, selector, selectors; 1 credit) - POST /email-health/v1/mx — MX records (sorted by preference) + a mail-provider guess from the exchange hostnames. (params: domain*; 1 credit) - POST /email-health/v1/blacklist — DNSBL reputation: reverse the domain's A + MX-host IPs against live-proven public DNSBLs (SpamCop, Barracuda, UCEPROTECT, PSBL, Mailspike, GBUdb, DroneBL, s5h). Spamhaus/CBL are flagged as paid-key-required (public-resolver refused), not queried. (params: domain*, ips; 1 credit) - POST /email-health/v1/mta_sts — MTA-STS: the _mta-sts. TXT (id) plus the fetched https://mta-sts./.well-known/mta-sts.txt policy (mode, mx[], max_age). (params: domain*; 1 credit) - POST /email-health/v1/bimi — BIMI brand-logo record at ._bimi.: the published logo (SVG) URL and the VMC (Verified Mark Certificate) URL, plus whether a VMC is present. Standalone lookup (MXToolbox SuperTool exposes BIMI on its own — no full audit needed). (params: domain*, selector; 1 credit) - POST /email-health/v1/tls_rpt — SMTP TLS Reporting (RFC 8460) record at _smtp._tls.: the rua= report destination(s) that receive aggregate TLS-negotiation failure reports. Standalone lookup. (params: domain*; 1 credit) - POST /email-health/v1/dnssec — DNSSEC signing status: the DoH AD (Authenticated-Data) flag = the resolver cryptographically validated the answer, plus a DS record at the parent = the delegation is signed. Standalone lookup. (params: domain*; 1 credit) - POST /email-health/v1/dane — DANE for SMTP (RFC 7672): TLSA records at _25._tcp. for every MX host, with per-host DNSSEC validation (DANE is only effective on a signed TLSA RRset). Value-add: MXToolbox has NO TLSA/DANE lookup. (params: domain*; 1 credit) - POST /email-health/v1/batch — Run the full 'check' audit on up to 25 domains in one call (each with score + grade). (params: domains*, skip_blacklist; 1 credit) - [Email Preflight API — pre-send QA for HTML email: structure and accessibility lint, client CSS compatibility, spam-signal score, link and image checks, sender DNS auth and preview](https://reefapi.com/docs/email-preflight): 7 endpoints — Full pre-send structure + accessibility + deliverability lint of an HTML email: missing alt text, broken structure, mobile-width risks, dark-mode hints, tracking pixels, external assets, List-Unsubscribe check, Gmail-clip size budget, and prioritized recommendations. Pure local compute (no network). · full AI-ready doc: https://reefapi.com/docs/email-preflight.md - POST /email-preflight/v1/audit_html — Full pre-send structure + accessibility + deliverability lint of an HTML email: missing alt text, broken structure, mobile-width risks, dark-mode hints, tracking pixels, external assets, List-Unsubscribe check, Gmail-clip size budget, and prioritized recommendations. Pure local compute (no network). (params: html*, text_part, base_url, subject, check_links; 2 credits) - POST /email-preflight/v1/css_support — Email-client CSS/HTML compatibility map for the template (Can-I-Email data, MIT): which CSS features used in the HTML break or degrade in Outlook/Gmail/Apple Mail/Yahoo and friends. Pure local compute (offline snapshot). (params: html*; 1 credit) - POST /email-preflight/v1/spam_score — Deterministic spam-SIGNAL score for the email content (caps ratio, image-to-text ratio, spam phrases, missing unsubscribe, raw-IP links…). HONEST: a content signal score, NOT an inbox-placement prediction; SpamAssassin/Rspamd sidecar = the calibrated upgrade (see docs). Pure local compute. (params: html*, subject, text_part; 1 credit) - POST /email-preflight/v1/check_links — Resolve every link in the email through url-resolver (SSRF-guarded): final URL, redirect chain, status, final domain. Bot-403/429 = `unverifiable` (honest — not marked broken). Inner-calls url-resolver per link. (params: html*, base_url; 2 credits) - POST /email-preflight/v1/check_images — Audit every in the email: alt text presence, dimensions declared, src scheme/format, http-vs-https, and (best-effort) reachability via url-resolver. Pure-compute by default; reachability adds sub-calls. (params: html*, base_url, check_reachable; 1 credit) - POST /email-preflight/v1/dns_auth — Sender-domain email-authentication summary (SPF/DKIM/DMARC/MX + deliverability grade) via an inner-call to the email-health engine — REUSE, not re-implemented here (email-health owns DNS auth; this is a thin preflight wrapper). (params: domain*, dkim_selector, include_blacklist; 1 credit) - POST /email-preflight/v1/preview_basic — Basic visual preview: render the HTML to a PNG via web-capture's browser sandbox. HONEST: a browser render, NOT a real email-client render (no Outlook/Word engine). Degrades gracefully if web-capture is not deployed. (params: html*, width; 3 credits) - [Package & Dependency Trust API — score an open-source package or repository (npm, PyPI, Go, Cargo, RubyGems): downloads, maintainers, license, repo health and vulnerabilities, plus lockfile scanning](https://reefapi.com/docs/enrich-package): 4 endpoints — ecosystem+package → registry metadata + downloads + maintainers + license + resolved repository health + vulnerabilities + partial trust score (with per-sub-score inputs) · full AI-ready doc: https://reefapi.com/docs/enrich-package.md - POST /enrich-package/v1/package_trust — ecosystem+package → registry metadata + downloads + maintainers + license + resolved repository health + vulnerabilities + partial trust score (with per-sub-score inputs) (params: ecosystem*, package*, version, mode; 3 credits) - POST /enrich-package/v1/repo_trust — owner/repo → repository health + release cadence + bus-factor signal + repo-anchored trust sub-scores (popularity/maintenance), independent of any registry (params: owner*, repo*; 3 credits) - POST /enrich-package/v1/lockfile_scan — manifest/lockfile text → dependency list + each dep's vuln/risk summary via one batched vuln scan (BOUNDED: direct + lockfile-pinned deps, max 100; truncated:true when capped). package.json/lock, requirements.txt, go.sum/mod, Cargo.lock, Gemfile.lock (params: content*, filename, ecosystem; 5 credits) - POST /enrich-package/v1/batch — trust-score up to 10 packages in one call (basic depth, per-item ok/error) (params: items*; 2 credits) - [Generation API — create PDFs, social/OG images, charts, QR codes, barcodes (EAN/UPC/Code-128/ISBN), favicon bundles, WiFi-join QR, code-snippet images, vCard (.vcf) and iCal (.ics) files from templates, inline HTML/CSS, or a single parameter set (stateless: input → ready-to-use asset)](https://reefapi.com/docs/generate): 21 endpoints — Render a PDF from inline HTML/CSS (Jinja2) or a built-in template_name + data (invoice/receipt/certificate/report). WeasyPrint, fonts pinned, network-off. Output: inline base64 (≤8MB) or one-time download token. · full AI-ready doc: https://reefapi.com/docs/generate.md - POST /generate/v1/pdf_render — Render a PDF from inline HTML/CSS (Jinja2) or a built-in template_name + data (invoice/receipt/certificate/report). WeasyPrint, fonts pinned, network-off. Output: inline base64 (≤8MB) or one-time download token. (params: html, template_name, data, paper, filename, allow_hosts; 4 credits) - POST /generate/v1/pdf_from_html — Shortcut for rendering inline HTML directly to PDF — the same WeasyPrint engine as pdf_render; `html` is required. (params: html*, data, paper, filename, allow_hosts; 4 credits) - POST /generate/v1/pdf_from_url — Render a built-in or inline template to PDF, populating it with data fetched live from a JSON URL you supply. Useful when your invoice or report data lives at a public API endpoint — no manual copy-paste needed. (params: data_url*, template_name, html, data_path, paper, filename; 4 credits) - POST /generate/v1/og_image — Render a social / Open Graph card image (1200×630 default) from a built-in template or an inline layout spec. Supports automatic text-wrap and font scaling for long titles, colour gradients and badge overlays. (params: template_name, layout, vars, width, height, format, filename; 2 credits) - POST /generate/v1/image_from_template — Alias of og_image (explicit Bannerbear 'create image from template' naming). template_name + vars → PNG. (params: template_name*, vars, width, height, format, filename; 2 credits) - POST /generate/v1/image_from_url — Render an image template with `vars` fetched from a JSON URL (proxy, SSRF-validated). Data-driven banner generation. (params: data_url*, template_name, layout, data_path, width, height, format, filename; 2 credits) - POST /generate/v1/chart — Render a chart from a Chart.js-style spec — returns a PNG or SVG image. Supported chart types: bar, horizontal_bar, line, area, pie, doughnut, scatter and radar. Powered by a matplotlib backend. (params: spec*, format, filename; 1 credit) - POST /generate/v1/chart_types — List all supported chart types with a description of each. No input required. (params: none; 0 credit) - POST /generate/v1/batch_pdf — Render up to 20 PDFs in one call. `jobs` = array of pdf_render param objects. (params: jobs*; 4 credits) - POST /generate/v1/batch_image — Render up to 20 images in one call. `jobs` = array of og_image param objects. (params: jobs*; 2 credits) - POST /generate/v1/template_list — List built-in templates (PDF + image) with their data contracts. Stateless — there is NO stored-template management (create/upload/delete out of scope). (params: none; 0 credit) - POST /generate/v1/validate_html — Lint HTML/CSS for the PDF path WITHOUT rendering: flags remote resources that the SSRF-safe renderer will block, size, and tag-balance hints. Deterministic. (params: html*; 0 credit) - POST /generate/v1/health — Renderer diagnostics — which backends (WeasyPrint/Pillow/matplotlib) are loadable and their versions. No input. (params: none; 0 credit) - POST /generate/v1/qr — Generate a QR code (PNG or SVG) with custom fg/bg color, error-correction, and an OPTIONAL center logo fetched from logo_url (SSRF-guarded, via proxy). Use error_correction=h when embedding a logo so it stays scannable. (params: data*, format, error_correction, scale, border, color, background, logo_url, logo_size; 1 credit) - POST /generate/v1/barcode — Generate a 1D barcode IMAGE (PNG or SVG) from data: EAN-13/8, UPC-A, Code-128, Code-39, ISBN-10/13, ITF, GS1-128, JAN, PZN, Codabar. Check digits are validated — a wrong EAN/UPC/ISBN check digit returns a structured error, not a silent fix. (params: data*, type*, format, show_text, module_height, color, background; 1 credit) - POST /generate/v1/code_image — Render a syntax-highlighted code snippet as a PNG with a carbon/ray.so-style window frame. 500+ languages (Pygments), 40+ themes, optional line numbers. (params: code*, language, theme, window_style, line_numbers, font_size; 2 credits) - POST /generate/v1/favicon — Turn one source image into a complete favicon bundle: multi-resolution favicon.ico, a named PNG set (16→512 incl. apple-touch-icon + android-chrome), site.webmanifest, and the ready-to-paste snippet. Source from image_url (SSRF-guarded) or a base64 upload. (params: image_url, image_base64; 2 credits) - POST /generate/v1/vcard — Build a vCard (.vcf) contact file from contact fields (vCard 3.0 or 4.0). Returns the raw .vcf text + a base64 data-URI you can download or encode into a QR. (params: full_name, first_name, last_name, organization, title, phone, email, url, address, note, birthday, version, as_qr; 1 credit) - POST /generate/v1/ical — Build an iCalendar (.ics) event file from event fields (RFC 5545). Supports timed or all-day events, end-time or duration, location, description, organizer. Returns the raw .ics + a base64 data-URI. (params: summary*, start*, end, duration_minutes, location, description, url, organizer_email, uid, as_qr; 1 credit) - POST /generate/v1/wifi — Generate a WiFi-join QR code (PNG/SVG) from network credentials — scan to connect, no typing. Encodes the standard WIFI: payload (WPA/WEP/open, hidden networks). (params: ssid*, password, encryption, hidden, format, scale, error_correction; 1 credit) - POST /generate/v1/batch — Generate up to 50 small assets in one request. Items run independently — a bad item yields its own error entry, never fails the batch. NOTE: items that fetch a remote logo_url/image_url ARE supported and SSRF-guarded. (params: items*; 1 credit) - [GitHub Developer Data — official REST API profiles, repos, issues, pulls, commits, code search](https://reefapi.com/docs/github): 39 endpoints — GitHub user profile · full AI-ready doc: https://reefapi.com/docs/github.md - POST /github/v1/user — GitHub user profile (params: username*, anon_tier; 1 credit) - POST /github/v1/user_repos — repositories owned by a user (params: username*, type, sort, direction, page, per_page, cursor; 1 credit) - POST /github/v1/user_followers — followers for a user (params: username*, page, per_page, cursor; 1 credit) - POST /github/v1/user_following — accounts followed by a user (params: username*, page, per_page, cursor; 1 credit) - POST /github/v1/user_gists — public gists for a user (params: username*, page, per_page, cursor; 1 credit) - POST /github/v1/repo — repository metadata (params: owner*, repo*; 1 credit) - POST /github/v1/repo_issues — repository issues (params: owner*, repo*, state, since, sort, direction, page, per_page, cursor; 1 credit) - POST /github/v1/repo_pulls — repository pull requests (params: owner*, repo*, state, sort, direction, page, per_page, cursor; 1 credit) - POST /github/v1/repo_commits — repository commits (params: owner*, repo*, sha, path, author, since, until, page, per_page, cursor; 1 credit) - POST /github/v1/repo_contributors — repository contributors (params: owner*, repo*, anon, page, per_page, cursor; 1 credit) - POST /github/v1/repo_releases — repository releases (params: owner*, repo*, page, per_page, cursor; 1 credit) - POST /github/v1/repo_stargazers — recent stargazers of a repository (params: owner*, repo*, page, per_page; 1 credit) - POST /github/v1/repo_forks — repository forks (params: owner*, repo*, sort, page, per_page, cursor; 1 credit) - POST /github/v1/repo_languages — repository language byte counts (params: owner*, repo*; 0 credit) - POST /github/v1/repo_contents — repository content metadata for a path (params: owner*, repo*, path, ref; 1 credit) - POST /github/v1/repo_readme — repository README metadata/content URL (params: owner*, repo*, ref; 1 credit) - POST /github/v1/org — organization profile (params: org*; 1 credit) - POST /github/v1/org_repos — organization repositories (params: org*, type, sort, direction, page, per_page, cursor; 1 credit) - POST /github/v1/org_members — public organization members (params: org*, filter, role, page, per_page, cursor; 1 credit) - POST /github/v1/search_repos — search repositories (params: q*, sort, order, page, per_page; 2 credits) - POST /github/v1/search_users — search users (params: q*, sort, order, page, per_page; 2 credits) - POST /github/v1/search_code — search code (token required by GitHub) (params: q*, sort, order, page, per_page; 3 credits) - POST /github/v1/search_issues — search issues and pull requests (params: q*, sort, order, page, per_page; 2 credits) - POST /github/v1/search_topics — search GitHub topics (params: q*, page, per_page; 2 credits) - POST /github/v1/search_commits — search commits across GitHub (params: q*, sort, order, page, per_page; 2 credits) - POST /github/v1/repo_branches — repository branches (params: owner*, repo*, page, per_page, cursor; 1 credit) - POST /github/v1/repo_tags — repository tags (params: owner*, repo*, page, per_page, cursor; 1 credit) - POST /github/v1/repo_topics — repository topics (labels) (params: owner*, repo*; 0 credit) - POST /github/v1/issue_detail — single issue detail (params: owner*, repo*, number*; 1 credit) - POST /github/v1/issue_comments — comments on an issue or PR (params: owner*, repo*, number*, since, page, per_page, cursor; 1 credit) - POST /github/v1/pull_detail — single pull request detail (params: owner*, repo*, number*; 1 credit) - POST /github/v1/pull_reviews — reviews on a pull request (params: owner*, repo*, number*, page, per_page, cursor; 1 credit) - POST /github/v1/pull_files — files changed in a pull request (params: owner*, repo*, number*, page, per_page, cursor; 1 credit) - POST /github/v1/pull_commits — commits in a pull request (params: owner*, repo*, number*, page, per_page, cursor; 1 credit) - POST /github/v1/commit_detail — single commit detail with diff stats and changed files (params: owner*, repo*, sha*; 1 credit) - POST /github/v1/user_events — public activity events for a user (params: username*, page, per_page, cursor; 1 credit) - POST /github/v1/user_orgs — organizations a user belongs to (public) (params: username*, page, per_page, cursor; 1 credit) - POST /github/v1/user_starred — repositories a user has starred (params: username*, sort, direction, page, per_page, cursor; 1 credit) - POST /github/v1/rate_limit — current token/IP rate-limit status (params: none; 0 credit) - [MCP Server & Agent-Skill Registry API — discover, search and inspect Model Context Protocol (MCP) servers and agent skills across the Official MCP Registry, Glama and Smithery, with risk signals and trending](https://reefapi.com/docs/mcp-registry): 6 endpoints — Normalized cross-registry search over the Official MCP Registry, Glama and Smithery (and skills via GitHub). Dedups the same server across registries by canonical GitHub repo and returns cross-registry presence. · full AI-ready doc: https://reefapi.com/docs/mcp-registry.md - POST /mcp-registry/v1/search — Normalized cross-registry search over the Official MCP Registry, Glama and Smithery (and skills via GitHub). Dedups the same server across registries by canonical GitHub repo and returns cross-registry presence. (params: query*, type, source, sort, limit; 1 credit) - POST /mcp-registry/v1/server_detail — Full merged profile for one MCP server across every registry it appears in: manifest (tools/capabilities/transport), install paths (packages/remotes/connections), license, GitHub repo health, and cross-registry presence (how many registries list it = trust signal). (params: id*, repo_health; 1 credit) - POST /mcp-registry/v1/skill_detail — Metadata for one agent-skill repo (GitHub-backed). Fetches the repo + its SKILL.md frontmatter (name/description/license) + repo health. (params: id*; 1 credit) - POST /mcp-registry/v1/security_signals — HEURISTIC risk signals for an MCP server (NOT a safe/unsafe certification). Flags permission breadth (fs/network/exec), credential/env-var requests, repo health (archived/low-adoption), prompt-injection patterns in description/manifest, and corroboration (cross-registry presence). Always returns a disclaimer. (params: id*; 2 credits) - POST /mcp-registry/v1/trending — New / rising entries. MCP: most-used servers on Smithery + latest on the Official registry. Skills: recently-created GitHub skill repos. (params: type, limit; 1 credit) - POST /mcp-registry/v1/list_sources — The registries this engine aggregates, their roles, auth status and live reachability. Free. (params: none; 0 credit) - [Package Registries API — npm (Node.js) and PyPI (Python) metadata, version history, dependencies, download counts and keyword search (no API key required)](https://reefapi.com/docs/packages): 7 endpoints — full package metadata (latest version normalized) · full AI-ready doc: https://reefapi.com/docs/packages.md - POST /packages/v1/package — full package metadata (latest version normalized) (params: registry*, name*; 1 credit) - POST /packages/v1/versions — paginated version list for a package (params: registry*, name*, page, page_size; 1 credit) - POST /packages/v1/version — single version metadata (params: registry*, name*, version*; 1 credit) - POST /packages/v1/dependencies — runtime + dev dependencies for a version (latest if omitted) (params: registry*, name*, version; 1 credit) - POST /packages/v1/downloads — download statistics (npm: period=last-day|week|month|year; pypi: recent day/week/month) (params: registry*, name*, period; 1 credit) - POST /packages/v1/search — search packages (npm: registry API; pypi: libraries.io→HTML→ranked simple-index+enrich) (params: registry*, query*, page, page_size, from; 2 credits) - POST /packages/v1/maintainer — maintainer/author records for a package (params: registry*, name*; 1 credit) - [Passive OSINT & Recon API — passive subdomain discovery and a unified domain/IP recon report from certificate transparency logs, passive DNS, web archives, ASN/rDNS and threat blocklists (no active scanning)](https://reefapi.com/docs/passive-osint): 4 endpoints — Passive subdomain discovery across crt.sh + certspotter + OTX + hackertarget + Wayback, deduped, with a per-source matrix and an honest coverage note · full AI-ready doc: https://reefapi.com/docs/passive-osint.md - POST /passive-osint/v1/subdomains — Passive subdomain discovery across crt.sh + certspotter + OTX + hackertarget + Wayback, deduped, with a per-source matrix and an honest coverage note (params: domain*, sources; 2 credits) - POST /passive-osint/v1/domain — One-call unified passive report: subdomains + DNS summary + SSL summary + archive first/last-seen + threat blocklist flags, each section degrading independently (params: domain*, sources, include_pii; 3 credits) - POST /passive-osint/v1/ip — Passive IP enrichment: rDNS (PTR) + ASN/org/country (Team-Cymru + RDAP) + threat blocklist flags + shared-host neighbours (reverse-IP + OTX IPv4 passive-DNS) (params: ip*, include_pii; 1 credit) - POST /passive-osint/v1/batch — Compact passive report (subdomain count+list, DNS, threat, archive-first-seen) across up to 10 domains in one call (params: domains*; 3 credits) - [Product Hunt API scraper — daily/weekly/monthly leaderboards, product detail & reviews, launch comments, topic & category feeds, maker profiles, collections, and the discussions forum from producthunt.com (logged-out, no API key)](https://reefapi.com/docs/producthunt): 13 endpoints — Today's or historical leaderboard launches (daily/weekly/monthly/yearly). · full AI-ready doc: https://reefapi.com/docs/producthunt.md - POST /producthunt/v1/posts — Today's or historical leaderboard launches (daily/weekly/monthly/yearly). (params: date, year, month, day, week, period, page; 1 credit) - POST /producthunt/v1/post — Full launch/product detail by slug: tagline, description, website, makers, hunter, topics, media gallery, external links, review aggregates, alternatives, and launch history. (params: slug*; 1 credit) - POST /producthunt/v1/reviews — Product reviews by slug: per-question answer text, rating + rating histogram, pro/con tags, and the AI review summary. (params: slug*, page; 1 credit) - POST /producthunt/v1/topics — Browse Product Hunt topics (interest tags applied to launches). (params: page; 0 credit) - POST /producthunt/v1/topic_posts — Launches filtered by topic slug. (params: slug*, page; 1 credit) - POST /producthunt/v1/categories — Browse Product Hunt product categories (the curated category tree, distinct from topics). (params: page; 1 credit) - POST /producthunt/v1/category — Products and launches inside one product category by slug. (params: slug*, page; 1 credit) - POST /producthunt/v1/search — Keyword search across Product Hunt — products (default) or makers/users (type=users). (params: query*, type, page; 1 credit) - POST /producthunt/v1/collections — Public curated product collections index. (params: page; 1 credit) - POST /producthunt/v1/collection — Single collection (its products) by user+collection slug or full path. (params: path, username, collection_slug; 1 credit) - POST /producthunt/v1/user — Maker/user profile plus their submitted launches. (params: username*, page; 1 credit) - POST /producthunt/v1/discussions — Product Hunt discussions/forum thread feed (popular or newest). (params: order, page; 1 credit) - POST /producthunt/v1/discussion — Single discussion thread with its full nested comment tree. (params: slug*, forum, path; 1 credit) - [Stack Overflow API — Q&A data scraper: questions, answers, tags, users, badges, search](https://reefapi.com/docs/stackoverflow): 87 endpoints — Paginated questions by sort/tag; returns score, tags, body, owner/link attribution. · full AI-ready doc: https://reefapi.com/docs/stackoverflow.md - POST /stackoverflow/v1/questions — Paginated questions by sort/tag; returns score, tags, body, owner/link attribution. (params: site, sort, tag, tags, page, pagesize, filter; 1 credit) - POST /stackoverflow/v1/question — Single question by id plus paginated answers. (params: id*, site, page, pagesize, filter; 1 credit) - POST /stackoverflow/v1/answers — Answer details by id/ids, or recent answers when no id is supplied. (params: id, ids, site, sort, page, pagesize, filter; 1 credit) - POST /stackoverflow/v1/user — User profile by id/ids. (params: id*, site; 1 credit) - POST /stackoverflow/v1/user_questions — Paginated questions for a user. (params: id*, site, page, pagesize, sort, filter; 1 credit) - POST /stackoverflow/v1/user_answers — Paginated answers for a user. (params: id*, site, page, pagesize, sort, filter; 1 credit) - POST /stackoverflow/v1/user_tags — Paginated tag activity for a user. (params: id*, site, page, pagesize, sort; 1 credit) - POST /stackoverflow/v1/user_badges — Paginated badges for a user. (params: id*, site, page, pagesize, sort; 1 credit) - POST /stackoverflow/v1/search — Advanced full-text/tag search, paginated. (params: q*, site, tags, tagged, sort, page, pagesize, filter; 2 credits) - POST /stackoverflow/v1/tags — Paginated Stack Exchange tags. (params: site, sort, page, pagesize; 1 credit) - POST /stackoverflow/v1/tag_questions — Paginated questions for a tag. (params: tag*, site, sort, page, pagesize, filter; 1 credit) - POST /stackoverflow/v1/tag_info — Tag info by tag name. (params: tag*, site; 1 credit) - POST /stackoverflow/v1/comments — Paginated comments for post id/ids. (params: id*, site, page, pagesize, sort, filter; 1 credit) - POST /stackoverflow/v1/answer_comments — Comments left on one or more answers, by answer id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/answer_questions — The questions that the given answers belong to, by answer id. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/badges — All badges on the site, ranked bronze/silver/gold. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/badge — Badge details by badge id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/badge_name — Named badges (the ones with a fixed name, e.g. 'Nice Answer'). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/badge_recipients — Recently awarded badges across the site, with the users who earned them. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/badge_recipients_by_ids — Recent recipients of specific badges, by badge id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/badge_tags — Tag-based badges (badges earned for activity within a tag). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/collectives — All Stack Overflow Collectives (curated communities like 'Google Cloud'). (params: site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/collective — Details for a Collective by its slug. (params: slugs*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/collective_questions — Questions associated with a Collective. (params: slugs*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/collective_answers — Answers associated with a Collective. (params: slugs*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/collective_tags — Tags that belong to a Collective. (params: slugs*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/collective_users — Members of a Collective, by reputation. (params: slugs*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/comments_all — Recent comments across the whole site. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/comment — Comment details by comment id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/info — Site statistics: total questions, answers, users, badges, API revision. (params: site; 0 credit) - POST /stackoverflow/v1/posts — Recent posts (questions and answers together) across the site. (params: site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/post — Post details by id, whether it is a question or an answer. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/post_comments — Comments on a post (question or answer), by post id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/post_revisions — Edit history (revisions) of a post, by post id. (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/post_suggested_edits — Suggested edits submitted for a post, by post id. (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/privileges — The site privilege ladder (what each reputation level unlocks). (params: site, page, pagesize, order; 0 credit) - POST /stackoverflow/v1/question_answers — All answers to one or more questions, by question id. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/question_comments — Comments on a question, by question id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/question_linked — Questions that link to the given question(s). (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/question_related — Questions Stack Overflow considers related to the given question(s). (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/question_timeline — Full event timeline of a question (edits, answers, comments, votes, close/reopen). (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/questions_featured — Featured (bountied) questions on the site. (params: site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/questions_no_answers — Questions with zero answers (no answers at all). (params: site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/questions_unanswered — Questions the community considers unanswered (no accepted/upvoted answer). (params: site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/revisions — Revision details by revision guid. (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/search_simple — Title-only question search — find questions whose title contains given text. (params: intitle*, tag, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/similar — Find questions similar to a title (duplicate detection). (params: title*, tag, site, page, pagesize, order, sort, filter; 2 credits) - POST /stackoverflow/v1/search_excerpts — Full-text search returning highlighted match excerpts for questions and answers. (params: q*, tag, site, page, pagesize, order, sort; 2 credits) - POST /stackoverflow/v1/suggested_edits — Recent suggested edits across the site. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/suggested_edit — Suggested-edit details by id. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tags_moderator_only — Tags only moderators can apply. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tags_required — Tags that must be present on every question (where the site requires them). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tag_synonyms — All tag synonyms on the site (e.g. 'js' → 'javascript'). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tag_faq — The frequently-asked (FAQ) questions for a tag. (params: tags*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/tag_related — Tags that commonly appear together with the given tag. (params: tags*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tag_synonyms_by_tags — Synonyms that map to a specific tag. (params: tags*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/tag_top_answerers — Top answerers in a tag (the experts), all-time or last month. (params: tag*, site, page, pagesize, order, period; 1 credit) - POST /stackoverflow/v1/tag_top_askers — Top askers in a tag, all-time or last month. (params: tag*, site, page, pagesize, order, period; 1 credit) - POST /stackoverflow/v1/tag_wikis — The wiki/excerpt body that describes a tag. (params: tags*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/users — Site users, by reputation (the leaderboard). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/user_comments — Comments written by a user. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/user_comments_to_user — Comments a user directed at one specific other user. (params: ids*, toid*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/user_favorites — Questions a user bookmarked (favorited). (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_mentioned — Comments that @-mention a user. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/user_network_activity — A user's activity across the entire Stack Exchange network (all sites). (params: id*, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_posts — All posts (questions and answers) authored by a user. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_privileges — The privileges a user has unlocked at their reputation level. (params: id*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_questions_featured — A user's questions that currently carry a bounty (featured). (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_questions_no_answers — A user's questions that have no answers. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_questions_unaccepted — A user's questions that have answers but none accepted. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_questions_unanswered — A user's questions the community considers unanswered. (params: ids*, site, page, pagesize, order, sort, filter; 1 credit) - POST /stackoverflow/v1/user_reputation — A user's reputation changes (the rep events feed). (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_reputation_history — Public reputation history of a user (each gain/loss event). (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_suggested_edits — Suggested edits a user has submitted. (params: ids*, site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/user_top_answers_in_tags — A user's highest-scoring answers within specific tags. (params: id*, tags*, site, page, pagesize, order, filter; 1 credit) - POST /stackoverflow/v1/user_top_questions_in_tags — A user's highest-scoring questions within specific tags. (params: id*, tags*, site, page, pagesize, order, filter; 1 credit) - POST /stackoverflow/v1/user_timeline — A user's activity timeline (posts, comments, badges, rep events). (params: ids*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_top_answer_tags — The tags a user is strongest in by answer score. (params: id*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_top_question_tags — The tags a user is strongest in by question score. (params: id*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/user_top_tags — A user's top tags overall (combined question + answer activity). (params: id*, site, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/moderators — All moderators on the site. (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/elected_moderators — Moderators who were elected (excludes appointed/employee moderators). (params: site, page, pagesize, order, sort; 1 credit) - POST /stackoverflow/v1/errors — The catalog of Stack Exchange API error codes and their meanings. (params: page, pagesize, order; 0 credit) - POST /stackoverflow/v1/error — Simulate one Stack Exchange API error by its id (returns the error as if it occurred). (params: id*, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/sites — Every site in the Stack Exchange network (Stack Overflow, Server Fault, Super User, etc.). (params: page, pagesize, order, sort; 0 credit) - POST /stackoverflow/v1/associated_users — A user's accounts across all Stack Exchange sites (network accounts). (params: ids*, page, pagesize, order; 1 credit) - POST /stackoverflow/v1/merge_history — Account-merge history for a user id. (params: ids*, page, pagesize, order; 1 credit) - [Service Status & Incident API — live up/down status, incidents and per-component health for any vendor: auto-resolves and parses any status page (Statuspage, Instatus) plus AWS, GCP, Slack, Stripe and Azure](https://reefapi.com/docs/status-intel): 7 endpoints — Current OVERALL status for a vendor → normalized indicator (operational/degraded/partial_outage/major_outage/maintenance) + is_operational boolean + description. · full AI-ready doc: https://reefapi.com/docs/status-intel.md - POST /status-intel/v1/status — Current OVERALL status for a vendor → normalized indicator (operational/degraded/partial_outage/major_outage/maintenance) + is_operational boolean + description. (params: vendor*; 1 credit) - POST /status-intel/v1/incidents — Recent or active incidents for a vendor (title, impact, status, timeline of updates, affected components). active_only=true → just the ongoing ones. (params: vendor*, active_only, limit; 1 credit) - POST /status-intel/v1/components — Per-component (sub-service) health for a vendor — which specific products are degraded. (params: vendor*, limit; 1 credit) - POST /status-intel/v1/summary — Full one-call snapshot for a vendor: overall status + components + active incidents + scheduled maintenances (the whole status page in one normalized object). (params: vendor*; 1 credit) - POST /status-intel/v1/check_multi — THE dashboard call: give your stack as a list (keys / brands / domains / status hosts) → each is auto-resolved to its real status page and its LIVE status is returned, read from the SOURCE. 'Are any of my dependencies down right now?' Per-item errors never fail the whole call. (params: vendors*; 1 credit) - POST /status-intel/v1/batch — Alias of check_multi — overall status for a batch of vendors in one call (up to 25). (params: vendors*; 1 credit) - POST /status-intel/v1/list_vendors — The supported vendor set (key → name, kind, category, status host). Optionally filtered by category. Also lists explicitly-unsupported vendors (e.g. Azure) with the reason. (params: category; 1 credit) - [Threat Intelligence API — URL, domain and IP reputation from open threat feeds: URLHaus malware URLs, OpenPhish phishing feed, ThreatFox IOCs, Feodo botnet C2, SSLBL SSL blacklist, Spamhaus DROP hijacked netblocks and urlscan.io scan history (all keyless open sources, no API key required)](https://reefapi.com/docs/threat-intel): 5 endpoints — Is a URL malicious? Checks the URLHaus malware-URL feed + OpenPhish phishing feed (exact + variants) + its host across ThreatFox/URLHaus-hosts/Feodo/SSLBL + risk flags → verdict. · full AI-ready doc: https://reefapi.com/docs/threat-intel.md - POST /threat-intel/v1/url_check — Is a URL malicious? Checks the URLHaus malware-URL feed + OpenPhish phishing feed (exact + variants) + its host across ThreatFox/URLHaus-hosts/Feodo/SSLBL + risk flags → verdict. (params: url*; 1 credit) - POST /threat-intel/v1/domain_reputation — Domain reputation: URLHaus host listing + active malware URLs + OpenPhish phishing + ThreatFox domain IOCs + urlscan scan-history count + risk flags → consolidated verdict. (params: domain*; 1 credit) - POST /threat-intel/v1/ip_reputation — IP abuse signals: Feodo botnet-C2 + SSLBL botnet-C2 + ThreatFox IP IOCs + URLHaus IP-hosted malware + Spamhaus DROP hijacked-netblock → verdict + score (all keyless). (params: ip*; 1 credit) - POST /threat-intel/v1/scan_lookup — urlscan.io public scan history + per-scan verdict for a domain/IP (server, IP, country, TLS age, page title, malicious-flag). Open source — no key. (params: domain*, search_field, limit; 1 credit) - POST /threat-intel/v1/batch — Check up to 20 mixed indicators (URL/domain/IP, auto-routed) in one call. (params: targets*; 1 credit) - [Vulnerability & Dependency Intelligence API — OSV.dev package vulnerability lookup, GitHub Advisory (GHSA) search, CVE/GHSA detail with CVSS and EPSS scores, CISA Known Exploited Vulnerabilities (KEV) catalog, and batch scanning](https://reefapi.com/docs/vuln-intel): 7 endpoints — All known vulnerabilities affecting a package (by name+ecosystem, optionally pinned to an installed version) OR a git commit — via OSV.dev. The dependency-audit core. · full AI-ready doc: https://reefapi.com/docs/vuln-intel.md - POST /vuln-intel/v1/package_vulns — All known vulnerabilities affecting a package (by name+ecosystem, optionally pinned to an installed version) OR a git commit — via OSV.dev. The dependency-audit core. (params: package*, ecosystem*, version, commit; 1 credit) - POST /vuln-intel/v1/vuln_detail — Full detail for one vulnerability by OSV id, GHSA id, or CVE id. OSV is the base record; if it resolves to a GHSA the response is enriched with GitHub's numeric CVSS base score, EPSS exploitation probability, and CWEs. (params: id*; 1 credit) - POST /vuln-intel/v1/advisory_search — Search the GitHub Advisory Database (GHSA) by ecosystem, severity, CVE, free text, type. Cursor-paginated (meta.next_cursor). (params: ecosystem, severity, cve_id, query, type, sort, direction, per_page, cursor; 1 credit) - POST /vuln-intel/v1/kev_check — Is a CVE in the CISA Known-Exploited-Vulnerabilities catalog (actively exploited in the wild)? Returns the KEV entry when listed. (params: cve_id*; 1 credit) - POST /vuln-intel/v1/kev_list — Browse / filter the full CISA KEV catalog by vendor, product, or ransomware flag, with page pagination. (params: vendor, product, ransomware, page, per_page; 1 credit) - POST /vuln-intel/v1/exploits — Public exploit / PoC lookup for a CVE via the Exploit-DB (Offensive Security) database (keyless, CVE-indexed). Answers 'is there a weaponized public exploit?' — has_public_exploit + each entry's edb_id, type (remote/local/webapps/dos), platform, verified flag, date_published, and deep links (exploit_db_url + upstream source_url). (params: cve_id*, verified_only; 1 credit) - POST /vuln-intel/v1/batch — Bulk-scan up to 100 package/commit queries in one call (OSV querybatch), each hydrated to full vulnerability detail by default. (params: queries*, hydrate; 1 credit) - [Web Archive API — historical website snapshots from the Wayback Machine and Common Crawl: capture index, closest snapshot, first/last-seen history and domain-wide captures](https://reefapi.com/docs/web-archive): 7 endpoints — All Wayback captures for a URL (timestamp, status, mimetype, digest, archival size, snapshot_url), date/status/mime filtered, collapsible, RESUME-KEY PAGINATED. · full AI-ready doc: https://reefapi.com/docs/web-archive.md - POST /web-archive/v1/snapshots — All Wayback captures for a URL (timestamp, status, mimetype, digest, archival size, snapshot_url), date/status/mime filtered, collapsible, RESUME-KEY PAGINATED. (params: url*, from, to, limit, collapse, match, status, mime, filter, resume_key; 1 credit) - POST /web-archive/v1/available — Closest single Wayback snapshot to a given date (or the latest). Fast existence check. (params: url*, timestamp; 1 credit) - POST /web-archive/v1/history — Lifespan + capture cadence for a URL: EXACT first_seen/last_seen + span, plus per-year capture counts and status/mime breakdown — the SEO/due-diligence summary. (params: url*, from, to, match; 1 credit) - POST /web-archive/v1/domain_captures — All archived URLs under a domain (the domain + its subdomains), one row per unique URL — the 'every page this site ever had' view. Resume-key paginated. (params: url*, from, to, limit, status, mime, filter, resume_key; 1 credit) - POST /web-archive/v1/batch — Closest-snapshot existence + capture-count for up to 20 URLs in one call (bulk archival presence — competitor/portfolio sweeps). (params: urls*, timestamp; 1 credit) - POST /web-archive/v1/cc_search — Common Crawl index lookup for a URL — alternate/broader coverage with richer fields (detected language, encoding, WARC offset/filename). Cross-source corroboration. (params: url*, collection, match, limit, from, to, filter; 1 credit) - POST /web-archive/v1/cc_indexes — List the available Common Crawl monthly indexes (id, name, date range) — pick a collection for cc_search. (params: none; 1 credit) - [Web Extract API — any URL to markdown, text, HTML, metadata, links, structured data (JSON-LD), site map, crawl, and deterministic extract. Security-guarded, no-key.](https://reefapi.com/docs/web-extract): 5 endpoints — Fetch one URL and return its content in the formats you choose (markdown, plain text, cleaned HTML, raw HTML, metadata, links, images, or structured JSON-LD data). Automatically upgrades thin single-page-app pages to a full browser render when needed. Works on any public page — news articles, product pages, documentation, blogs. · full AI-ready doc: https://reefapi.com/docs/web-extract.md - POST /web-extract/v1/scrape — Fetch one URL and return its content in the formats you choose (markdown, plain text, cleaned HTML, raw HTML, metadata, links, images, or structured JSON-LD data). Automatically upgrades thin single-page-app pages to a full browser render when needed. Works on any public page — news articles, product pages, documentation, blogs. (params: url*, formats, render, only_main_content, include_tags, exclude_tags, target_selector; 1 credit) - POST /web-extract/v1/map — Discover a site's complete URL surface: reads robots.txt, sitemap.xml (and sitemap indexes), and the homepage's internal links — returns a deduplicated URL list with a page-type label for each (home, pricing, docs, blog, product, legal, contact, about). Use this to index any site or audit its structure. (params: url*, search, limit, include_subdomains; 2 credits) - POST /web-extract/v1/crawl — Crawl a site starting from a seed URL (up to 25 pages): follows internal links breadth-first with configurable depth, include/exclude URL patterns, and returns every visited page in the formats you choose. Ideal for content indexing, site audits, and building knowledge bases from documentation or blog sites. (params: url*, max_pages, max_depth, same_domain_only, include_patterns, exclude_patterns, formats; 1 credit) - POST /web-extract/v1/extract — Pull structured data from any public page: returns JSON-LD objects (Product, Article, Organization, etc.), microdata presence, parsed table rows, heading outline, prices, emails, and phone numbers. Supply an optional field-to-path schema to extract specific values directly — great for e-commerce pricing, article metadata, and business listings. (params: url*, schema, deterministic_only; 2 credits) - POST /web-extract/v1/batch — Scrape up to 10 URLs concurrently in one call (each SSRF-guarded). Shared formats. Firecrawl /batch-scrape parity (bounded). (params: urls*, formats, only_main_content, timeout; 1 credit) ## Government & Tenders - [SAM.gov API — every US federal contract opportunity in clean JSON: solicitations, RFPs, sources-sought and award notices with the full solicitation text, the response deadline, the contracting office, the contracting officer's published contact details, NAICS/PSC codes and the attachment list. No api_key, no registration.](https://reefapi.com/docs/sam-gov): 3 endpoints — Search every US federal contract opportunity by phrase — the demand side of a $700bn/year buyer. Each hit carries the response deadline, the buying department and office, the notice type (is this a heads-up, a live RFP, or an award?) and a 250-character preview of the solicitation text. Pair with `active_only=true` for things you can still bid on, or with notice type 'a' to see who won what. · full AI-ready doc: https://reefapi.com/docs/sam-gov.md - POST /sam-gov/v1/search — Search every US federal contract opportunity by phrase — the demand side of a $700bn/year buyer. Each hit carries the response deadline, the buying department and office, the notice type (is this a heads-up, a live RFP, or an award?) and a 250-character preview of the solicitation text. Pair with `active_only=true` for things you can still bid on, or with notice type 'a' to see who won what. (params: q*, phrase, active_only, notice_types, published_within_days, sort, limit, offset; 1 credit) - POST /sam-gov/v1/opportunity — One notice in full: the COMPLETE solicitation text (search only ever returns the first 250 characters), the response deadline with its timezone, the set-aside type, NAICS and PSC classification, place of performance, and the contracting officer's name, e-mail and phone as published on the notice. (params: id*; 1 credit) - POST /sam-gov/v1/attachments — The documents attached to a notice — the statement of work, the pricing sheet, the Q&A, the amendment. Returns each file's name, MIME type, size, posting date and a direct public download URL. The real requirement usually lives in these PDFs, not in the notice body. (params: id*; 1 credit) - [UK public-tender API — every contract opportunity and award published by a UK public body on Contracts Finder (central government, NHS, councils, universities) in clean JSON: full notice text, response deadline, contract value, winning supplier, contract start/end dates, CPV codes and the buyer's published contact. No api_key.](https://reefapi.com/docs/uk-tenders): 2 endpoints — Search UK public-sector contract notices by phrase, status, value, deadline, CPV code and publication date. Every hit already carries the FULL notice text (no second call), plus the money: the published value range for live tenders, and the winning supplier, the awarded amount and the contract end date for awards. · full AI-ready doc: https://reefapi.com/docs/uk-tenders.md - POST /uk-tenders/v1/search — Search UK public-sector contract notices by phrase, status, value, deadline, CPV code and publication date. Every hit already carries the FULL notice text (no second call), plus the money: the published value range for live tenders, and the winning supplier, the awarded amount and the contract end date for awards. (params: q*, phrase, statuses, notice_types, published_from, published_to, published_within_days, deadline_from, min_value, cpv_codes, sort, limit; 1 credit) - POST /uk-tenders/v1/notice — One notice in full by id: the buyer's published contact details (name, e-mail, phone, address), the 'how to respond' instructions with the portal link, the procedure type, the number of times the notice has been viewed (a competition signal), and the complete award block — every winning supplier with their address, the amount and the contract start and end dates. None of this is in the search response. (params: id*; 1 credit) ## Reference - [Documentation](https://reefapi.com/docs): quickstart, authentication, credits, rate limits, error codes - [Pricing](https://reefapi.com/pricing): one credit pool; 1,000 free credits to start, no card - [MCP server](https://reefapi.com/mcp): connect ChatGPT / Claude / Cursor at https://api.reefapi.com/mcp (remote streamable-http; Bearer API key) ## How ReefAPI compares to other providers Side-by-side pages with published prices on both sides and findings from our own live calls, including where the competitor is the better choice: - DataForSEO (task-based SEO and SERP data API stack): https://reefapi.com/compare/dataforseo-alternative - Bright Data (proxy network and web-data platform): https://reefapi.com/compare/bright-data-alternative - SerpApi (real-time SERP scraping API): https://reefapi.com/compare/serpapi-alternative - ScraperAPI (proxy and rendering scraping API): https://reefapi.com/compare/scraperapi-alternative - ScrapingBee (HTML and rendering scraping API): https://reefapi.com/compare/scrapingbee-alternative - ZenRows (anti-bot scraping toolkit): https://reefapi.com/compare/zenrows-alternative - Firecrawl (URL-to-markdown crawler and extraction API for LLM pipelines): https://reefapi.com/compare/firecrawl-alternative - Apify (actor marketplace and scraping-compute platform): https://reefapi.com/compare/apify-alternative - Oxylabs (proxy networks and Web Scraper API): https://reefapi.com/compare/oxylabs-alternative - Zyte (all-in-one web scraping API): https://reefapi.com/compare/zyte-alternative - Octoparse (no-code visual scraper): https://reefapi.com/compare/octoparse-alternative - ParseHub (no-code point-and-click scraper): https://reefapi.com/compare/parsehub-alternative - Diffbot (automatic AI extraction and knowledge graph): https://reefapi.com/compare/diffbot-alternative