ReefAPI REST API

POST-based REST/JSON API fronting a catalog of web-data engines. Auth via x-api-key header; uniform {ok,data,meta,error} response envelope with stable error codes. Declared OpenAPI contract and RFC 9727 API Catalog.

Operations 1528

Showing the first 250 of 1528. The full set is in the contract, and via get_provider_operations.

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 #
POST /academic/v1/citations papers that cite this work (cursor-paginated) #
POST /academic/v1/references works this paper references (hydrated) #
POST /academic/v1/author author search (query) or profile (id): works_count, h-index, affiliations; include_works for top papers #
POST /academic/v1/institution institution search/profile: ROR, country, geo, works/citation counts, h-index; include_works for the org's papers #
POST /academic/v1/venue journal/venue search/profile: ISSN, publisher, OA/DOAJ, h-index, works/citation counts; include_works for the venue's papers #
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) #
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) #
POST /academic/v1/autocomplete fast typeahead suggestions (works/authors/sources/institutions) #
POST /academic/v1/batch hydrate up to 200 papers by id/DOI in one call (RAG/ETL) #
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/arch #
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). #
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 confid #
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 #
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 #
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 of #
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 h #
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 ci #
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, importan #
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 #
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 an #
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, desc #
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. #
POST /airbnb/v1/stays.reviews Listing reviews, paginated via offset/limit. #
POST /airbnb/v1/stays.availability_calendar Availability calendar for a listing (up to 12 months ahead): per-day availability + min/max nights. #
POST /airbnb/v1/properties.search Alias of stays.search. #
POST /airbnb/v1/properties.detail Alias of stays.detail. #
POST /airbnb/v1/autocomplete Location autocomplete suggestions (raw passthrough). #
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 #
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 publi #
POST /aliexpress/v1/reviews Buyer reviews (paginated — fetch many pages in one call) + rating distribution #
POST /aliexpress/v1/similar Products similar to a given item (search-backed 'more like this', seed product excluded), paginated #
POST /aliexpress/v1/description Full product description text + images #
POST /aliexpress/v1/shipping Shipping options per destination country #
POST /aliexpress/v1/store_info Store profile (+ live seller metrics when a query is supplied) #
POST /aliexpress/v1/deals SuperDeals / discounted cards (search-derived, sorted by discount) #
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 pagi #
POST /allegro/v1/offer Single Allegro offer/product detail by id or URL — title, price (PLN), main image and gallery, seller handle, and description. #
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). #
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. #
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 #
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, rati #
POST /amazon/v1/product/offers pinned buybox + all-offers (AOD aodAjaxMain): price/seller/condition/ships_from/delivery/prime, by ASIN #
POST /amazon/v1/products_batch Look up MANY Amazon products in ONE call by ASIN — up to 15 per request → each product's title, current price and currency, star rating with review count, image, and any clippable #
POST /amazon/v1/bestsellers best-sellers ranking for a department (category slug required) #
POST /amazon/v1/new-releases new-releases ranking for a department (category slug required) #
POST /amazon/v1/seller/profile seller profile (name, feedback %, lifetime ratings, rating) #
POST /amazon/v1/autocomplete search autocomplete suggestions #
POST /amazon/v1/seller/products a seller's catalog/storefront by seller_id (paginated) #
POST /amazon/v1/seller/reviews seller FEEDBACK reviews (rating/text/rater/date) by seller_id #
POST /amazon/v1/deals Amazon deal-products (today's deals / goldbox): asin/title/price/image #
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 Amazo #
POST /app-store/v1/reviews unified Apple + Play reviews for one or more apps #
POST /app-store/v1/topCharts ranked chart/category apps #
POST /app-store/v1/listCategories static genre/category list #
POST /app-store/v1/appDetails full app profile #
POST /app-store/v1/developerApps every other app published by the same developer #
POST /app-store/v1/similarApps related / similar apps for an app #
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. #
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. #
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. #
POST /asos/v1/product full product detail (sizes/stock/description/images) by product_id or product_url #
POST /asos/v1/products batch product detail for comma-separated product_ids #
POST /asos/v1/navigation category links from gender landing pages; format=tree returns nested path hierarchy #
POST /asos/v1/reviews product reviews + rating summary from PDP embedded ratings blob (paginated) #
POST /asos/v1/similar related products via same-brand search fallback (true mightLike API is account-gated) #
POST /asos/v1/filters available search/category facets (brands, colours, sizes, price ranges) #
POST /asos/v1/suggestions search autocomplete suggestions for partial query #
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 #
POST /ats-jobs/v1/job_detail one fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`. #
POST /ats-jobs/v1/providers the supported ATS providers + their capabilities #
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; a #
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 #
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 bu #
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 `gro #
POST /autoscout24/v1/listing Full listing detail by url/path or id (description, prices, vehicle, images, seller, leasing, warranty) #
POST /autoscout24/v1/makes Vehicle makes taxonomy from search hub page #
POST /autoscout24/v1/models Models taxonomy for a make (query-param filters — path-segment /lst/make/model returns 404) #
POST /autoscout24/v1/filter_options Available filter dimensions (fuel, body, transmission, etc.) from taxonomy blob #
POST /autoscout24/v1/seller_listings Listings for a dealer/private seller by customer id (cid) #
POST /autotrader/v1/listing_detail Full advert (price+priceIndicator+deviation, mileage, full spec [fuel/trans/body/doors/seats/engine], description, images[], dealer+reviews+address) #
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, #
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. #
POST /barcode/v1/by_brand All products for a brand/manufacturer → product cards with pagination. (Competitor: brand + manufacturer search.) #
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.) #
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 m #
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 he #
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 offe #
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 specification #
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 #
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 #
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. #
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). #
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. #
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, feat #
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 #
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 vo #
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 t #
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 (Bra #
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). #
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 descr #
POST /bing/v1/autocomplete Bing search autocomplete — query suggestions / typeahead from Bing's public suggest endpoint — fast and cheap. Useful for keyword research. #
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_para #
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 #
POST /bluesky/v1/search_actors search users by name/handle/bio (cursor); typeahead=true for fast suggest #
POST /bluesky/v1/thread a post + its reply tree (recursive) + parent #
POST /bluesky/v1/post_detail hydrate one or more posts by at:// URI (<=25): record/embed/like+repost+reply+quote counts #
POST /bluesky/v1/likes actors who liked a post (cursor); cid auto-used if given #
POST /bluesky/v1/reposts actors who reposted a post (cursor) #
POST /bluesky/v1/followers actors following the subject (cursor) #
POST /bluesky/v1/follows actors the subject follows (cursor) #
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. #
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). #
POST /bluesky/v1/lists The curated/moderation lists an account CREATED (user-curated lists + mute/block mod-lists), cursor-paginated. #
POST /bluesky/v1/list A single list's metadata plus its MEMBERS (the accounts on the list), members cursor-paginated. #
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. #
POST /bluesky/v1/actor_feeds The custom feed generators an account CREATED (its published feeds), cursor-paginated. #
POST /bluesky/v1/feed_generator One custom feed generator's metadata plus its live online/valid status (is the feed service up). #
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. #
POST /bluesky/v1/starter_packs The starter packs an account CREATED (shareable onboarding bundles of accounts + feeds), cursor-paginated. #
POST /bluesky/v1/starter_pack One starter pack's full detail: its underlying list, sample member profiles and any bundled feeds. #
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 configure #
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. #
POST /bluesky/v1/timeline the authenticated account's home timeline (authed) #
POST /booking/v1/hotels/detail Full hotel record: summary, rating breakdown, facilities, room types, surroundings, FAQ. #
POST /booking/v1/hotels/availability Visible room blocks (room, occupancy, price, cancellation policy, meal plan) for a destination's top hotel on given dates. #
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; support #
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 ea #
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+distributio #
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 #
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 #
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 eboo #
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 cov #
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; #
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, SIZ #
POST /car-rental/v1/cars/autocomplete resolve a location string (`query`) → place/city/country IDs (for cars/search) #
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/co #
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_descri #
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(te #
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) + c #
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 #
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. #
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 #
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, s #
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, driv #
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). #
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 wi #
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 (averag #
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 ( #
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 #
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 #
POST /currency/v1/latest latest reference rates for a base (default EUR) → all or selected target currencies (+ unix timestamp) #
POST /currency/v1/convert convert an amount from→to at the latest rate (or a given historical date); returns rate + result #
POST /currency/v1/historical reference rates on a past date (YYYY-MM-DD; weekend/holiday → last working day) since 1999-01-04 #
POST /currency/v1/timeseries rates over a date range (working days) for a base → selected/all targets; {date:{CUR:val}} #
POST /currency/v1/fluctuation per-currency change over a date range: {CUR:{start_rate,end_rate,change,change_pct}} (derived from the range endpoints) #
POST /currency/v1/currencies the current ECB reference currency set (code → name) #
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 origina #
POST /dev-utils/v1/hash Hash/checksum text or binary (base64/hex) input: md5…sha3·blake2·crc32·adler32, optional HMAC keying → hex + base64 digests. #
POST /dev-utils/v1/uuid Generate ids: uuid v4/v7/v1(MAC-safe)/v3/v5, ULID, nanoid — up to 100. #
POST /dev-utils/v1/encode Encode/decode: base64(+url-safe), hex, URL (path/component/form), HTML entities, unicode-escape, json-string. #
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. #
POST /dev-utils/v1/password Generate cryptographically-secure passwords (charset controls, ambiguity filter) + entropy strength score; or score a provided password with `check`. #
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). #
POST /dev-utils/v1/slugify URL-safe slug from any-script text (CJK/Cyrillic/Arabic → ASCII via anyascii transliteration). #
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. #
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). #
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 #
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. #
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. #
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. #
POST /dev-utils/v1/text_diff Unified diff between two texts + change stats + similarity ratio. #
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. #
POST /dev-utils/v1/timestamp Parse/convert any timestamp ('now', unix s/ms/µs, ISO-8601, RFC-2822) → every format + timezone conversion + relative time. #
POST /dev-utils/v1/case_convert Convert identifier/text casing: camel·pascal·snake·kebab·constant·dot·title·sentence·upper·lower (+ detected input case). #
POST /dev-utils/v1/base_convert Convert integers between bases 2-36 (arbitrary precision; 0x/0b/0o prefixes accepted). #
POST /dev-utils/v1/markdown Render CommonMark+tables markdown → sanitized HTML (raw HTML escaped, XSS-safe) + heading TOC with slugs. #
POST /dev-utils/v1/user_agent Parse a User-Agent string → browser/OS/device families + versions + bot flag (uap-core database). #
POST /dev-utils/v1/batch Run up to 100 mixed dev-utils calls in one request. #
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. #
POST /domain-availability/v1/bulk_check One NAME across many TLDs → availability map (which of name.com/.io/.ai/… are free). #
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 poi #
POST /domain-availability/v1/suggest Name variations (prefix/suffix/TLD permutations, deterministic — no LLM) each with a live availability verdict; available ones surfaced first. #
POST /domain-availability/v1/batch Many DIFFERENT full domains in one call → availability for each (bulk check). #
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-onl #
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. #
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 c #
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 #
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 prese #
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. #
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). #
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. #
POST /domain-intel/v1/tld_list The IANA list of all delegated top-level domains (optionally substring-filtered). #
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). #
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.Metri #
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. #
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, exp #
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). #
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, Aftern #
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 — #
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). #
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 — i #
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 #
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 #
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', 'e #
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 #
POST /ebay/v1/items_batch Look up MANY eBay listings in ONE call by item number — up to 15 per request → the same full record `item_detail` returns for each one (title, price, condition, brand/model/MPN, im #
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}. #
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, #
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 t #
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 ca #
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, #
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 partn #
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 subj #
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 var #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/reefapi-rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

reefapi-openapi.json Raw ↑
{"openapi":"3.0.3","info":{"title":"ReefAPI","version":"1.0.0","description":"Unified data-API gateway. Call POST /{engine}/v1/{action} with an x-api-key header; every response is the { ok, data, meta, error } envelope."},"servers":[{"url":"https://api.reefapi.com"}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Reputation & Reviews"},{"name":"Jobs & Hiring"},{"name":"Real Estate"},{"name":"E-commerce & Marketplaces"},{"name":"Social Media"},{"name":"Travel & Lodging"},{"name":"Search & SEO"},{"name":"Finance & Data"},{"name":"Media, Film & Knowledge"},{"name":"Utilities & AI"},{"name":"Developer Tools"},{"name":"Government & Tenders"},{"name":"Classifieds & Second-hand"}],"paths":{"/academic/v1/search":{"post":{"operationId":"academic_search","summary":"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)","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"source":{"type":"string"},"per_page":{"type":"string"},"cursor":{"type":"string"},"filter":{"type":"string"},"sort":{"type":"string"},"from_year":{"type":"string"},"to_year":{"type":"string"},"open_access":{"type":"string"},"type":{"type":"string"},"match":{"type":"string"},"category":{"type":"string"},"include_abstract":{"type":"string"},"fulltext":{"type":"string"},"author_id":{"type":"string"},"venue_id":{"type":"string"},"institution_id":{"type":"string"},"concept_id":{"type":"string"},"topic_id":{"type":"string"}},"required":["query"]},"example":{"query":"covid"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/paper_detail":{"post":{"operationId":"academic_paper_detail","summary":"full paper (abstract/authors/affiliations/venue/year/DOI/OA-PDF/fields); id=OpenAlex|DOI|arXiv|PMID; cross-source abstract gap-fill","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"enrich":{"type":"string"},"raw":{"type":"string"},"fill_abstract":{"type":"string"}},"required":["id"]},"example":{"id":"W3177828909"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/citations":{"post":{"operationId":"academic_citations","summary":"papers that cite this work (cursor-paginated)","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"per_page":{"type":"string"},"cursor":{"type":"string"}},"required":["id"]},"example":{"id":"W3009885589"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/references":{"post":{"operationId":"academic_references","summary":"works this paper references (hydrated)","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"limit":{"type":"string"}},"required":["id"]},"example":{"id":"W3009885589"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/related":{"post":{"operationId":"academic_related","summary":"OpenAlex-curated related works for a paper (co-cited / topically-adjacent), hydrated","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"limit":{"type":"string"}},"required":["id"]},"example":{"id":"W3177828909"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/author":{"post":{"operationId":"academic_author","summary":"author search (query) or profile (id): works_count, h-index, affiliations; include_works for top papers","tags":["Media, Film & Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"query":{"type":"string"},"include_works":{"type":"string"},"works_limit":{"type":"string"},"per_page":{"type":"string"}}},"example":{"query":"yoshua bengio"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/institution":{"post":{"operationId":"academic_institution","summary":"institution search/profile: ROR, country, geo, works/citation counts, h-index; include_works for the org's papers","tags":["Media, Film & Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"query":{"type":"string"},"per_page":{"type":"string"},"include_works":{"type":"string"},"works_limit":{"type":"string"}}},"example":{"query":"stanford"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/venue":{"post":{"operationId":"academic_venue","summary":"journal/venue search/profile: ISSN, publisher, OA/DOAJ, h-index, works/citation counts; include_works for the venue's papers","tags":["Media, Film & Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"query":{"type":"string"},"per_page":{"type":"string"},"include_works":{"type":"string"},"works_limit":{"type":"string"}}},"example":{"query":"nature"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/concept":{"post":{"operationId":"academic_concept","summary":"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","tags":["Media, Film & Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"query":{"type":"string"},"per_page":{"type":"string"},"include_works":{"type":"string"},"works_limit":{"type":"string"}}},"example":{"query":"machine learning"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/topic":{"post":{"operationId":"academic_topic","summary":"topic search (query) or profile (id): domain>field>subfield hierarchy, keywords, siblings, works/citation counts; include_works for papers (the live replacement for Concepts)","tags":["Media, Film & Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"query":{"type":"string"},"per_page":{"type":"string"},"include_works":{"type":"string"},"works_limit":{"type":"string"}}},"example":{"query":"protein folding"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/autocomplete":{"post":{"operationId":"academic_autocomplete","summary":"fast typeahead suggestions (works/authors/sources/institutions)","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"q":{"type":"string"},"entity":{"type":"string"}},"required":["q"]},"example":{"q":"deep learn"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/academic/v1/batch":{"post":{"operationId":"academic_batch","summary":"hydrate up to 200 papers by id/DOI in one call (RAG/ETL)","tags":["Media, Film & Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ids":{"type":"string"},"include_abstract":{"type":"string"},"limit":{"type":"string"}},"required":["ids"]}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/source_url":{"post":{"operationId":"agent_source_source_url","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"check_archive":{"type":"string"},"official_for":{"type":"string"}},"required":["url"]},"example":{"url":"https://openai.com/api/pricing/","official_for":"openai"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/official_source":{"post":{"operationId":"agent_source_official_source","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity":{"type":"string"},"need_type":{"type":"string"},"verify":{"type":"string"}},"required":["entity"]},"example":{"entity":"OpenAI","need_type":"pricing"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/verify_claim":{"post":{"operationId":"agent_source_verify_claim","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"claim":{"type":"string"},"url":{"type":"string"},"urls":{"type":"string"}},"required":["claim","url"]},"example":{"claim":"Claude Opus 4.5 costs $5 per million input tokens","url":"https://docs.claude.com/en/docs/about-claude/pricing"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/pricing_lookup":{"post":{"operationId":"agent_source_pricing_lookup","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"},"model":{"type":"string"},"limit":{"type":"string"}},"required":["provider"]},"example":{"provider":"openrouter","model":"claude"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/pricing_compare":{"post":{"operationId":"agent_source_pricing_compare","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"providers":{"type":"string"},"model":{"type":"string"}},"required":["providers"]}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agent-source/v1/providers":{"post":{"operationId":"agent_source_providers","summary":"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.","tags":["Utilities & AI"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string"}}}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agoda/v1/destinations":{"post":{"operationId":"agoda_destinations","summary":"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.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"language":{"type":"string"}},"required":["query"]},"example":{"query":"Bangkok"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agoda/v1/city_browse":{"post":{"operationId":"agoda_city_browse","summary":"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.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"city_id":{"type":"string"},"language":{"type":"string"}},"required":["city_id"]},"example":{"city_id":9395}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agoda/v1/detail":{"post":{"operationId":"agoda_detail","summary":"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.","tags":["Travel & Lodging"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"hotel_id":{"type":"string"},"url":{"type":"string"},"language":{"type":"string"}}},"example":{"hotel_id":294217}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/agoda/v1/reviews":{"post":{"operationId":"agoda_reviews","summary":"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.","tags":["Travel & Lodging"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"hotel_id":{"type":"string"},"url":{"type":"string"},"page":{"type":"string"},"sort_by":{"type":"string"},"language":{"type":"string"}}},"example":{"hotel_id":294217}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/stays.search":{"post":{"operationId":"airbnb_stays.search","summary":"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).","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"checkin":{"type":"string"},"checkout":{"type":"string"},"adults":{"type":"string"},"children":{"type":"string"},"infants":{"type":"string"},"price_min":{"type":"string"},"price_max":{"type":"string"},"room_type":{"type":"string"},"property_type":{"type":"string"},"min_bedrooms":{"type":"string"},"min_beds":{"type":"string"},"min_bathrooms":{"type":"string"},"amenities":{"type":"string"},"host_languages":{"type":"string"},"instant_book":{"type":"string"},"superhost":{"type":"string"},"free_cancellation":{"type":"string"},"pets_allowed":{"type":"string"},"cursor":{"type":"string"},"currency":{"type":"string"},"locale":{"type":"string"}},"required":["query"]},"example":{"query":"Istanbul, Turkey","checkin":"2026-09-21","checkout":"2026-09-26","adults":2}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/stays.detail":{"post":{"operationId":"airbnb_stays.detail","summary":"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.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing_id":{"type":"string"},"currency":{"type":"string"},"locale":{"type":"string"}},"required":["listing_id"]},"example":{"listing_id":"1408102095235129361"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/host.profile":{"post":{"operationId":"airbnb_host.profile","summary":"Host profile for a listing: host name, Superhost/verified status, overall host rating, total reviews, years hosting, response rate and host highlights.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing_id":{"type":"string"}},"required":["listing_id"]},"example":{"listing_id":"1408102095235129361"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/stays.reviews":{"post":{"operationId":"airbnb_stays.reviews","summary":"Listing reviews, paginated via offset/limit.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing_id":{"type":"string"},"offset":{"type":"string"},"limit":{"type":"string"},"locale":{"type":"string"}},"required":["listing_id"]},"example":{"listing_id":"1408102095235129361"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/stays.availability_calendar":{"post":{"operationId":"airbnb_stays.availability_calendar","summary":"Availability calendar for a listing (up to 12 months ahead): per-day availability + min/max nights.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing_id":{"type":"string"}},"required":["listing_id"]},"example":{"listing_id":"1408102095235129361","month_count":3}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/properties.search":{"post":{"operationId":"airbnb_properties.search","summary":"Alias of stays.search.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"checkin":{"type":"string"},"checkout":{"type":"string"},"adults":{"type":"string"},"cursor":{"type":"string"},"currency":{"type":"string"},"locale":{"type":"string"}},"required":["query"]},"example":{"query":"Istanbul, Turkey"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/properties.detail":{"post":{"operationId":"airbnb_properties.detail","summary":"Alias of stays.detail.","tags":["Travel & Lodging"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listing_id":{"type":"string"},"currency":{"type":"string"},"locale":{"type":"string"}},"required":["listing_id"]},"example":{"listing_id":"1408102095235129361"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/airbnb/v1/autocomplete":{"post":{"operationId":"airbnb_autocomplete","summary":"Location autocomplete suggestions (raw passthrough).","tags":["Travel & Lodging"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/alibaba/v1/search":{"post":{"operationId":"alibaba_search","summary":"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","tags":["Other"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"page":{"type":"string"},"sort":{"type":"string"},"min_price":{"type":"string"},"max_price":{"type":"string"},"min_order":{"type":"string"},"max_order":{"type":"string"},"supplier_country":{"type":"string"},"category_id":{"type":"string"},"verified_supplier":{"type":"string"},"trade_assurance":{"type":"string"},"min_review_score":{"type":"string"}},"required":["query"]},"example":{"query":"led strip"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/alibaba/v1/product_detail":{"post":{"operationId":"alibaba_product_detail","summary":"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","tags":["Other"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type":"string"}}},"example":{"product_id":"1600104532932"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/alibaba/v1/rfq_search":{"post":{"operationId":"alibaba_rfq_search","summary":"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","tags":["Other"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"page":{"type":"string"},"sort":{"type":"string"},"buyer_country":{"type":"string"},"category_id":{"type":"string"},"posted_within":{"type":"string"},"with_attachments":{"type":"string"},"open_only":{"type":"string"}}},"example":{"query":"packaging box"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/search":{"post":{"operationId":"aliexpress_search","summary":"Product search cards (price, sold_count, rating, store); filters sort/min_price/max_price/ship_from/free_shipping, paginated","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"page":{"type":"string"},"max_pages":{"type":"string"},"max_results":{"type":"string"},"sort":{"type":"string"},"min_price":{"type":"string"},"max_price":{"type":"string"},"ship_from":{"type":"string"},"free_shipping":{"type":"string"}}},"example":{"query":"wireless earbuds","country":"US","currency":"USD"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/product_detail":{"post":{"operationId":"aliexpress_product_detail","summary":"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)","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"},"language":{"type":"string"},"province":{"type":"string"},"city":{"type":"string"}}},"example":{"product_id":"3256808363596774"}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/reviews":{"post":{"operationId":"aliexpress_reviews","summary":"Buyer reviews (paginated — fetch many pages in one call) + rating distribution","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type":"string"},"page":{"type":"string"},"max_pages":{"type":"string"},"max_results":{"type":"string"},"page_size":{"type":"string"},"filter":{"type":"string"},"review_sort":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}}},"example":{"product_id":"3256808363596774","page_size":10}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/similar":{"post":{"operationId":"aliexpress_similar","summary":"Products similar to a given item (search-backed 'more like this', seed product excluded), paginated","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type":"string"},"query":{"type":"string"},"page":{"type":"string"},"max_pages":{"type":"string"},"max_results":{"type":"string"},"sort":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}}}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/description":{"post":{"operationId":"aliexpress_description","summary":"Full product description text + images","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type":"string"},"description_url":{"type":"string"},"country":{"type":"string"},"currency":{"type":"string"}}}}}},"responses":{"200":{"description":"Result envelope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Envelope"}}}},"401":{"description":"Missing or invalid x-api-key"},"429":{"description":"Rate limited or quota exhausted"}}}},"/aliexpress/v1/shipping":{"post":{"operationId":"aliexpress_shipping","summary":"Shipping options per destination country","tags":["E-commerce & Marketplaces"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string"},"url":{"type"

# --- truncated at 32 KB (1220 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/reefapi/refs/heads/main/openapi/reefapi-openapi.json