{"openapi":"3.1.0","info":{"title":"FastAF API","version":"v1","contact":{"email":"support@fastaf.co","url":"https://fastaf.co/docs/#x402"},"description":"Search, structured data and web scraping via prepaid API keys or account-free x402 v2 payments.","x-guidance":"Use GET /x402/v1/{endpoint} with query parameters (not POST or a JSON body). Choose serp for Google search, maps for places, news/shopping/trends/scholar/jobs for specialized search, ai for Google AI Mode, amazon/youtube for their resource variants, linkedin/x for public profiles, walmart/zillow/ebay for structured commerce or listings, scrape for public HTML or markdown, and screenshot for images. Use the dedicated zillow and ebay endpoints instead of scrape for those sites. The q and lang aliases are accepted for query (search_query on YouTube) and language. Send a valid unpaid request first; read the x402 v2 PAYMENT-REQUIRED header, sign with an x402 client such as @x402/fetch, and retry the identical URL with PAYMENT-SIGNATURE. USDC payment uses the network and amount in that live challenge; no API-key authentication is needed. Only successful results are settled; inspect PAYMENT-RESPONSE for the receipt. Prices here are decimal USD, while the challenge uses USDC atomic units (six decimals). Dynamic prices depend on advance_search (serp), resource (amazon/youtube), or rendering, proxies/country and AI extraction (scrape). Scrape site defaults, including Booking rendering and Reddit feed mode, are applied before quoting. A bare unsigned URL returns a default-variant discovery quote only: add valid parameters and request a new challenge before paying. Unpaid HEAD probes also return PAYMENT-REQUIRED with no body; use GET, not HEAD, to pay for data. Invalid parameterized requests and blocked targets return 400; payment headers never bypass validation. Never reuse a settled signature for a new call. Respect Retry-After on rate/capacity errors. For the separate prepaid-key API and authenticated credit-pack top-up, see /v1/openapi.json. Get a free API key at https://fastaf.co/signup/ with an email address, terms acceptance and browser verification. No card is required. POST /public/signup sends an email confirmation link and sets a dashboard session cookie; it does not return an API key. Follow the emailed GET /public/signin/{token} link, then create a key in the dashboard (POST /v1/keys with the session cookie). The key is shown only once. Email confirmation unlocks one successful free request shared across all keys and REST/MCP, valid for 12 months; failed calls restore it. GET /v1/usage reports free_requests_remaining separately from balance_credits. POST /v1/signup is retired and always returns 410 signup_disabled. Agents without an inbox can use /x402/v1/{endpoint} without an account.","x-signup-guidance":"Get a free API key at https://fastaf.co/signup/ with an email address, terms acceptance and browser verification. No card is required. POST /public/signup sends an email confirmation link and sets a dashboard session cookie; it does not return an API key. Follow the emailed GET /public/signin/{token} link, then create a key in the dashboard (POST /v1/keys with the session cookie). The key is shown only once. Email confirmation unlocks one successful free request shared across all keys and REST/MCP, valid for 12 months; failed calls restore it. GET /v1/usage reports free_requests_remaining separately from balance_credits. POST /v1/signup is retired and always returns 410 signup_disabled. Agents without an inbox can use /x402/v1/{endpoint} without an account."},"servers":[{"url":"https://api.fastaf.co"}],"paths":{"/v1/serp":{"get":{"tags":["API"],"summary":"Search engine results","description":"Live Google search results as JSON: organic results with title, link and snippet, plus related blocks when Google shows them.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"organic_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"title":{"type":"string"},"link":{"type":"string"},"snippet":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"organic_results":[{"position":1,"title":"Best espresso machines for home brewing","link":"https://example.com/guides/espresso-machines","snippet":"Compare compact espresso machines by pressure, grinder and milk-steaming features."}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getSerp","parameters":[{"name":"query","in":"query","required":true,"description":"Required Google search text; supports operators such as site:example.com and intitle:coffee. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"results","in":"query","required":false,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"page","in":"query","required":false,"description":"Zero-based Google results page, integer 0-100; default 0. Each page is a separate request. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"integer","minimum":0}},{"name":"advance_search","in":"query","required":false,"description":"Include advanced Google result features/snippets when true; true/false, default false. False: 5 credits; true: 10 credits per request.","schema":{"type":"boolean"}},{"name":"mob_search","in":"query","required":false,"description":"Request mobile rather than desktop Google results; true/false, default false. FastAF does not add a mobile surcharge. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"deep_scrape","in":"query","required":false,"description":"Fetch content from organic-result destination pages as well as the SERP; true/false, default false. Use with advance_search=false; no FastAF surcharge. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"location","in":"query","required":false,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"cr","in":"query","required":false,"description":"Restrict documents by country: countryFR or countryFR|countryDE. Omitted: no explicit country restriction (unlike country, which localizes the search). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"filter","in":"query","required":false,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"ludocid","in":"query","required":false,"description":"Google business listing CID as a decimal string, copied from a Google local result. Omitted: no specific business selected. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"lsig","in":"query","required":false,"description":"Opaque Google local-listing signature used with a business/knowledge-panel lookup; copy from a Google URL. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"kgmid","in":"query","required":false,"description":"Google Knowledge Graph entity ID, e.g. /m/09c7w0; may override other search filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"si","in":"query","required":false,"description":"Opaque Google cached-search/knowledge-panel tab token; may override other filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"ibp","in":"query","required":false,"description":"Google layout/expansion expression, e.g. gwp;0,7 for a ludocid lookup. Omitted: standard results layout. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"uds","in":"query","required":false,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}}]},"post":{"tags":["API"],"summary":"Search engine results","description":"Live Google search results as JSON: organic results with title, link and snippet, plus related blocks when Google shows them.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"organic_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"title":{"type":"string"},"link":{"type":"string"},"snippet":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"organic_results":[{"position":1,"title":"Best espresso machines for home brewing","link":"https://example.com/guides/espresso-machines","snippet":"Compare compact espresso machines by pressure, grinder and milk-steaming features."}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postSerp","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Required Google search text; supports operators such as site:example.com and intitle:coffee. No default. No additional credits; 5 per request, or 10 with advance_search=true."},"results":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No additional credits; 5 per request, or 10 with advance_search=true."},"page":{"type":"integer","minimum":0,"description":"Zero-based Google results page, integer 0-100; default 0. Each page is a separate request. No additional credits; 5 per request, or 10 with advance_search=true."},"advance_search":{"type":"boolean","description":"Include advanced Google result features/snippets when true; true/false, default false. False: 5 credits; true: 10 credits per request."},"mob_search":{"type":"boolean","description":"Request mobile rather than desktop Google results; true/false, default false. FastAF does not add a mobile surcharge. No additional credits; 5 per request, or 10 with advance_search=true."},"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No additional credits; 5 per request, or 10 with advance_search=true."},"deep_scrape":{"type":"boolean","description":"Fetch content from organic-result destination pages as well as the SERP; true/false, default false. Use with advance_search=false; no FastAF surcharge. No additional credits; 5 per request, or 10 with advance_search=true."},"domain":{"type":"string","maxLength":8192,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No additional credits; 5 per request, or 10 with advance_search=true."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No additional credits; 5 per request, or 10 with advance_search=true."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No additional credits; 5 per request, or 10 with advance_search=true."},"location":{"type":"string","maxLength":8192,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No additional credits; 5 per request, or 10 with advance_search=true."},"uule":{"type":"string","maxLength":8192,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No additional credits; 5 per request, or 10 with advance_search=true."},"cr":{"type":"string","maxLength":8192,"description":"Restrict documents by country: countryFR or countryFR|countryDE. Omitted: no explicit country restriction (unlike country, which localizes the search). No additional credits; 5 per request, or 10 with advance_search=true."},"lr":{"type":"string","maxLength":8192,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No additional credits; 5 per request, or 10 with advance_search=true."},"tbs":{"type":"string","maxLength":8192,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No additional credits; 5 per request, or 10 with advance_search=true."},"safe":{"type":"string","maxLength":8192,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No additional credits; 5 per request, or 10 with advance_search=true."},"nfpr":{"type":"string","maxLength":8192,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No additional credits; 5 per request, or 10 with advance_search=true."},"filter":{"type":"string","maxLength":8192,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No additional credits; 5 per request, or 10 with advance_search=true."},"ludocid":{"type":"string","maxLength":8192,"description":"Google business listing CID as a decimal string, copied from a Google local result. Omitted: no specific business selected. No additional credits; 5 per request, or 10 with advance_search=true."},"lsig":{"type":"string","maxLength":8192,"description":"Opaque Google local-listing signature used with a business/knowledge-panel lookup; copy from a Google URL. No default. No additional credits; 5 per request, or 10 with advance_search=true."},"kgmid":{"type":"string","maxLength":8192,"description":"Google Knowledge Graph entity ID, e.g. /m/09c7w0; may override other search filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true."},"si":{"type":"string","maxLength":8192,"description":"Opaque Google cached-search/knowledge-panel tab token; may override other filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true."},"ibp":{"type":"string","maxLength":8192,"description":"Google layout/expansion expression, e.g. gwp;0,7 for a ludocid lookup. Omitted: standard results layout. No additional credits; 5 per request, or 10 with advance_search=true."},"uds":{"type":"string","maxLength":8192,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No additional credits; 5 per request, or 10 with advance_search=true."}},"required":["query"]}}}}}},"/v1/maps":{"get":{"tags":["API"],"summary":"Google Maps search or place details","description":"Google Maps places as JSON: name, address, rating, reviews count and place_id, or one place by place_id. The search is centred on the place named in the query or in location.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"address":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"number"},"place_id":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"title":"Broadway Coffee","address":"1500 Broadway, New York, NY 10036","rating":4.6,"reviews":128,"place_id":"ChIJmQJIxlVYwokRLgeuocVOGVU"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getMaps","parameters":[{"name":"query","in":"query","required":false,"description":"Maps search text, e.g. coffee in Rome; required unless place_id is supplied. Without location or ll, FastAF uses a place named in the query. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"location","in":"query","required":false,"description":"Search-centre place name, e.g. Rome, Italy (up to 200 characters). Cannot combine with ll. Omit to infer from query; unresolved or out-of-area results are not charged. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"ll","in":"query","required":false,"description":"Search centre as @latitude,longitude,zoom, e.g. @41.9028,12.4964,13z (coordinates in degrees; zoom 3z-30z; map height in metres also supported upstream). Needed for pagination. Cannot combine with location; omitted: infer from query/location. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"data","in":"query","required":false,"description":"Opaque data fragment copied from a Google Maps URL, e.g. !4m5!3m4!1s<id>!8m2!3d<lat>!4d<lon>. Used with type=place; unnecessary with place_id. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"place_id","in":"query","required":false,"description":"Google Maps place identifier, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4, for one place's details. Required if query is omitted; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Maps operation: search for query results or place for details using data. Omit for query search or automatic place_id lookup. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["search","place"]}},{"name":"page","in":"query","required":false,"description":"Maps result offset, integer 0-100: 0 first page, 20 second, 40 third. Default 0; supply ll for pagination. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}}]},"post":{"tags":["API"],"summary":"Google Maps search or place details","description":"Google Maps places as JSON: name, address, rating, reviews count and place_id, or one place by place_id. The search is centred on the place named in the query or in location.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"address":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"number"},"place_id":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"title":"Broadway Coffee","address":"1500 Broadway, New York, NY 10036","rating":4.6,"reviews":128,"place_id":"ChIJmQJIxlVYwokRLgeuocVOGVU"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postMaps","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Maps search text, e.g. coffee in Rome; required unless place_id is supplied. Without location or ll, FastAF uses a place named in the query. No option surcharge; 5 credits per successful request."},"location":{"type":"string","maxLength":8192,"description":"Search-centre place name, e.g. Rome, Italy (up to 200 characters). Cannot combine with ll. Omit to infer from query; unresolved or out-of-area results are not charged. No option surcharge; 5 credits per successful request."},"ll":{"type":"string","maxLength":8192,"description":"Search centre as @latitude,longitude,zoom, e.g. @41.9028,12.4964,13z (coordinates in degrees; zoom 3z-30z; map height in metres also supported upstream). Needed for pagination. Cannot combine with location; omitted: infer from query/location. No option surcharge; 5 credits per successful request."},"domain":{"type":"string","maxLength":8192,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request."},"data":{"type":"string","maxLength":8192,"description":"Opaque data fragment copied from a Google Maps URL, e.g. !4m5!3m4!1s<id>!8m2!3d<lat>!4d<lon>. Used with type=place; unnecessary with place_id. No default. No option surcharge; 5 credits per successful request."},"place_id":{"type":"string","maxLength":8192,"description":"Google Maps place identifier, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4, for one place's details. Required if query is omitted; no default. No option surcharge; 5 credits per successful request."},"type":{"type":"string","enum":["search","place"],"description":"Maps operation: search for query results or place for details using data. Omit for query search or automatic place_id lookup. No option surcharge; 5 credits per successful request."},"page":{"type":"integer","minimum":0,"description":"Maps result offset, integer 0-100: 0 first page, 20 second, 40 third. Default 0; supply ll for pagination. Each page is a separate request. No option surcharge; 5 credits per successful request."}},"anyOf":[{"required":["query"]},{"required":["place_id"]}]}}}}}},"/v1/amazon":{"get":{"tags":["API"],"summary":"Amazon product or search results","description":"Amazon search results or one product by ASIN, as JSON with title, price, rating and availability, on 20+ Amazon domains.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"asin":{"type":"string"},"title":{"type":"string"},"price":{"type":"string"},"availability_status":{"type":"string"},"average_rating":{"type":"number"},"total_reviews":{"type":"number"}},"additionalProperties":true},"example":{"asin":"B08N5WRWNW","title":"Echo Dot (4th Gen) smart speaker","price":"$49.99","availability_status":"In Stock","average_rating":4.5,"total_reviews":1234}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"search":1,"product":1,"reviews":5,"offers":5,"bestsellers":5},"x-fastaf-cost-version":"v1","operationId":"getAmazon","parameters":[{"name":"resource","in":"query","required":false,"description":"Amazon operation: search (default), product, offers or bestsellers. Reviews are not sold. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","enum":["search","product","offers","bestsellers"],"default":"search"}},{"name":"asin","in":"query","required":false,"description":"Amazon product identifier, usually 10 letters/digits, e.g. B08N5WRWNW. Required for product and offers; not used for search/bestsellers. No default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"query","in":"query","required":false,"description":"Required product search text for resource=search, e.g. wireless headphones. Not valid for other resources; no default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Amazon domain suffix, not a hostname: com, co.uk, de, in, etc.; default com. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter marketplace/proxy country code, e.g. us, gb or de; default us. Unlike scrape.country, this has no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Product-data language code, e.g. en, de or fr; omitted: marketplace default. Valid for search, product and bestsellers. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"postal_code","in":"query","required":false,"description":"Delivery postal/ZIP code, e.g. 10001, to localize availability and price. Valid for search/product/offers; omitted: source-default delivery location. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"One-based page number, default 1. Search accepts 1-100; bestsellers accepts 1-2 (set full_list=false for a single page). Each request is billed separately. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"premium","in":"query","required":false,"description":"Use premium proxies for resource=search; true/false, default false. Not valid for product/offers/bestsellers; no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","required":false,"description":"Review order: helpful or recent. Reviews are currently unavailable, so requests using this option are rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["helpful","recent"]}},{"name":"filter_by_star","in":"query","required":false,"description":"Review rating filter: all_stars, five_star, four_star, three_star, two_star, one_star, positive or critical. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_stars","five_star","four_star","three_star","two_star","one_star","positive","critical"]}},{"name":"reviewer_type","in":"query","required":false,"description":"Review author filter: all_reviews or avp_only_reviews (verified purchases). Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_reviews","avp_only_reviews"]}},{"name":"media_type","in":"query","required":false,"description":"Review attachment filter: all_contents or media_reviews_only. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_contents","media_reviews_only"]}},{"name":"format_type","in":"query","required":false,"description":"Review product-variant filter: all_formats or current_format. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_formats","current_format"]}},{"name":"url","in":"query","required":false,"description":"Full HTTP(S) Amazon reviews URL, an alternative to ASIN for reviews. Reviews are unavailable; this option is rejected without charge. No default. No credits charged for rejected requests.","schema":{"type":"string","maxLength":8192}},{"name":"category_id","in":"query","required":false,"description":"Bestseller category slug, node ID or slug/node pair, e.g. kitchen, 289668 or kitchen/289668. Omit for all departments; bestsellers only. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Ranked list for bestsellers: bestsellers (default), new_releases, movers_and_shakers, most_wished_for or most_gifted. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","enum":["bestsellers","new_releases","movers_and_shakers","most_wished_for","most_gifted"]}},{"name":"full_list","in":"query","required":false,"description":"For bestsellers, true returns the combined ranked list (upstream default true); false returns only page. Boolean; no FastAF surcharge for the full list. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"Amazon product or search results","description":"Amazon search results or one product by ASIN, as JSON with title, price, rating and availability, on 20+ Amazon domains.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"asin":{"type":"string"},"title":{"type":"string"},"price":{"type":"string"},"availability_status":{"type":"string"},"average_rating":{"type":"number"},"total_reviews":{"type":"number"}},"additionalProperties":true},"example":{"asin":"B08N5WRWNW","title":"Echo Dot (4th Gen) smart speaker","price":"$49.99","availability_status":"In Stock","average_rating":4.5,"total_reviews":1234}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"search":1,"product":1,"reviews":5,"offers":5,"bestsellers":5},"x-fastaf-cost-version":"v1","operationId":"postAmazon","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"resource":{"type":"string","enum":["search","product","offers","bestsellers"],"default":"search","description":"Amazon operation: search (default), product, offers or bestsellers. Reviews are not sold. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"asin":{"type":"string","maxLength":8192,"description":"Amazon product identifier, usually 10 letters/digits, e.g. B08N5WRWNW. Required for product and offers; not used for search/bestsellers. No default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"query":{"type":"string","maxLength":8192,"description":"Required product search text for resource=search, e.g. wireless headphones. Not valid for other resources; no default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"domain":{"type":"string","maxLength":8192,"description":"Amazon domain suffix, not a hostname: com, co.uk, de, in, etc.; default com. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter marketplace/proxy country code, e.g. us, gb or de; default us. Unlike scrape.country, this has no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"language":{"type":"string","maxLength":8192,"description":"Product-data language code, e.g. en, de or fr; omitted: marketplace default. Valid for search, product and bestsellers. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"postal_code":{"type":"string","maxLength":8192,"description":"Delivery postal/ZIP code, e.g. 10001, to localize availability and price. Valid for search/product/offers; omitted: source-default delivery location. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"page":{"type":"integer","minimum":1,"maximum":100,"description":"One-based page number, default 1. Search accepts 1-100; bestsellers accepts 1-2 (set full_list=false for a single page). Each request is billed separately. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"premium":{"type":"boolean","description":"Use premium proxies for resource=search; true/false, default false. Not valid for product/offers/bestsellers; no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"sort_by":{"type":"string","enum":["helpful","recent"],"description":"Review order: helpful or recent. Reviews are currently unavailable, so requests using this option are rejected without charge; no FastAF default. No credits charged for rejected requests."},"filter_by_star":{"type":"string","enum":["all_stars","five_star","four_star","three_star","two_star","one_star","positive","critical"],"description":"Review rating filter: all_stars, five_star, four_star, three_star, two_star, one_star, positive or critical. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests."},"reviewer_type":{"type":"string","enum":["all_reviews","avp_only_reviews"],"description":"Review author filter: all_reviews or avp_only_reviews (verified purchases). Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests."},"media_type":{"type":"string","enum":["all_contents","media_reviews_only"],"description":"Review attachment filter: all_contents or media_reviews_only. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests."},"format_type":{"type":"string","enum":["all_formats","current_format"],"description":"Review product-variant filter: all_formats or current_format. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests."},"url":{"type":"string","maxLength":8192,"description":"Full HTTP(S) Amazon reviews URL, an alternative to ASIN for reviews. Reviews are unavailable; this option is rejected without charge. No default. No credits charged for rejected requests."},"category_id":{"type":"string","maxLength":8192,"description":"Bestseller category slug, node ID or slug/node pair, e.g. kitchen, 289668 or kitchen/289668. Omit for all departments; bestsellers only. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"type":{"type":"string","enum":["bestsellers","new_releases","movers_and_shakers","most_wished_for","most_gifted"],"description":"Ranked list for bestsellers: bestsellers (default), new_releases, movers_and_shakers, most_wished_for or most_gifted. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."},"full_list":{"type":"boolean","description":"For bestsellers, true returns the combined ranked list (upstream default true); false returns only page. Boolean; no FastAF surcharge for the full list. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request."}},"anyOf":[{"required":["query"]},{"required":["resource","asin"],"properties":{"resource":{"const":"product"}}},{"required":["resource","asin"],"properties":{"resource":{"const":"offers"}}},{"required":["resource"],"properties":{"resource":{"const":"bestsellers"}}}]}}}}}},"/v1/linkedin":{"get":{"tags":["API"],"summary":"LinkedIn profile","description":"Public LinkedIn person profile as JSON: name, headline, location and summary. Visible-without-login data only.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"fullName":{"type":"string"},"public_identifier":{"type":"string"},"headline":{"type":"string"},"location":{"type":"string"},"about":{"type":"string"}},"additionalProperties":true}},"example":[{"fullName":"Bill Gates","public_identifier":"williamhgates","headline":"Co-chair, Gates Foundation","location":"Seattle, Washington, United States","about":"Working on global health, climate and education."}]}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":60,"x-fastaf-cost-version":"v1","operationId":"getLinkedin","parameters":[{"name":"id","in":"query","required":true,"description":"Required public LinkedIn person-profile slug from /in/<id>/, e.g. williamhgates, not a full URL. No default; public data only. No option surcharge; 60 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Profile resource selector; only profile is accepted and is the FastAF default. Company profiles are not supported here. No option surcharge; 60 credits per successful request.","schema":{"type":"string","enum":["profile"]}},{"name":"premium","in":"query","required":false,"description":"Use the premium profile retrieval option; true/false, default false. Still public data only; no additional FastAF credits. No option surcharge; 60 credits per successful request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"LinkedIn profile","description":"Public LinkedIn person profile as JSON: name, headline, location and summary. Visible-without-login data only.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"fullName":{"type":"string"},"public_identifier":{"type":"string"},"headline":{"type":"string"},"location":{"type":"string"},"about":{"type":"string"}},"additionalProperties":true}},"example":[{"fullName":"Bill Gates","public_identifier":"williamhgates","headline":"Co-chair, Gates Foundation","location":"Seattle, Washington, United States","about":"Working on global health, climate and education."}]}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":60,"x-fastaf-cost-version":"v1","operationId":"postLinkedin","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","maxLength":8192,"description":"Required public LinkedIn person-profile slug from /in/<id>/, e.g. williamhgates, not a full URL. No default; public data only. No option surcharge; 60 credits per successful request."},"type":{"type":"string","enum":["profile"],"description":"Profile resource selector; only profile is accepted and is the FastAF default. Company profiles are not supported here. No option surcharge; 60 credits per successful request."},"premium":{"type":"boolean","description":"Use the premium profile retrieval option; true/false, default false. Still public data only; no additional FastAF credits. No option surcharge; 60 credits per successful request."}},"required":["id"]}}}}}},"/v1/youtube":{"get":{"tags":["API"],"summary":"YouTube search or transcript","description":"YouTube video transcript by video id (v), or YouTube search results with resource=search, as JSON.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"transcripts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"start":{"type":"number"},"duration":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"transcripts":[{"text":"The elephants are behind me.","start":0.5,"duration":3.2}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"transcript":1,"search":5},"x-fastaf-cost-version":"v1","operationId":"getYoutube","parameters":[{"name":"resource","in":"query","required":false,"description":"YouTube operation: transcript (default) or search. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","enum":["transcript","search"],"default":"transcript"}},{"name":"v","in":"query","required":false,"description":"Required YouTube video ID for transcript, e.g. jNQXAC9IVRw, not the watch URL. Not valid for search; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"search_query","in":"query","required":false,"description":"Required YouTube search text for resource=search, e.g. espresso tutorial. Not valid for transcript; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter YouTube country code, e.g. us or gb; upstream default us for search/transcripts. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"YouTube language code, e.g. en, es or de; upstream default en. For transcripts, requests the available caption language; no translation is guaranteed. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"sp","in":"query","required":false,"description":"YouTube search filter or continuation token copied from a search URL/previous response; search only. Omit for the first unfiltered page. Each page is a separate request. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}}]},"post":{"tags":["API"],"summary":"YouTube search or transcript","description":"YouTube video transcript by video id (v), or YouTube search results with resource=search, as JSON.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"transcripts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"start":{"type":"number"},"duration":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"transcripts":[{"text":"The elephants are behind me.","start":0.5,"duration":3.2}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"transcript":1,"search":5},"x-fastaf-cost-version":"v1","operationId":"postYoutube","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"resource":{"type":"string","enum":["transcript","search"],"default":"transcript","description":"YouTube operation: transcript (default) or search. No option surcharge; transcript costs 1 credit, search 5 credits per request."},"v":{"type":"string","maxLength":8192,"description":"Required YouTube video ID for transcript, e.g. jNQXAC9IVRw, not the watch URL. Not valid for search; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request."},"search_query":{"type":"string","maxLength":8192,"description":"Required YouTube search text for resource=search, e.g. espresso tutorial. Not valid for transcript; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter YouTube country code, e.g. us or gb; upstream default us for search/transcripts. No option surcharge; transcript costs 1 credit, search 5 credits per request."},"language":{"type":"string","maxLength":8192,"description":"YouTube language code, e.g. en, es or de; upstream default en. For transcripts, requests the available caption language; no translation is guaranteed. No option surcharge; transcript costs 1 credit, search 5 credits per request."},"sp":{"type":"string","maxLength":8192,"description":"YouTube search filter or continuation token copied from a search URL/previous response; search only. Omit for the first unfiltered page. Each page is a separate request. No option surcharge; transcript costs 1 credit, search 5 credits per request."}},"anyOf":[{"required":["v"]},{"required":["resource","search_query"],"properties":{"resource":{"const":"search"}}}]}}}}}},"/v1/scrape":{"get":{"tags":["API"],"summary":"Web page scraping","description":"Fetch any public web page and return its HTML, or markdown with formats=markdown. dynamic=true renders JavaScript, premium=true uses residential proxies, challenge_mode=true handles pages behind a browser verification check. Verification, empty or incomplete pages are never settled.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"},"example":"# Example Domain\n\nThis domain is for use in documentation examples."},"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{"type":["object","array"],"additionalProperties":true}},"image/*":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"default":1,"dynamic":5,"premium":10,"dynamicAndPremium":25,"challenge":10,"aiSurcharge":10},"x-fastaf-cost-version":"v1","operationId":"getScrape","parameters":[{"name":"url","in":"query","required":true,"description":"Required public HTTP(S) page URL. Zillow/eBay URLs are rejected without charge: use their dedicated endpoints. Booking defaults to rendering; Reddit uses a best-effort public feed (1 credit), ignoring rendering/proxy/wait/session/header options. Normal base cost: 1 credit; rendered Booking defaults cost 5. Other selected modes/AI can increase cost.","schema":{"type":"string","format":"uri","pattern":"^https?://"}},{"name":"dynamic","in":"query","required":false,"description":"Render JavaScript before extracting content; true/false. FastAF default false, except booking.com defaults true with wait=8000. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10.","schema":{"type":"boolean"}},{"name":"js_rendering","in":"query","required":false,"description":"Alias for dynamic with identical defaults and pricing. Boolean; cannot disagree with dynamic. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10.","schema":{"type":"boolean"}},{"name":"premium","in":"query","required":false,"description":"Use residential proxies; true/false, default false. Cannot combine true with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10.","schema":{"type":"boolean"}},{"name":"custom_headers","in":"query","required":false,"description":"Boolean upstream header-forwarding flag, default false; NOT a header map. FastAF does not forward caller HTTP headers, cookies or Authorization to the target, so this cannot customize them. Ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"boolean"}},{"name":"wait","in":"query","required":false,"description":"Extra browser loading delay in milliseconds, integer 0-35000, for dynamic rendering. Omitted: no explicit extra delay, except rendered booking.com defaults to 8000. Does not enable rendering; ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"integer","minimum":0,"maximum":35000}},{"name":"country","in":"query","required":false,"description":"Proxy exit country as a two-letter ISO 3166-1 code, e.g. us, gb or de. Omit for no country targeting. Selecting any country uses premium-tier pricing even if premium=false; incompatible with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10.","schema":{"type":"string","maxLength":8192}},{"name":"session_number","in":"query","required":false,"description":"Reusable proxy session identifier, e.g. 12345. Repeat it to request the same proxy IP; expires after 60 seconds of inactivity. Omit to rotate normally. Ignored for Reddit feeds; not a FastAF login session. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"string","maxLength":8192}},{"name":"image","in":"query","required":false,"description":"Enable fetching image URLs; true/false, default false. Not a screenshot: use /screenshot for captures, or formats=images to extract page image links. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"boolean"}},{"name":"formats","in":"query","required":false,"description":"One output format: html (default), links, markdown, summary or images. summary is AI-generated; links/images extract page URLs. Reddit supports html/markdown only. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","enum":["html","links","markdown","summary","images"]}},{"name":"ai_query","in":"query","required":false,"description":"Natural-language extraction prompt, e.g. Return the product price and currency. Omit for no prompt-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","maxLength":8192}},{"name":"ai_extract_rules","in":"query","required":false,"description":"JSON-encoded extraction instructions as a STRING, e.g. {\"price\":\"product price\",\"currency\":\"currency code\"}; not a nested JSON object. Omit for no rule-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Non-HTML target format: image, pdf or pbf (Protocolbuffer Binary Format). Omit for normal page scraping. This selects a binary resource, not a screenshot or an output format conversion. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"string","enum":["image","pdf","pbf"]}},{"name":"challenge_mode","in":"query","required":false,"description":"Browser-verification handling mode; true/false, default false. Uses its own rendering/proxies; cannot combine with dynamic=true, premium=true or country. Ignored for Reddit feeds. When enabled: 10 base credits; AI adds 10.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"Web page scraping","description":"Fetch any public web page and return its HTML, or markdown with formats=markdown. dynamic=true renders JavaScript, premium=true uses residential proxies, challenge_mode=true handles pages behind a browser verification check. Verification, empty or incomplete pages are never settled.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"},"example":"# Example Domain\n\nThis domain is for use in documentation examples."},"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{"type":["object","array"],"additionalProperties":true}},"image/*":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":{"default":1,"dynamic":5,"premium":10,"dynamicAndPremium":25,"challenge":10,"aiSurcharge":10},"x-fastaf-cost-version":"v1","operationId":"postScrape","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https?://","description":"Required public HTTP(S) page URL. Zillow/eBay URLs are rejected without charge: use their dedicated endpoints. Booking defaults to rendering; Reddit uses a best-effort public feed (1 credit), ignoring rendering/proxy/wait/session/header options. Normal base cost: 1 credit; rendered Booking defaults cost 5. Other selected modes/AI can increase cost."},"dynamic":{"type":"boolean","description":"Render JavaScript before extracting content; true/false. FastAF default false, except booking.com defaults true with wait=8000. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10."},"js_rendering":{"type":"boolean","description":"Alias for dynamic with identical defaults and pricing. Boolean; cannot disagree with dynamic. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10."},"premium":{"type":"boolean","description":"Use residential proxies; true/false, default false. Cannot combine true with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10."},"custom_headers":{"type":"boolean","description":"Boolean upstream header-forwarding flag, default false; NOT a header map. FastAF does not forward caller HTTP headers, cookies or Authorization to the target, so this cannot customize them. Ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost."},"wait":{"type":"integer","minimum":0,"maximum":35000,"description":"Extra browser loading delay in milliseconds, integer 0-35000, for dynamic rendering. Omitted: no explicit extra delay, except rendered booking.com defaults to 8000. Does not enable rendering; ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost."},"country":{"type":"string","maxLength":8192,"description":"Proxy exit country as a two-letter ISO 3166-1 code, e.g. us, gb or de. Omit for no country targeting. Selecting any country uses premium-tier pricing even if premium=false; incompatible with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10."},"session_number":{"type":"string","maxLength":8192,"description":"Reusable proxy session identifier, e.g. 12345. Repeat it to request the same proxy IP; expires after 60 seconds of inactivity. Omit to rotate normally. Ignored for Reddit feeds; not a FastAF login session. No additional credits; selected rendering/proxy/AI options determine the request cost."},"image":{"type":"boolean","description":"Enable fetching image URLs; true/false, default false. Not a screenshot: use /screenshot for captures, or formats=images to extract page image links. No additional credits; selected rendering/proxy/AI options determine the request cost."},"formats":{"type":"string","enum":["html","links","markdown","summary","images"],"description":"One output format: html (default), links, markdown, summary or images. summary is AI-generated; links/images extract page URLs. Reddit supports html/markdown only. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none."},"ai_query":{"type":"string","maxLength":8192,"description":"Natural-language extraction prompt, e.g. Return the product price and currency. Omit for no prompt-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none."},"ai_extract_rules":{"type":"string","maxLength":8192,"description":"JSON-encoded extraction instructions as a STRING, e.g. {\"price\":\"product price\",\"currency\":\"currency code\"}; not a nested JSON object. Omit for no rule-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none."},"type":{"type":"string","enum":["image","pdf","pbf"],"description":"Non-HTML target format: image, pdf or pbf (Protocolbuffer Binary Format). Omit for normal page scraping. This selects a binary resource, not a screenshot or an output format conversion. No additional credits; selected rendering/proxy/AI options determine the request cost."},"challenge_mode":{"type":"boolean","description":"Browser-verification handling mode; true/false, default false. Uses its own rendering/proxies; cannot combine with dynamic=true, premium=true or country. Ignored for Reddit feeds. When enabled: 10 base credits; AI adds 10."}},"required":["url"]}}}}}},"/v1/news":{"get":{"tags":["API"],"summary":"News search results","description":"Google News results as JSON: title, source, date, link and snippet.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"news_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"source":{"type":"string"},"lastUpdated":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"news_results":[{"title":"Researchers discuss responsible public-web data collection","source":"Technology Review Daily","lastUpdated":"2 hours ago","url":"https://example.com/news/public-web-data"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getNews","parameters":[{"name":"query","in":"query","required":true,"description":"Required Google News search text, e.g. renewable energy; supports Google search operators. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"results","in":"query","required":false,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"News search results","description":"Google News results as JSON: title, source, date, link and snippet.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"news_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"source":{"type":"string"},"lastUpdated":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"news_results":[{"title":"Researchers discuss responsible public-web data collection","source":"Technology Review Daily","lastUpdated":"2 hours ago","url":"https://example.com/news/public-web-data"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postNews","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Required Google News search text, e.g. renewable energy; supports Google search operators. No default. No option surcharge; 5 credits per successful request."},"results":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No option surcharge; 5 credits per successful request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request."},"page":{"type":"integer","minimum":0,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request."},"domain":{"type":"string","maxLength":8192,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request."},"lr":{"type":"string","maxLength":8192,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request."},"uule":{"type":"string","maxLength":8192,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request."},"tbs":{"type":"string","maxLength":8192,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 5 credits per successful request."},"safe":{"type":"string","maxLength":8192,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request."},"nfpr":{"type":"string","maxLength":8192,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 5 credits per successful request."},"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request."}},"required":["query"]}}}}}},"/v1/shopping":{"get":{"tags":["API"],"summary":"Shopping search results","description":"Google Shopping results as JSON: product title, price, merchant, rating and product link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"shopping_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"price":{"type":"string"},"source":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"shopping_results":[{"title":"Road running shoes, size 9","price":"$89.00","source":"City Sports","link":"https://example.com/products/road-running-shoes"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":10,"x-fastaf-cost-version":"v1","operationId":"getShopping","parameters":[{"name":"query","in":"query","required":true,"description":"Required Google Shopping search text or complete Google search URL, e.g. running shoes. No default. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 10 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"shoprs","in":"query","required":false,"description":"Opaque Google Shopping filter ID copied from a Google URL; pair with query text including the selected filter label. Omit for no explicit shopping filter. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"Shopping search results","description":"Google Shopping results as JSON: product title, price, merchant, rating and product link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"shopping_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"price":{"type":"string"},"source":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"shopping_results":[{"title":"Road running shoes, size 9","price":"$89.00","source":"City Sports","link":"https://example.com/products/road-running-shoes"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":10,"x-fastaf-cost-version":"v1","operationId":"postShopping","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Required Google Shopping search text or complete Google search URL, e.g. running shoes. No default. No option surcharge; 10 credits per successful request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request."},"page":{"type":"integer","minimum":0,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 10 credits per successful request."},"domain":{"type":"string","maxLength":8192,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 10 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request."},"lr":{"type":"string","maxLength":8192,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 10 credits per successful request."},"shoprs":{"type":"string","maxLength":8192,"description":"Opaque Google Shopping filter ID copied from a Google URL; pair with query text including the selected filter label. Omit for no explicit shopping filter. No option surcharge; 10 credits per successful request."},"uule":{"type":"string","maxLength":8192,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request."},"tbs":{"type":"string","maxLength":8192,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 10 credits per successful request."},"safe":{"type":"string","maxLength":8192,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request."},"nfpr":{"type":"string","maxLength":8192,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 10 credits per successful request."},"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request."}},"required":["query"]}}}}}},"/v1/trends":{"get":{"tags":["API"],"summary":"Search trend data","description":"Google Trends interest over time or by region for one or more terms, as JSON timeline data.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"interest_over_time":{"type":"object","properties":{"timeline_data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"values":{"type":"array","items":{"type":"object","properties":{"query":{"type":"string"},"value":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true}},"additionalProperties":true},"example":{"interest_over_time":{"timeline_data":[{"date":"Oct 5 - 11, 2026","values":[{"query":"web scraping api","value":72}]}]}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getTrends","parameters":[{"name":"query","in":"query","required":false,"description":"Comma-separated Google Trends terms or topic IDs, e.g. coffee,tea or /m/027lnzs. Upstream supports up to 5 terms (100 characters each) for TIMESERIES/GEO_MAP and one for GEO_MAP_0. No default term. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"data_type","in":"query","required":false,"description":"Trend view: TIMESERIES (default) for interest over time, GEO_MAP for regional comparison of multiple terms, or GEO_MAP_0 for one term by region. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["TIMESERIES","GEO_MAP","GEO_MAP_0"],"default":"TIMESERIES"}},{"name":"geo","in":"query","required":false,"description":"Google Trends region code, e.g. US or US-CA. Omit for worldwide interest; do not send an empty value. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"region","in":"query","required":false,"description":"Regional aggregation for GEO_MAP/GEO_MAP_0: COUNTRY, REGION, DMA (metro) or CITY. Omit for source-default resolution; availability depends on geo. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["COUNTRY","REGION","DMA","CITY"]}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"date","in":"query","required":false,"description":"Trend time range: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all, or YYYY-MM-DD YYYY-MM-DD. Hour ranges use YYYY-MM-DDThh within one week. Omitted: upstream default range. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cat","in":"query","required":false,"description":"Google Trends numeric category ID as a string; default 0 includes all categories. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"gprop","in":"query","required":false,"description":"Search property: images, news, froogle (Shopping) or youtube. Omit for Web Search. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["images","news","froogle","youtube"]}},{"name":"tz","in":"query","required":false,"description":"Timezone offset in minutes, integer -1439 to 1439; upstream default 420 (UTC-07:00). Positive values are west of UTC, negative east; 0 is UTC. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":-1439,"maximum":1439}}]},"post":{"tags":["API"],"summary":"Search trend data","description":"Google Trends interest over time or by region for one or more terms, as JSON timeline data.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"interest_over_time":{"type":"object","properties":{"timeline_data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"values":{"type":"array","items":{"type":"object","properties":{"query":{"type":"string"},"value":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true}},"additionalProperties":true},"example":{"interest_over_time":{"timeline_data":[{"date":"Oct 5 - 11, 2026","values":[{"query":"web scraping api","value":72}]}]}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postTrends","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Comma-separated Google Trends terms or topic IDs, e.g. coffee,tea or /m/027lnzs. Upstream supports up to 5 terms (100 characters each) for TIMESERIES/GEO_MAP and one for GEO_MAP_0. No default term. No option surcharge; 5 credits per successful request."},"data_type":{"type":"string","enum":["TIMESERIES","GEO_MAP","GEO_MAP_0"],"default":"TIMESERIES","description":"Trend view: TIMESERIES (default) for interest over time, GEO_MAP for regional comparison of multiple terms, or GEO_MAP_0 for one term by region. No option surcharge; 5 credits per successful request."},"geo":{"type":"string","maxLength":8192,"description":"Google Trends region code, e.g. US or US-CA. Omit for worldwide interest; do not send an empty value. No option surcharge; 5 credits per successful request."},"region":{"type":"string","enum":["COUNTRY","REGION","DMA","CITY"],"description":"Regional aggregation for GEO_MAP/GEO_MAP_0: COUNTRY, REGION, DMA (metro) or CITY. Omit for source-default resolution; availability depends on geo. No option surcharge; 5 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request."},"date":{"type":"string","maxLength":8192,"description":"Trend time range: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all, or YYYY-MM-DD YYYY-MM-DD. Hour ranges use YYYY-MM-DDThh within one week. Omitted: upstream default range. No option surcharge; 5 credits per successful request."},"cat":{"type":"string","maxLength":8192,"description":"Google Trends numeric category ID as a string; default 0 includes all categories. No option surcharge; 5 credits per successful request."},"gprop":{"type":"string","enum":["images","news","froogle","youtube"],"description":"Search property: images, news, froogle (Shopping) or youtube. Omit for Web Search. No option surcharge; 5 credits per successful request."},"tz":{"type":"integer","minimum":-1439,"maximum":1439,"description":"Timezone offset in minutes, integer -1439 to 1439; upstream default 420 (UTC-07:00). Positive values are west of UTC, negative east; 0 is UTC. No option surcharge; 5 credits per successful request."}}}}}}}},"/v1/scholar":{"get":{"tags":["API"],"summary":"Scholarly search results","description":"Google Scholar results as JSON: title, authors, publication, year, citation count and link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"scholar_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"displayed_link":{"type":"string"},"snippet":{"type":"string"},"inline_links":{"type":"object","properties":{"cited_by":{"type":"object","properties":{"total":{"type":"string"},"cites_id":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"title_link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"scholar_results":[{"title":"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks","displayed_link":"P Lewis et al. - NeurIPS, 2020","snippet":"A retrieval-augmented model combines a language model with a searchable document index.","inline_links":{"cited_by":{"total":"Cited by 120","cites_id":"1234567890123456789"}},"title_link":"https://arxiv.org/abs/2005.11401"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getScholar","parameters":[{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}},{"name":"query","in":"query","required":false,"description":"Scholar search text, supporting author: and source:. Required unless cites or cluster is supplied. May refine cites results; cannot combine with cluster. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cites","in":"query","required":false,"description":"Scholar article ID for a Cited by lookup, copied from a Scholar result. May combine with query to filter citing papers, but not cluster. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_ylo","in":"query","required":false,"description":"Inclusive earliest publication year as a four-digit string, e.g. 2020. Omit for no lower year bound; may combine with as_yhi. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_yhi","in":"query","required":false,"description":"Inclusive latest publication year as a four-digit string, e.g. 2026. Omit for no upper year bound; may combine with as_ylo. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"scisbd","in":"query","required":false,"description":"Scholar result mode: string 1 requests abstract results, 0 all results. Omitted: source-default result mode. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cluster","in":"query","required":false,"description":"Scholar article cluster ID for an All versions lookup. Use instead of query/cites, never together; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_sdt","in":"query","required":false,"description":"Scholar search/filter codes: 0 excludes patents (default), 7 includes patents, 4 selects US case law. Court codes can follow 4, e.g. 4,33,192. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"filter","in":"query","required":false,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_vis","in":"query","required":false,"description":"Citation-only results: string 1 excludes them, 0 includes them (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_rr","in":"query","required":false,"description":"Review-paper filter: string 1 returns review articles only, 0 all article types (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"results","in":"query","required":false,"description":"Requested results per Scholar page, integer at least 1; omitted: source-default page size. Google may return fewer; not a count of separately billed requests. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":1}}]},"post":{"tags":["API"],"summary":"Scholarly search results","description":"Google Scholar results as JSON: title, authors, publication, year, citation count and link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"scholar_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"displayed_link":{"type":"string"},"snippet":{"type":"string"},"inline_links":{"type":"object","properties":{"cited_by":{"type":"object","properties":{"total":{"type":"string"},"cites_id":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"title_link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"scholar_results":[{"title":"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks","displayed_link":"P Lewis et al. - NeurIPS, 2020","snippet":"A retrieval-augmented model combines a language model with a searchable document index.","inline_links":{"cited_by":{"total":"Cited by 120","cites_id":"1234567890123456789"}},"title_link":"https://arxiv.org/abs/2005.11401"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postScholar","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request."},"query":{"type":"string","maxLength":8192,"description":"Scholar search text, supporting author: and source:. Required unless cites or cluster is supplied. May refine cites results; cannot combine with cluster. No default. No option surcharge; 5 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request."},"lr":{"type":"string","maxLength":8192,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request."},"cites":{"type":"string","maxLength":8192,"description":"Scholar article ID for a Cited by lookup, copied from a Scholar result. May combine with query to filter citing papers, but not cluster. No default. No option surcharge; 5 credits per successful request."},"as_ylo":{"type":"string","maxLength":8192,"description":"Inclusive earliest publication year as a four-digit string, e.g. 2020. Omit for no lower year bound; may combine with as_yhi. No option surcharge; 5 credits per successful request."},"as_yhi":{"type":"string","maxLength":8192,"description":"Inclusive latest publication year as a four-digit string, e.g. 2026. Omit for no upper year bound; may combine with as_ylo. No option surcharge; 5 credits per successful request."},"scisbd":{"type":"string","maxLength":8192,"description":"Scholar result mode: string 1 requests abstract results, 0 all results. Omitted: source-default result mode. No option surcharge; 5 credits per successful request."},"cluster":{"type":"string","maxLength":8192,"description":"Scholar article cluster ID for an All versions lookup. Use instead of query/cites, never together; no default. No option surcharge; 5 credits per successful request."},"as_sdt":{"type":"string","maxLength":8192,"description":"Scholar search/filter codes: 0 excludes patents (default), 7 includes patents, 4 selects US case law. Court codes can follow 4, e.g. 4,33,192. No option surcharge; 5 credits per successful request."},"safe":{"type":"string","maxLength":8192,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request."},"filter":{"type":"string","maxLength":8192,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No option surcharge; 5 credits per successful request."},"as_vis":{"type":"string","maxLength":8192,"description":"Citation-only results: string 1 excludes them, 0 includes them (default 0). No option surcharge; 5 credits per successful request."},"as_rr":{"type":"string","maxLength":8192,"description":"Review-paper filter: string 1 returns review articles only, 0 all article types (default 0). No option surcharge; 5 credits per successful request."},"page":{"type":"integer","minimum":0,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request."},"results":{"type":"integer","minimum":1,"description":"Requested results per Scholar page, integer at least 1; omitted: source-default page size. Google may return fewer; not a count of separately billed requests. No option surcharge; 5 credits per successful request."}},"anyOf":[{"required":["query"]},{"required":["cites"]},{"required":["cluster"]}]}}}}}},"/v1/jobs":{"get":{"tags":["API"],"summary":"Job search results","description":"Google Jobs listings as JSON: role, company, location, posting date and apply links.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"jobs_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"company_name":{"type":"string"},"location":{"type":"string"},"apply_links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"jobs_results":[{"title":"Product Manager","company_name":"Northstar Analytics","location":"New York, NY","apply_links":[{"link":"https://example.com/careers/product-manager"}]}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getJobs","parameters":[{"name":"query","in":"query","required":true,"description":"Required job search text, e.g. software engineer in Austin. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Google Jobs result language/locale, e.g. en_us; upstream default en_us. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"next_page_token","in":"query","required":false,"description":"Opaque continuation token from the previous jobs response. Omit for the first page; keep the original query/filters. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"chips","in":"query","required":false,"description":"Google Jobs filter expression copied from the search page, e.g. employment_type:FULLTIME. Omitted: no extra chip filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lrad","in":"query","required":false,"description":"Google Jobs radius value copied from a Google Jobs URL. Passed through as a string; upstream documents no unit or range. Omit for source-default radius. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"ltype","in":"query","required":false,"description":"Work-from-home filter token copied from a Google Jobs URL; upstream publishes no fixed value list. Omitted: no explicit work-from-home filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uds","in":"query","required":false,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}}]},"post":{"tags":["API"],"summary":"Job search results","description":"Google Jobs listings as JSON: role, company, location, posting date and apply links.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"jobs_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"company_name":{"type":"string"},"location":{"type":"string"},"apply_links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"jobs_results":[{"title":"Product Manager","company_name":"Northstar Analytics","location":"New York, NY","apply_links":[{"link":"https://example.com/careers/product-manager"}]}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postJobs","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Required job search text, e.g. software engineer in Austin. No default. No option surcharge; 5 credits per successful request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Google Jobs result language/locale, e.g. en_us; upstream default en_us. No option surcharge; 5 credits per successful request."},"uule":{"type":"string","maxLength":8192,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request."},"domain":{"type":"string","maxLength":8192,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request."},"next_page_token":{"type":"string","maxLength":8192,"description":"Opaque continuation token from the previous jobs response. Omit for the first page; keep the original query/filters. Each page is a separate request. No option surcharge; 5 credits per successful request."},"chips":{"type":"string","maxLength":8192,"description":"Google Jobs filter expression copied from the search page, e.g. employment_type:FULLTIME. Omitted: no extra chip filter. No option surcharge; 5 credits per successful request."},"lrad":{"type":"string","maxLength":8192,"description":"Google Jobs radius value copied from a Google Jobs URL. Passed through as a string; upstream documents no unit or range. Omit for source-default radius. No option surcharge; 5 credits per successful request."},"ltype":{"type":"string","maxLength":8192,"description":"Work-from-home filter token copied from a Google Jobs URL; upstream publishes no fixed value list. Omitted: no explicit work-from-home filter. No option surcharge; 5 credits per successful request."},"uds":{"type":"string","maxLength":8192,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No option surcharge; 5 credits per successful request."}},"required":["query"]}}}}}},"/v1/ai":{"get":{"tags":["API"],"summary":"AI-assisted search","description":"Google AI Mode answer for a question, as JSON text blocks with the cited links. Empty answers are not charged.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"text_blocks":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"snippet":{"type":"string"},"links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"text_blocks":[{"type":"paragraph","snippet":"An x402 server returns a payment request with HTTP 402; the client signs it and retries the request.","links":[{"link":"https://www.x402.org/"}]}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":10,"x-fastaf-cost-version":"v1","operationId":"getAi","parameters":[{"name":"query","in":"query","required":true,"description":"Required question/search text for Google AI Mode, e.g. How does an espresso machine work? No default. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"location","in":"query","required":false,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"AI-assisted search","description":"Google AI Mode answer for a question, as JSON text blocks with the cited links. Empty answers are not charged.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"text_blocks":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"snippet":{"type":"string"},"links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"text_blocks":[{"type":"paragraph","snippet":"An x402 server returns a payment request with HTTP 402; the client signs it and retries the request.","links":[{"link":"https://www.x402.org/"}]}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":10,"x-fastaf-cost-version":"v1","operationId":"postAi","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"query":{"type":"string","maxLength":8192,"description":"Required question/search text for Google AI Mode, e.g. How does an espresso machine work? No default. No option surcharge; 10 credits per successful request."},"country":{"type":"string","maxLength":8192,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request."},"language":{"type":"string","maxLength":8192,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request."},"uule":{"type":"string","maxLength":8192,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request."},"location":{"type":"string","maxLength":8192,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No option surcharge; 10 credits per successful request."},"safe":{"type":"string","maxLength":8192,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request."},"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request."}},"required":["query"]}}}}}},"/v1/walmart":{"get":{"tags":["API"],"summary":"Walmart search results","description":"Walmart search results by Walmart search URL, as JSON with product title, price, rating and availability.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"item":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"current_price":{"type":"string"},"rating":{"type":"number"},"availability_status":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"item":[{"title":"Wireless over-ear headphones","current_price":"$24.99","rating":4.4,"availability_status":"In stock"}]}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getWalmart","parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) walmart.com search URL, e.g. https://www.walmart.com/search?q=headphones. Include search, page and filter options in that URL; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://"}}]},"post":{"tags":["API"],"summary":"Walmart search results","description":"Walmart search results by Walmart search URL, as JSON with product title, price, rating and availability.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"item":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"current_price":{"type":"string"},"rating":{"type":"number"},"availability_status":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"item":[{"title":"Wireless over-ear headphones","current_price":"$24.99","rating":4.4,"availability_status":"In stock"}]}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postWalmart","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https?://","description":"Required full HTTP(S) walmart.com search URL, e.g. https://www.walmart.com/search?q=headphones. Include search, page and filter options in that URL; no default. No option surcharge; 5 credits per successful request."}},"required":["url"]}}}}}},"/v1/zillow":{"get":{"tags":["API"],"summary":"Zillow listings from a search URL","description":"Zillow listings from a Zillow search URL, as JSON: price, address, beds, baths, coordinates, Zestimate and listing link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"zillow_data":{"type":"array","items":{"type":"object","properties":{"zpid":{"type":"string"},"price":{"type":"string"},"address":{"type":"string"},"beds":{"type":"number"},"baths":{"type":"number"},"latLong":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":true},"detailUrl":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"zillow_data":[{"zpid":"123456789","price":"$650,000","address":"123 Oak Lane, Austin, TX 78704","beds":3,"baths":2,"latLong":{"latitude":30.245,"longitude":-97.765},"detailUrl":"https://www.zillow.com/homedetails/123456789_zpid/"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getZillow","parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) Zillow listings search URL, e.g. https://www.zillow.com/homes/Austin,-TX_rb/. Short city paths such as /austin-tx/ are normalized. No default; answers without listings are not charged. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://"}}]},"post":{"tags":["API"],"summary":"Zillow listings from a search URL","description":"Zillow listings from a Zillow search URL, as JSON: price, address, beds, baths, coordinates, Zestimate and listing link.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"zillow_data":{"type":"array","items":{"type":"object","properties":{"zpid":{"type":"string"},"price":{"type":"string"},"address":{"type":"string"},"beds":{"type":"number"},"baths":{"type":"number"},"latLong":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":true},"detailUrl":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"zillow_data":[{"zpid":"123456789","price":"$650,000","address":"123 Oak Lane, Austin, TX 78704","beds":3,"baths":2,"latLong":{"latitude":30.245,"longitude":-97.765},"detailUrl":"https://www.zillow.com/homedetails/123456789_zpid/"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postZillow","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https?://","description":"Required full HTTP(S) Zillow listings search URL, e.g. https://www.zillow.com/homes/Austin,-TX_rb/. Short city paths such as /austin-tx/ are normalized. No default; answers without listings are not charged. No option surcharge; 5 credits per successful request."}},"required":["url"]}}}}}},"/v1/ebay":{"get":{"tags":["API"],"summary":"eBay search results or one eBay item","description":"eBay search results from a search URL, or one item from an item URL, as JSON: title, price, condition, seller, shipping and link, on any eBay domain.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"itemId":{"type":"string"},"title":{"type":"string"},"condition":{"type":"string"},"price":{"type":"string"},"extracted_price":{"type":"number"},"shipping":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"position":1,"itemId":"123456789012","title":"Mechanical keyboard with brown switches","condition":"Pre-owned","price":"$45.00","extracted_price":45,"shipping":"Free shipping","link":"https://www.ebay.com/itm/123456789012"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getEbay","parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) eBay search URL (/sch/...) or item URL (/itm/...) on an eBay country domain. Search/filter/pagination options go in this URL. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://"}},{"name":"resource","in":"query","required":false,"description":"eBay operation: search or product. FastAF defaults to product for /itm/ URLs and search otherwise; both have the same price. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["search","product"]}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}}]},"post":{"tags":["API"],"summary":"eBay search results or one eBay item","description":"eBay search results from a search URL, or one item from an item URL, as JSON: title, price, condition, seller, shipping and link, on any eBay domain.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"itemId":{"type":"string"},"title":{"type":"string"},"condition":{"type":"string"},"price":{"type":"string"},"extracted_price":{"type":"number"},"shipping":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"position":1,"itemId":"123456789012","title":"Mechanical keyboard with brown switches","condition":"Pre-owned","price":"$45.00","extracted_price":45,"shipping":"Free shipping","link":"https://www.ebay.com/itm/123456789012"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postEbay","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https?://","description":"Required full HTTP(S) eBay search URL (/sch/...) or item URL (/itm/...) on an eBay country domain. Search/filter/pagination options go in this URL. No default. No option surcharge; 5 credits per successful request."},"resource":{"type":"string","enum":["search","product"],"description":"eBay operation: search or product. FastAF defaults to product for /itm/ URLs and search otherwise; both have the same price. No option surcharge; 5 credits per successful request."},"html":{"type":"boolean","description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request."}},"required":["url"]}}}}}},"/v1/x":{"get":{"tags":["API"],"summary":"X profile","description":"Public X (Twitter) profile by username, as JSON: name, bio, follower, following and post counts.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"description":{"type":"string"},"followers_count":{"type":"number"},"following_count":{"type":"number"},"statuses_count":{"type":"number"}},"additionalProperties":true},"example":{"name":"NASA","handle":"NASA","description":"Exploring space and sharing discoveries about our universe.","followers_count":85000000,"following_count":170,"statuses_count":75000}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getX","parameters":[{"name":"profileId","in":"query","required":true,"description":"Required public X/Twitter username, e.g. nasa, without @ or a profile URL. No default; retrieves profile data, not an arbitrary post. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}}]},"post":{"tags":["API"],"summary":"X profile","description":"Public X (Twitter) profile by username, as JSON: name, bio, follower, following and post counts.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"description":{"type":"string"},"followers_count":{"type":"number"},"following_count":{"type":"number"},"statuses_count":{"type":"number"}},"additionalProperties":true},"example":{"name":"NASA","handle":"NASA","description":"Exploring space and sharing discoveries about our universe.","followers_count":85000000,"following_count":170,"statuses_count":75000}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postX","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"profileId":{"type":"string","maxLength":8192,"description":"Required public X/Twitter username, e.g. nasa, without @ or a profile URL. No default; retrieves profile data, not an arbitrary post. No option surcharge; 5 credits per successful request."}},"required":["profileId"]}}}}}},"/v1/screenshot":{"get":{"tags":["API"],"summary":"Web page screenshot","description":"Screenshot of a public web page as an image (PNG by default), optionally the full page.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"getScreenshot","parameters":[{"name":"url","in":"query","required":true,"description":"Required public HTTP(S) page URL to capture in a browser. Private/network-internal targets and login paths are refused. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://"}},{"name":"fullPage","in":"query","required":false,"description":"Capture the entire scrollable page when true, or only the viewport when false; boolean, default viewport-only capture. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}},{"name":"width","in":"query","required":false,"description":"Browser viewport width in CSS pixels, supplied as a positive integer string, e.g. 1280. Omitted: upstream viewport default; FastAF sets no fixed width. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"height","in":"query","required":false,"description":"Browser viewport height in CSS pixels, supplied as a positive integer string, e.g. 720. Omitted: upstream viewport default; fullPage may produce a taller image. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"wait_until","in":"query","required":false,"description":"Capture readiness: domcontentloaded (default) after DOM parsing, load after the load event, or networkidle after network activity is idle. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["load","domcontentloaded","networkidle"],"default":"domcontentloaded"}},{"name":"format","in":"query","required":false,"description":"Image encoding: png (default), jpg or webp. Response contains image bytes, not JSON or base64 text. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["png","jpg","webp"],"default":"png"}},{"name":"quality","in":"query","required":false,"description":"Image quality, integer 0-100; default 80. Applies to lossy jpg/webp encoding; PNG is lossless. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0,"maximum":100,"default":80}}]},"post":{"tags":["API"],"summary":"Web page screenshot","description":"Screenshot of a public web page as an image (PNG by default), optionally the full page.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Provider response.","headers":{"X-FastAF-Credits-Used":{"schema":{"type":"integer"}},"X-FastAF-Cost-Version":{"schema":{"type":"string"}}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"502":{"$ref":"#/components/responses/BadGateway"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"504":{"$ref":"#/components/responses/GatewayTimeout"}},"x-fastaf-credit-cost":5,"x-fastaf-cost-version":"v1","operationId":"postScreenshot","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https?://","description":"Required public HTTP(S) page URL to capture in a browser. Private/network-internal targets and login paths are refused. No default. No option surcharge; 5 credits per successful request."},"fullPage":{"type":"boolean","description":"Capture the entire scrollable page when true, or only the viewport when false; boolean, default viewport-only capture. No option surcharge; 5 credits per successful request."},"width":{"type":"string","maxLength":8192,"description":"Browser viewport width in CSS pixels, supplied as a positive integer string, e.g. 1280. Omitted: upstream viewport default; FastAF sets no fixed width. No option surcharge; 5 credits per successful request."},"height":{"type":"string","maxLength":8192,"description":"Browser viewport height in CSS pixels, supplied as a positive integer string, e.g. 720. Omitted: upstream viewport default; fullPage may produce a taller image. No option surcharge; 5 credits per successful request."},"wait_until":{"type":"string","enum":["load","domcontentloaded","networkidle"],"default":"domcontentloaded","description":"Capture readiness: domcontentloaded (default) after DOM parsing, load after the load event, or networkidle after network activity is idle. No option surcharge; 5 credits per successful request."},"format":{"type":"string","enum":["png","jpg","webp"],"default":"png","description":"Image encoding: png (default), jpg or webp. Response contains image bytes, not JSON or base64 text. No option surcharge; 5 credits per successful request."},"quality":{"type":"integer","minimum":0,"maximum":100,"default":80,"description":"Image quality, integer 0-100; default 80. Applies to lossy jpg/webp encoding; PNG is lossless. No option surcharge; 5 credits per successful request."}},"required":["url"]}}}}}},"/v1/usage":{"get":{"tags":["Account"],"summary":"Current account usage and credit balance","operationId":"getUsage","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Usage snapshot.","content":{"application/json":{"schema":{"type":"object","required":["balance_credits","free_requests_remaining","lifetime_usage_credits","concurrency_limit","active_requests"],"properties":{"balance_credits":{"type":"integer","minimum":0},"free_requests_remaining":{"type":"integer","minimum":0,"maximum":1,"description":"Unreserved trial requests remaining; separate from credits."},"lifetime_usage_credits":{"type":"integer","minimum":0},"concurrency_limit":{"type":"integer","minimum":1},"active_requests":{"type":"integer","minimum":0}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/requests":{"get":{"tags":["Account"],"summary":"Recent API requests for the current account","description":"Per-request log entries from the last 30 days, newest first, with cursor pagination.","operationId":"listRequests","security":[{"bearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"description":"Page size. Defaults to 50.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"before","in":"query","required":false,"description":"Cursor: return entries created strictly before this timestamp. Use next_before from the previous page.","schema":{"type":"string","format":"date-time"}},{"name":"before_id","in":"query","required":false,"description":"Cursor tiebreak: with before, also return entries at that same timestamp whose id sorts below this one. Use next_before_id from the previous page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Request log page, newest first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["requests"],"properties":{"requests":{"type":"array","items":{"$ref":"#/components/schemas/RequestLogEntry"}},"next_before":{"type":"string","format":"date-time","description":"Present when more entries exist; pass it as before to fetch the next page."},"next_before_id":{"type":"string","description":"Present with next_before; pass it as before_id so entries sharing that timestamp are not skipped."}}}}}},"400":{"description":"The limit or before parameter is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/usage/daily":{"get":{"tags":["Account"],"summary":"Daily usage aggregates per endpoint","description":"Credits, request counts and failures grouped by calendar day (UTC) and endpoint, for up to the last 90 days.","operationId":"getDailyUsage","security":[{"bearerAuth":[]}],"parameters":[{"name":"days","in":"query","required":false,"description":"Window size in days, inclusive of today. Defaults to 30.","schema":{"type":"integer","minimum":1,"maximum":90}}],"responses":{"200":{"description":"Daily aggregates, newest day first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["days"],"properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/UsageDay"}}}}}}},"400":{"description":"The days parameter is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/keys":{"get":{"tags":["Account"],"summary":"List API keys for the current account","operationId":"listApiKeys","security":[{"bearerAuth":[]},{"sessionCookie":[]}],"responses":{"200":{"description":"API keys ordered by creation time, newest first.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["keys"],"properties":{"keys":{"type":"array","items":{"$ref":"#/components/schemas/ApiKey"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}},"post":{"tags":["Account"],"summary":"Create an API key for the current account","description":"At most five active keys are allowed. The full key is returned only in this response.","operationId":"createApiKey","security":[{"bearerAuth":[]},{"sessionCookie":[]}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":100,"pattern":".*\\S.*","default":"default"}}}}}},"responses":{"201":{"description":"API key created. The full key is shown only once.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedApiKey"}}}},"400":{"description":"The JSON body or key name is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"409":{"description":"The account already has five active API keys.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/keys/{id}":{"delete":{"tags":["Account"],"summary":"Revoke an API key","description":"The current key and the last active key on an account cannot be revoked.","operationId":"revokeApiKey","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"API key revoked.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["revoked"],"properties":{"revoked":{"type":"boolean","const":true}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"description":"The API key does not exist on this account.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"The API key is the current key or the account's last active key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/checkout":{"post":{"tags":["Account"],"summary":"Start a credit pack purchase with the API key","description":"Returns a payment link for the pack. The credits are added to the key's account when the payment is confirmed; check GET /v1/usage.","operationId":"createCheckout","security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["pack"],"properties":{"pack":{"type":"string","enum":["starter","growth","scale","pro","business"]}}}}}},"responses":{"201":{"description":"Payment link.","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/x402/topup":{"post":{"tags":["Account"],"summary":"Buy a credit pack for the API key's account over x402","description":"x402 v2, USDC on Base. Without PAYMENT-SIGNATURE the answer is 402 with the PAYMENT-REQUIRED challenge for the pack price; sign it and retry. Credits are added only after settlement, once per payment.","operationId":"x402TopUp","security":[{"bearerAuth":[]}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"dynamic","currency":"USD","min":"10.000000","max":"799.000000"}},"parameters":[{"name":"pack","in":"query","required":true,"schema":{"type":"string","enum":["starter","growth","scale","pro","business"]},"description":"starter: $10 for 20000 credits; growth: $29 for 75000 credits; scale: $99 for 300000 credits; pro: $299 for 1000000 credits; business: $799 for 3000000 credits"}],"responses":{"200":{"description":"Settled and credited.","content":{"application/json":{"schema":{"type":"object","required":["credited","pack","order_id"],"properties":{"credited":{"type":"integer"},"pack":{"type":"string"},"order_id":{"type":"string"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"description":"Payment required: see the PAYMENT-REQUIRED header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This payment is already being used by another request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"description":"Settled but not credited yet; contact support with the order id.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/public/signup":{"post":{"operationId":"signupWithEmail","tags":["Signup"],"summary":"Start email-confirmed free signup","description":"Get a free API key at https://fastaf.co/signup/ with an email address, terms acceptance and browser verification. No card is required. POST /public/signup sends an email confirmation link and sets a dashboard session cookie; it does not return an API key. Follow the emailed GET /public/signin/{token} link, then create a key in the dashboard (POST /v1/keys with the session cookie). The key is shown only once. Email confirmation unlocks one successful free request shared across all keys and REST/MCP, valid for 12 months; failed calls restore it. GET /v1/usage reports free_requests_remaining separately from balance_credits. POST /v1/signup is retired and always returns 410 signup_disabled. Agents without an inbox can use /x402/v1/{endpoint} without an account.","security":[],"externalDocs":{"url":"https://fastaf.co/signup/"},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","terms_accepted","terms_version","turnstile_token"],"properties":{"email":{"type":"string","format":"email"},"terms_accepted":{"type":"boolean","const":true},"terms_version":{"type":"string","minLength":1,"maxLength":64,"description":"Terms version from the signup page."},"turnstile_token":{"type":"string","minLength":1,"maxLength":2048,"description":"Browser verification token. Required in production; not an API key."}}}}}},"responses":{"201":{"description":"Confirmation email sent; no API key in this response.","headers":{"Set-Cookie":{"schema":{"type":"string"},"description":"HttpOnly dashboard session cookie."}},"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"account_id":{"type":"string"},"email":{"type":"string","format":"email"},"credits":{"type":"integer","const":0},"free_credits_pending":{"type":"integer","const":0},"free_requests_pending":{"type":"integer","const":1}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"409":{"description":"Email already registered. Sign in at https://fastaf.co/dashboard/."},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/public/signin/{token}":{"get":{"operationId":"confirmEmailLink","tags":["Signup"],"summary":"Follow the emailed confirmation or sign-in link","description":"Navigate using the one-time link from the email, not a guessed token. Confirms the email, unlocks the trial and sets a dashboard session. An invalid or expired link redirects with signin=expired.","security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"},"description":"Secret one-time email token. Never log or share it."}],"responses":{"302":{"description":"Redirect to the dashboard.","headers":{"Location":{"schema":{"type":"string","format":"uri"}},"Set-Cookie":{"schema":{"type":"string"},"description":"HttpOnly session cookie on successful verification."}}}}}},"/v1/signup":{"post":{"operationId":"retiredAgentSignup","tags":["Signup"],"summary":"Retired agent signup (always 410)","description":"Use https://fastaf.co/signup/ for an email-confirmed key, or x402 without an account. This endpoint never creates accounts or keys.","deprecated":true,"security":[],"responses":{"410":{"description":"signup_disabled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","const":"signup_disabled"},"message":{"type":"string"},"signup_url":{"type":"string","format":"uri"}}}}}}}}}}},"/x402/v1/serp":{"get":{"operationId":"x402GetSerp","summary":"Search engine results","description":"Live Google search results as JSON: organic results with title, link and snippet, plus related blocks when Google shows them. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["search","google","serp"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"dynamic","currency":"USD","min":"0.005000","max":"0.010000"}},"parameters":[{"name":"query","in":"query","required":true,"description":"Required Google search text; supports operators such as site:example.com and intitle:coffee. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192,"example":"best espresso machine"},"example":"best espresso machine"},{"name":"results","in":"query","required":false,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"page","in":"query","required":false,"description":"Zero-based Google results page, integer 0-100; default 0. Each page is a separate request. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"integer","minimum":0}},{"name":"advance_search","in":"query","required":false,"description":"Include advanced Google result features/snippets when true; true/false, default false. False: 5 credits; true: 10 credits per request.","schema":{"type":"boolean"}},{"name":"mob_search","in":"query","required":false,"description":"Request mobile rather than desktop Google results; true/false, default false. FastAF does not add a mobile surcharge. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"deep_scrape","in":"query","required":false,"description":"Fetch content from organic-result destination pages as well as the SERP; true/false, default false. Use with advance_search=false; no FastAF surcharge. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"boolean"}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192,"example":"us"},"example":"us"},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"location","in":"query","required":false,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"cr","in":"query","required":false,"description":"Restrict documents by country: countryFR or countryFR|countryDE. Omitted: no explicit country restriction (unlike country, which localizes the search). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"filter","in":"query","required":false,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"ludocid","in":"query","required":false,"description":"Google business listing CID as a decimal string, copied from a Google local result. Omitted: no specific business selected. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"lsig","in":"query","required":false,"description":"Opaque Google local-listing signature used with a business/knowledge-panel lookup; copy from a Google URL. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"kgmid","in":"query","required":false,"description":"Google Knowledge Graph entity ID, e.g. /m/09c7w0; may override other search filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"si","in":"query","required":false,"description":"Opaque Google cached-search/knowledge-panel tab token; may override other filters except page/results. No default. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"ibp","in":"query","required":false,"description":"Google layout/expansion expression, e.g. gwp;0,7 for a ludocid lookup. Omitted: standard results layout. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}},{"name":"uds","in":"query","required":false,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No additional credits; 5 per request, or 10 with advance_search=true.","schema":{"type":"string","maxLength":8192}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"organic_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"title":{"type":"string"},"link":{"type":"string"},"snippet":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"organic_results":[{"position":1,"title":"Best espresso machines for home brewing","link":"https://example.com/guides/espresso-machines","snippet":"Compare compact espresso machines by pressure, grinder and milk-steaming features."}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/maps":{"get":{"operationId":"x402GetMaps","summary":"Google Maps search or place details","description":"Google Maps places as JSON: name, address, rating, reviews count and place_id, or one place by place_id. The search is centred on the place named in the query or in location. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["maps","google","places","local"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"query","in":"query","required":false,"description":"Maps search text, e.g. coffee in Rome; required unless place_id is supplied. Without location or ll, FastAF uses a place named in the query. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"coffee near Times Square"},"example":"coffee near Times Square"},{"name":"location","in":"query","required":false,"description":"Search-centre place name, e.g. Rome, Italy (up to 200 characters). Cannot combine with ll. Omit to infer from query; unresolved or out-of-area results are not charged. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"ll","in":"query","required":false,"description":"Search centre as @latitude,longitude,zoom, e.g. @41.9028,12.4964,13z (coordinates in degrees; zoom 3z-30z; map height in metres also supported upstream). Needed for pagination. Cannot combine with location; omitted: infer from query/location. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"data","in":"query","required":false,"description":"Opaque data fragment copied from a Google Maps URL, e.g. !4m5!3m4!1s<id>!8m2!3d<lat>!4d<lon>. Used with type=place; unnecessary with place_id. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"place_id","in":"query","required":false,"description":"Google Maps place identifier, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4, for one place's details. Required if query is omitted; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Maps operation: search for query results or place for details using data. Omit for query search or automatic place_id lookup. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["search","place"]}},{"name":"page","in":"query","required":false,"description":"Maps result offset, integer 0-100: 0 first page, 20 second, 40 third. Default 0; supply ll for pagination. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"address":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"number"},"place_id":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"title":"Broadway Coffee","address":"1500 Broadway, New York, NY 10036","rating":4.6,"reviews":128,"place_id":"ChIJmQJIxlVYwokRLgeuocVOGVU"}]}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/amazon":{"get":{"operationId":"x402GetAmazon","summary":"Amazon product or search results","description":"Amazon search results or one product by ASIN, as JSON with title, price, rating and availability, on 20+ Amazon domains. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["ecommerce","amazon","prices","products"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.005000"}},"parameters":[{"name":"resource","in":"query","required":false,"description":"Amazon operation: search (default), product, offers or bestsellers. Reviews are not sold. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","enum":["search","product","offers","bestsellers"],"default":"search","example":"product"},"example":"product"},{"name":"asin","in":"query","required":false,"description":"Amazon product identifier, usually 10 letters/digits, e.g. B08N5WRWNW. Required for product and offers; not used for search/bestsellers. No default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192,"example":"B08N5WRWNW"},"example":"B08N5WRWNW"},{"name":"query","in":"query","required":false,"description":"Required product search text for resource=search, e.g. wireless headphones. Not valid for other resources; no default. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Amazon domain suffix, not a hostname: com, co.uk, de, in, etc.; default com. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192,"example":"com"},"example":"com"},{"name":"country","in":"query","required":false,"description":"Two-letter marketplace/proxy country code, e.g. us, gb or de; default us. Unlike scrape.country, this has no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Product-data language code, e.g. en, de or fr; omitted: marketplace default. Valid for search, product and bestsellers. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"postal_code","in":"query","required":false,"description":"Delivery postal/ZIP code, e.g. 10001, to localize availability and price. Valid for search/product/offers; omitted: source-default delivery location. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"One-based page number, default 1. Search accepts 1-100; bestsellers accepts 1-2 (set full_list=false for a single page). Each request is billed separately. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"premium","in":"query","required":false,"description":"Use premium proxies for resource=search; true/false, default false. Not valid for product/offers/bestsellers; no FastAF surcharge. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"boolean"}},{"name":"sort_by","in":"query","required":false,"description":"Review order: helpful or recent. Reviews are currently unavailable, so requests using this option are rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["helpful","recent"]}},{"name":"filter_by_star","in":"query","required":false,"description":"Review rating filter: all_stars, five_star, four_star, three_star, two_star, one_star, positive or critical. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_stars","five_star","four_star","three_star","two_star","one_star","positive","critical"]}},{"name":"reviewer_type","in":"query","required":false,"description":"Review author filter: all_reviews or avp_only_reviews (verified purchases). Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_reviews","avp_only_reviews"]}},{"name":"media_type","in":"query","required":false,"description":"Review attachment filter: all_contents or media_reviews_only. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_contents","media_reviews_only"]}},{"name":"format_type","in":"query","required":false,"description":"Review product-variant filter: all_formats or current_format. Reviews unavailable; rejected without charge; no FastAF default. No credits charged for rejected requests.","schema":{"type":"string","enum":["all_formats","current_format"]}},{"name":"url","in":"query","required":false,"description":"Full HTTP(S) Amazon reviews URL, an alternative to ASIN for reviews. Reviews are unavailable; this option is rejected without charge. No default. No credits charged for rejected requests.","schema":{"type":"string","maxLength":8192}},{"name":"category_id","in":"query","required":false,"description":"Bestseller category slug, node ID or slug/node pair, e.g. kitchen, 289668 or kitchen/289668. Omit for all departments; bestsellers only. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Ranked list for bestsellers: bestsellers (default), new_releases, movers_and_shakers, most_wished_for or most_gifted. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"string","enum":["bestsellers","new_releases","movers_and_shakers","most_wished_for","most_gifted"]}},{"name":"full_list","in":"query","required":false,"description":"For bestsellers, true returns the combined ranked list (upstream default true); false returns only page. Boolean; no FastAF surcharge for the full list. No option surcharge; search/product cost 1 credit, offers/bestsellers 5 credits per request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"asin":{"type":"string"},"title":{"type":"string"},"price":{"type":"string"},"availability_status":{"type":"string"},"average_rating":{"type":"number"},"total_reviews":{"type":"number"}},"additionalProperties":true},"example":{"asin":"B08N5WRWNW","title":"Echo Dot (4th Gen) smart speaker","price":"$49.99","availability_status":"In Stock","average_rating":4.5,"total_reviews":1234}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/linkedin":{"get":{"operationId":"x402GetLinkedin","summary":"LinkedIn profile","description":"Public LinkedIn person profile as JSON: name, headline, location and summary. Visible-without-login data only. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["linkedin","profiles","people"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.060000"}},"parameters":[{"name":"id","in":"query","required":true,"description":"Required public LinkedIn person-profile slug from /in/<id>/, e.g. williamhgates, not a full URL. No default; public data only. No option surcharge; 60 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"williamhgates"},"example":"williamhgates"},{"name":"type","in":"query","required":false,"description":"Profile resource selector; only profile is accepted and is the FastAF default. Company profiles are not supported here. No option surcharge; 60 credits per successful request.","schema":{"type":"string","enum":["profile"],"example":"profile"},"example":"profile"},{"name":"premium","in":"query","required":false,"description":"Use the premium profile retrieval option; true/false, default false. Still public data only; no additional FastAF credits. No option surcharge; 60 credits per successful request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"fullName":{"type":"string"},"public_identifier":{"type":"string"},"headline":{"type":"string"},"location":{"type":"string"},"about":{"type":"string"}},"additionalProperties":true}},"example":[{"fullName":"Bill Gates","public_identifier":"williamhgates","headline":"Co-chair, Gates Foundation","location":"Seattle, Washington, United States","about":"Working on global health, climate and education."}]}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/youtube":{"get":{"operationId":"x402GetYoutube","summary":"YouTube search or transcript","description":"YouTube video transcript by video id (v), or YouTube search results with resource=search, as JSON. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["youtube","video","transcripts"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.005000"}},"parameters":[{"name":"resource","in":"query","required":false,"description":"YouTube operation: transcript (default) or search. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","enum":["transcript","search"],"default":"transcript"}},{"name":"v","in":"query","required":false,"description":"Required YouTube video ID for transcript, e.g. jNQXAC9IVRw, not the watch URL. Not valid for search; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192,"example":"jNQXAC9IVRw"},"example":"jNQXAC9IVRw"},{"name":"search_query","in":"query","required":false,"description":"Required YouTube search text for resource=search, e.g. espresso tutorial. Not valid for transcript; no default. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"country","in":"query","required":false,"description":"Two-letter YouTube country code, e.g. us or gb; upstream default us for search/transcripts. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"YouTube language code, e.g. en, es or de; upstream default en. For transcripts, requests the available caption language; no translation is guaranteed. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}},{"name":"sp","in":"query","required":false,"description":"YouTube search filter or continuation token copied from a search URL/previous response; search only. Omit for the first unfiltered page. Each page is a separate request. No option surcharge; transcript costs 1 credit, search 5 credits per request.","schema":{"type":"string","maxLength":8192}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"transcripts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"start":{"type":"number"},"duration":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"transcripts":[{"text":"The elephants are behind me.","start":0.5,"duration":3.2}]}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/scrape":{"get":{"operationId":"x402GetScrape","summary":"Web page scraping","description":"Fetch any public web page and return its HTML, or markdown with formats=markdown. dynamic=true renders JavaScript, premium=true uses residential proxies, challenge_mode=true handles pages behind a browser verification check. Verification, empty or incomplete pages are never settled. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["scraping","web","markdown","html"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"dynamic","currency":"USD","min":"0.001000","max":"0.035000"}},"parameters":[{"name":"url","in":"query","required":true,"description":"Required public HTTP(S) page URL. Zillow/eBay URLs are rejected without charge: use their dedicated endpoints. Booking defaults to rendering; Reddit uses a best-effort public feed (1 credit), ignoring rendering/proxy/wait/session/header options. Normal base cost: 1 credit; rendered Booking defaults cost 5. Other selected modes/AI can increase cost.","schema":{"type":"string","format":"uri","pattern":"^https?://","example":"https://example.com/"},"example":"https://example.com/"},{"name":"dynamic","in":"query","required":false,"description":"Render JavaScript before extracting content; true/false. FastAF default false, except booking.com defaults true with wait=8000. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10.","schema":{"type":"boolean"}},{"name":"js_rendering","in":"query","required":false,"description":"Alias for dynamic with identical defaults and pricing. Boolean; cannot disagree with dynamic. Ignored for Reddit feeds. Base cost: 1 credit without rendering, 5 with rendering, or 25 with rendering plus premium/country; AI adds 10.","schema":{"type":"boolean"}},{"name":"premium","in":"query","required":false,"description":"Use residential proxies; true/false, default false. Cannot combine true with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10.","schema":{"type":"boolean"}},{"name":"custom_headers","in":"query","required":false,"description":"Boolean upstream header-forwarding flag, default false; NOT a header map. FastAF does not forward caller HTTP headers, cookies or Authorization to the target, so this cannot customize them. Ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"boolean"}},{"name":"wait","in":"query","required":false,"description":"Extra browser loading delay in milliseconds, integer 0-35000, for dynamic rendering. Omitted: no explicit extra delay, except rendered booking.com defaults to 8000. Does not enable rendering; ignored for Reddit feeds. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"integer","minimum":0,"maximum":35000}},{"name":"country","in":"query","required":false,"description":"Proxy exit country as a two-letter ISO 3166-1 code, e.g. us, gb or de. Omit for no country targeting. Selecting any country uses premium-tier pricing even if premium=false; incompatible with challenge_mode. Ignored for Reddit feeds. Base cost with premium=true or any country: 10 credits, 25 with dynamic; AI adds 10.","schema":{"type":"string","maxLength":8192}},{"name":"session_number","in":"query","required":false,"description":"Reusable proxy session identifier, e.g. 12345. Repeat it to request the same proxy IP; expires after 60 seconds of inactivity. Omit to rotate normally. Ignored for Reddit feeds; not a FastAF login session. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"string","maxLength":8192}},{"name":"image","in":"query","required":false,"description":"Enable fetching image URLs; true/false, default false. Not a screenshot: use /screenshot for captures, or formats=images to extract page image links. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"boolean"}},{"name":"formats","in":"query","required":false,"description":"One output format: html (default), links, markdown, summary or images. summary is AI-generated; links/images extract page URLs. Reddit supports html/markdown only. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","enum":["html","links","markdown","summary","images"],"example":"markdown"},"example":"markdown"},{"name":"ai_query","in":"query","required":false,"description":"Natural-language extraction prompt, e.g. Return the product price and currency. Omit for no prompt-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","maxLength":8192}},{"name":"ai_extract_rules","in":"query","required":false,"description":"JSON-encoded extraction instructions as a STRING, e.g. {\"price\":\"product price\",\"currency\":\"currency code\"}; not a nested JSON object. Omit for no rule-based extraction. Not supported for Reddit feeds. AI extraction (ai_query, ai_extract_rules or formats=summary) adds 10 credits once per request, even when combined; other formats add none.","schema":{"type":"string","maxLength":8192}},{"name":"type","in":"query","required":false,"description":"Non-HTML target format: image, pdf or pbf (Protocolbuffer Binary Format). Omit for normal page scraping. This selects a binary resource, not a screenshot or an output format conversion. No additional credits; selected rendering/proxy/AI options determine the request cost.","schema":{"type":"string","enum":["image","pdf","pbf"]}},{"name":"challenge_mode","in":"query","required":false,"description":"Browser-verification handling mode; true/false, default false. Uses its own rendering/proxies; cannot combine with dynamic=true, premium=true or country. Ignored for Reddit feeds. When enabled: 10 base credits; AI adds 10.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"text/html":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"},"example":"# Example Domain\n\nThis domain is for use in documentation examples."},"text/plain":{"schema":{"type":"string"}},"application/json":{"schema":{"type":["object","array"],"additionalProperties":true}},"image/*":{"schema":{"type":"string","format":"binary"}},"application/pdf":{"schema":{"type":"string","format":"binary"}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/news":{"get":{"operationId":"x402GetNews","summary":"News search results","description":"Google News results as JSON: title, source, date, link and snippet. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["news","google","search"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"query","in":"query","required":true,"description":"Required Google News search text, e.g. renewable energy; supports Google search operators. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"web scraping regulation"},"example":"web scraping regulation"},{"name":"results","in":"query","required":false,"description":"Maximum results retained by FastAF, integer 1-100. Omit for the full returned page. Google supplies up to 10 per page; use page for more, not a larger results value. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"news_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"source":{"type":"string"},"lastUpdated":{"type":"string"},"url":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"news_results":[{"title":"Researchers discuss responsible public-web data collection","source":"Technology Review Daily","lastUpdated":"2 hours ago","url":"https://example.com/news/public-web-data"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/shopping":{"get":{"operationId":"x402GetShopping","summary":"Shopping search results","description":"Google Shopping results as JSON: product title, price, merchant, rating and product link. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["shopping","google","prices","ecommerce"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.010000"}},"parameters":[{"name":"query","in":"query","required":true,"description":"Required Google Shopping search text or complete Google search URL, e.g. running shoes. No default. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"running shoes"},"example":"running shoes"},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 10 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"shoprs","in":"query","required":false,"description":"Opaque Google Shopping filter ID copied from a Google URL; pair with query text including the selected filter label. Omit for no explicit shopping filter. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"tbs","in":"query","required":false,"description":"Google filter expression, e.g. qdr:d for the past day or qdr:w for the past week. Omitted: no explicit time/advanced filter. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"nfpr","in":"query","required":false,"description":"Spelling correction: string 1 excludes automatically corrected queries; 0 allows them (default 0). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"shopping_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"price":{"type":"string"},"source":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"shopping_results":[{"title":"Road running shoes, size 9","price":"$89.00","source":"City Sports","link":"https://example.com/products/road-running-shoes"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/trends":{"get":{"operationId":"x402GetTrends","summary":"Search trend data","description":"Google Trends interest over time or by region for one or more terms, as JSON timeline data. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["trends","google","keywords"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"query","in":"query","required":false,"description":"Comma-separated Google Trends terms or topic IDs, e.g. coffee,tea or /m/027lnzs. Upstream supports up to 5 terms (100 characters each) for TIMESERIES/GEO_MAP and one for GEO_MAP_0. No default term. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"web scraping api"},"example":"web scraping api"},{"name":"data_type","in":"query","required":false,"description":"Trend view: TIMESERIES (default) for interest over time, GEO_MAP for regional comparison of multiple terms, or GEO_MAP_0 for one term by region. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["TIMESERIES","GEO_MAP","GEO_MAP_0"],"default":"TIMESERIES"}},{"name":"geo","in":"query","required":false,"description":"Google Trends region code, e.g. US or US-CA. Omit for worldwide interest; do not send an empty value. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"region","in":"query","required":false,"description":"Regional aggregation for GEO_MAP/GEO_MAP_0: COUNTRY, REGION, DMA (metro) or CITY. Omit for source-default resolution; availability depends on geo. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["COUNTRY","REGION","DMA","CITY"]}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"date","in":"query","required":false,"description":"Trend time range: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all, or YYYY-MM-DD YYYY-MM-DD. Hour ranges use YYYY-MM-DDThh within one week. Omitted: upstream default range. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cat","in":"query","required":false,"description":"Google Trends numeric category ID as a string; default 0 includes all categories. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"gprop","in":"query","required":false,"description":"Search property: images, news, froogle (Shopping) or youtube. Omit for Web Search. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["images","news","froogle","youtube"]}},{"name":"tz","in":"query","required":false,"description":"Timezone offset in minutes, integer -1439 to 1439; upstream default 420 (UTC-07:00). Positive values are west of UTC, negative east; 0 is UTC. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":-1439,"maximum":1439}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"interest_over_time":{"type":"object","properties":{"timeline_data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"values":{"type":"array","items":{"type":"object","properties":{"query":{"type":"string"},"value":{"type":"number"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true}},"additionalProperties":true},"example":{"interest_over_time":{"timeline_data":[{"date":"Oct 5 - 11, 2026","values":[{"query":"web scraping api","value":72}]}]}}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/scholar":{"get":{"operationId":"x402GetScholar","summary":"Scholarly search results","description":"Google Scholar results as JSON: title, authors, publication, year, citation count and link. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["scholar","research","papers","google"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}},{"name":"query","in":"query","required":false,"description":"Scholar search text, supporting author: and source:. Required unless cites or cluster is supplied. May refine cites results; cannot combine with cluster. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"retrieval augmented generation"},"example":"retrieval augmented generation"},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lr","in":"query","required":false,"description":"Document-language filter: lang_en or a pipe-separated list such as lang_en|lang_fr. Omitted: no explicit language restriction. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cites","in":"query","required":false,"description":"Scholar article ID for a Cited by lookup, copied from a Scholar result. May combine with query to filter citing papers, but not cluster. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_ylo","in":"query","required":false,"description":"Inclusive earliest publication year as a four-digit string, e.g. 2020. Omit for no lower year bound; may combine with as_yhi. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_yhi","in":"query","required":false,"description":"Inclusive latest publication year as a four-digit string, e.g. 2026. Omit for no upper year bound; may combine with as_ylo. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"scisbd","in":"query","required":false,"description":"Scholar result mode: string 1 requests abstract results, 0 all results. Omitted: source-default result mode. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"cluster","in":"query","required":false,"description":"Scholar article cluster ID for an All versions lookup. Use instead of query/cites, never together; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_sdt","in":"query","required":false,"description":"Scholar search/filter codes: 0 excludes patents (default), 7 includes patents, 4 selects US case law. Court codes can follow 4, e.g. 4,33,192. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"filter","in":"query","required":false,"description":"Duplicate/omitted-result filtering: string 1 enables it (default); 0 includes similar and normally omitted results. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_vis","in":"query","required":false,"description":"Citation-only results: string 1 excludes them, 0 includes them (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"as_rr","in":"query","required":false,"description":"Review-paper filter: string 1 returns review articles only, 0 all article types (default 0). No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"page","in":"query","required":false,"description":"Zero-based results page: 0 is the first page, 1 the second; non-negative integer, default 0. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0}},{"name":"results","in":"query","required":false,"description":"Requested results per Scholar page, integer at least 1; omitted: source-default page size. Google may return fewer; not a count of separately billed requests. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"scholar_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"displayed_link":{"type":"string"},"snippet":{"type":"string"},"inline_links":{"type":"object","properties":{"cited_by":{"type":"object","properties":{"total":{"type":"string"},"cites_id":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true},"title_link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"scholar_results":[{"title":"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks","displayed_link":"P Lewis et al. - NeurIPS, 2020","snippet":"A retrieval-augmented model combines a language model with a searchable document index.","inline_links":{"cited_by":{"total":"Cited by 120","cites_id":"1234567890123456789"}},"title_link":"https://arxiv.org/abs/2005.11401"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/jobs":{"get":{"operationId":"x402GetJobs","summary":"Job search results","description":"Google Jobs listings as JSON: role, company, location, posting date and apply links. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["jobs","google","hiring"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"query","in":"query","required":true,"description":"Required job search text, e.g. software engineer in Austin. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"product manager jobs new york"},"example":"product manager jobs new york"},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Google Jobs result language/locale, e.g. en_us; upstream default en_us. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"domain","in":"query","required":false,"description":"Google host to search, e.g. google.com or google.co.uk; default google.com. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"next_page_token","in":"query","required":false,"description":"Opaque continuation token from the previous jobs response. Omit for the first page; keep the original query/filters. Each page is a separate request. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"chips","in":"query","required":false,"description":"Google Jobs filter expression copied from the search page, e.g. employment_type:FULLTIME. Omitted: no extra chip filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"lrad","in":"query","required":false,"description":"Google Jobs radius value copied from a Google Jobs URL. Passed through as a string; upstream documents no unit or range. Omit for source-default radius. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"ltype","in":"query","required":false,"description":"Work-from-home filter token copied from a Google Jobs URL; upstream publishes no fixed value list. Omitted: no explicit work-from-home filter. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uds","in":"query","required":false,"description":"Opaque Google results-filter token copied from a Google search URL. Omitted: no extra token filter; do not invent a token. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"jobs_results":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"company_name":{"type":"string"},"location":{"type":"string"},"apply_links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"jobs_results":[{"title":"Product Manager","company_name":"Northstar Analytics","location":"New York, NY","apply_links":[{"link":"https://example.com/careers/product-manager"}]}]}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/ai":{"get":{"operationId":"x402GetAi","summary":"AI-assisted search","description":"Google AI Mode answer for a question, as JSON text blocks with the cited links. Empty answers are not charged. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["ai","google","answers","llm"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.010000"}},"parameters":[{"name":"query","in":"query","required":true,"description":"Required question/search text for Google AI Mode, e.g. How does an espresso machine work? No default. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"how do x402 payments work"},"example":"how do x402 payments work"},{"name":"country","in":"query","required":false,"description":"Two-letter search country code, e.g. us, uk or fr; default us. Localizes results, not a scrape proxy selection. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"language","in":"query","required":false,"description":"Result/interface language code, e.g. en, es, fr or de; default en. Use lr, where supported, to restrict document languages. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"uule","in":"query","required":false,"description":"Google's encoded geographic search token, copied from a Google URL. Omit for no explicit token; do not combine with location where supported. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"location","in":"query","required":false,"description":"City-level search origin, e.g. Austin, Texas, United States; omit for source-default location. Cannot be combined with uule. No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"safe","in":"query","required":false,"description":"Adult-content filter: active enables SafeSearch; off disables it (default off). No option surcharge; 10 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 10 credits per successful request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"text_blocks":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"snippet":{"type":"string"},"links":{"type":"array","items":{"type":"object","properties":{"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"text_blocks":[{"type":"paragraph","snippet":"An x402 server returns a payment request with HTTP 402; the client signs it and retries the request.","links":[{"link":"https://www.x402.org/"}]}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/walmart":{"get":{"operationId":"x402GetWalmart","summary":"Walmart search results","description":"Walmart search results by Walmart search URL, as JSON with product title, price, rating and availability. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["walmart","ecommerce","prices","products"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) walmart.com search URL, e.g. https://www.walmart.com/search?q=headphones. Include search, page and filter options in that URL; no default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://","example":"https://www.walmart.com/search?q=headphones"},"example":"https://www.walmart.com/search?q=headphones"}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"item":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"current_price":{"type":"string"},"rating":{"type":"number"},"availability_status":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"item":[{"title":"Wireless over-ear headphones","current_price":"$24.99","rating":4.4,"availability_status":"In stock"}]}]}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/zillow":{"get":{"operationId":"x402GetZillow","summary":"Zillow listings from a search URL","description":"Zillow listings from a Zillow search URL, as JSON: price, address, beds, baths, coordinates, Zestimate and listing link. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["zillow","real-estate","listings"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) Zillow listings search URL, e.g. https://www.zillow.com/homes/Austin,-TX_rb/. Short city paths such as /austin-tx/ are normalized. No default; answers without listings are not charged. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://","example":"https://www.zillow.com/homes/Austin,-TX_rb/"},"example":"https://www.zillow.com/homes/Austin,-TX_rb/"}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"zillow_data":{"type":"array","items":{"type":"object","properties":{"zpid":{"type":"string"},"price":{"type":"string"},"address":{"type":"string"},"beds":{"type":"number"},"baths":{"type":"number"},"latLong":{"type":"object","properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":true},"detailUrl":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"zillow_data":[{"zpid":"123456789","price":"$650,000","address":"123 Oak Lane, Austin, TX 78704","beds":3,"baths":2,"latLong":{"latitude":30.245,"longitude":-97.765},"detailUrl":"https://www.zillow.com/homedetails/123456789_zpid/"}]}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/ebay":{"get":{"operationId":"x402GetEbay","summary":"eBay search results or one eBay item","description":"eBay search results from a search URL, or one item from an item URL, as JSON: title, price, condition, seller, shipping and link, on any eBay domain. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["ebay","ecommerce","prices","products"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"url","in":"query","required":true,"description":"Required full HTTP(S) eBay search URL (/sch/...) or item URL (/itm/...) on an eBay country domain. Search/filter/pagination options go in this URL. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://","example":"https://www.ebay.com/sch/i.html?_nkw=mechanical+keyboard"},"example":"https://www.ebay.com/sch/i.html?_nkw=mechanical+keyboard"},{"name":"resource","in":"query","required":false,"description":"eBay operation: search or product. FastAF defaults to product for /itm/ URLs and search otherwise; both have the same price. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["search","product"]}},{"name":"html","in":"query","required":false,"description":"Return raw source HTML instead of parsed JSON when true; true/false, default false. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"search_results":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number"},"itemId":{"type":"string"},"title":{"type":"string"},"condition":{"type":"string"},"price":{"type":"string"},"extracted_price":{"type":"number"},"shipping":{"type":"string"},"link":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true},"example":{"search_results":[{"position":1,"itemId":"123456789012","title":"Mechanical keyboard with brown switches","condition":"Pre-owned","price":"$45.00","extracted_price":45,"shipping":"Free shipping","link":"https://www.ebay.com/itm/123456789012"}]}},"text/html":{"schema":{"type":"string"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/x":{"get":{"operationId":"x402GetX","summary":"X profile","description":"Public X (Twitter) profile by username, as JSON: name, bio, follower, following and post counts. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["x","twitter","profiles","social"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"profileId","in":"query","required":true,"description":"Required public X/Twitter username, e.g. nasa, without @ or a profile URL. No default; retrieves profile data, not an arbitrary post. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192,"example":"nasa"},"example":"nasa"}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"},"description":{"type":"string"},"followers_count":{"type":"number"},"following_count":{"type":"number"},"statuses_count":{"type":"number"}},"additionalProperties":true},"example":{"name":"NASA","handle":"NASA","description":"Exploring space and sharing discoveries about our universe.","followers_count":85000000,"following_count":170,"statuses_count":75000}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/x402/v1/screenshot":{"get":{"operationId":"x402GetScreenshot","summary":"Web page screenshot","description":"Screenshot of a public web page as an image (PNG by default), optionally the full page. Send query parameters, not a JSON body. The PAYMENT-REQUIRED header quotes the exact price for the selected options; sign it with an x402 v2 client and retry the same URL with PAYMENT-SIGNATURE. Invalid parameters or blocked targets return 400 without payment. Only successful calls are settled.","tags":["screenshot","web","images"],"security":[],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005000"}},"parameters":[{"name":"url","in":"query","required":true,"description":"Required public HTTP(S) page URL to capture in a browser. Private/network-internal targets and login paths are refused. No default. No option surcharge; 5 credits per successful request.","schema":{"type":"string","format":"uri","pattern":"^https?://","example":"https://example.com/"},"example":"https://example.com/"},{"name":"fullPage","in":"query","required":false,"description":"Capture the entire scrollable page when true, or only the viewport when false; boolean, default viewport-only capture. No option surcharge; 5 credits per successful request.","schema":{"type":"boolean"}},{"name":"width","in":"query","required":false,"description":"Browser viewport width in CSS pixels, supplied as a positive integer string, e.g. 1280. Omitted: upstream viewport default; FastAF sets no fixed width. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"height","in":"query","required":false,"description":"Browser viewport height in CSS pixels, supplied as a positive integer string, e.g. 720. Omitted: upstream viewport default; fullPage may produce a taller image. No option surcharge; 5 credits per successful request.","schema":{"type":"string","maxLength":8192}},{"name":"wait_until","in":"query","required":false,"description":"Capture readiness: domcontentloaded (default) after DOM parsing, load after the load event, or networkidle after network activity is idle. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["load","domcontentloaded","networkidle"],"default":"domcontentloaded"}},{"name":"format","in":"query","required":false,"description":"Image encoding: png (default), jpg or webp. Response contains image bytes, not JSON or base64 text. No option surcharge; 5 credits per successful request.","schema":{"type":"string","enum":["png","jpg","webp"],"default":"png"}},{"name":"quality","in":"query","required":false,"description":"Image quality, integer 0-100; default 80. Applies to lossy jpg/webp encoding; PNG is lossless. No option surcharge; 5 credits per successful request.","schema":{"type":"integer","minimum":0,"maximum":100,"default":80}}],"responses":{"200":{"description":"Successful result; payment settled. Content type depends on the requested format.","headers":{"PAYMENT-RESPONSE":{"description":"Base64-encoded x402 v2 settlement receipt.","schema":{"type":"string"}},"X-FastAF-Credits-Used":{"schema":{"type":"integer","minimum":1}}},"content":{"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}},"image/webp":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid parameters or blocked target; nothing charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"$ref":"#/components/responses/X402PaymentRequired"},"404":{"description":"Pay-per-call is not enabled on this deployment.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"This signed payment is already in use or has already paid for a call.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"The requested resource is unavailable; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP burst limit reached. Retry after the Retry-After header interval.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"502":{"description":"Upstream failed, or returned blocked, empty or incomplete data; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Service, capacity or payment configuration unavailable; retry later.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"504":{"description":"Upstream timed out; nothing settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key"},"sessionCookie":{"type":"apiKey","in":"cookie","name":"fastaf_session"}},"schemas":{"ApiKey":{"type":"object","additionalProperties":false,"required":["id","prefix","name","status","created_at","last_used_at"],"properties":{"id":{"type":"string"},"prefix":{"type":"string","pattern":"^faf_live_"},"name":{"type":"string","maxLength":100},"status":{"type":"string","enum":["active","revoked"]},"created_at":{"type":"string"},"last_used_at":{"type":["string","null"]}}},"CreatedApiKey":{"type":"object","additionalProperties":false,"required":["id","prefix","name","status","created_at","last_used_at","key","warning"],"properties":{"id":{"type":"string"},"prefix":{"type":"string","pattern":"^faf_live_"},"name":{"type":"string","maxLength":100},"status":{"type":"string","const":"active"},"created_at":{"type":"string"},"last_used_at":{"type":"null"},"key":{"type":"string","pattern":"^faf_live_[0-9A-Za-z]{32}$"},"warning":{"type":"string"}}},"RequestLogEntry":{"type":"object","additionalProperties":false,"required":["id","endpoint","status","credits","duration_ms","created_at"],"properties":{"id":{"type":"string"},"endpoint":{"type":"string","enum":["serp","maps","amazon","linkedin","youtube","scrape","news","shopping","trends","scholar","jobs","ai","walmart","zillow","ebay","x","screenshot"]},"status":{"type":"integer"},"credits":{"type":"integer","minimum":0},"duration_ms":{"type":"integer","minimum":0},"created_at":{"type":"string","format":"date-time"}}},"UsageDay":{"type":"object","additionalProperties":false,"required":["day","endpoint","requests","credits","failed_requests"],"properties":{"day":{"type":"string","format":"date"},"endpoint":{"type":"string","enum":["serp","maps","amazon","linkedin","youtube","scrape","news","shopping","trends","scholar","jobs","ai","walmart","zillow","ebay","x","screenshot"]},"requests":{"type":"integer","minimum":0},"credits":{"type":"integer","minimum":0},"failed_requests":{"type":"integer","minimum":0}}},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}},"PaymentRequired":{"allOf":[{"$ref":"#/components/schemas/Error"},{"type":"object","properties":{"x402Version":{"type":"integer","const":2},"resource":{"type":"object","required":["url","description","mimeType"],"description":"The resource object from PAYMENT-REQUIRED, including discovery metadata.","properties":{"url":{"type":"string","format":"uri"},"description":{"type":"string"},"mimeType":{"type":"string"}}},"accepts":{"type":"array","minItems":1,"description":"The v2 header requirements plus legacy discovery aliases. Present on payment challenges, not settlement failures.","items":{"type":"object","required":["scheme","network","amount","maxAmountRequired","resource","description","mimeType","payTo","asset","maxTimeoutSeconds","extra"],"properties":{"scheme":{"type":"string","const":"exact"},"network":{"type":"string","description":"CAIP-2 network identifier, unchanged from the v2 header."},"amount":{"type":"string","pattern":"^[0-9]+$"},"maxAmountRequired":{"type":"string","pattern":"^[0-9]+$","description":"Alias of amount, in atomic USDC units."},"resource":{"type":"string","format":"uri"},"description":{"type":"string"},"mimeType":{"type":"string"},"payTo":{"type":"string"},"asset":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object","additionalProperties":true}}}},"price":{"type":"object","required":["usd","credits","asset","network"],"properties":{"usd":{"type":"string","pattern":"^[0-9]+\\.[0-9]{6}$"},"credits":{"type":"integer","minimum":1},"asset":{"type":"string","const":"USDC"},"network":{"type":"string","description":"CAIP-2 network identifier."}}},"how_to_pay":{"type":"string"},"with_a_key":{"type":"string"},"docs":{"type":"string","format":"uri"}}}]}},"responses":{"BadRequest":{"description":"Invalid request or parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Unauthorized":{"description":"A valid bearer API key is required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"PaymentRequired":{"description":"The account has insufficient credits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Forbidden":{"description":"The account is suspended.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"TooManyRequests":{"description":"A rate or concurrency limit was reached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"BadGateway":{"description":"The upstream request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"ServiceUnavailable":{"description":"The service is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"InternalServerError":{"description":"The request failed unexpectedly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"GatewayTimeout":{"description":"The upstream request timed out.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"X402PaymentRequired":{"description":"Payment required. Decode PAYMENT-REQUIRED (base64 JSON) for the authoritative x402 v2 accepts[].amount in USDC atomic units, network, asset and payTo. The JSON body also includes x402Version, resource and accepts, with maxAmountRequired and per-requirement resource/description/mimeType aliases for catalogs. This remains a v2 payment flow: sign and retry with PAYMENT-SIGNATURE. A failed settlement also returns 402 (settlement_failed) with PAYMENT-RESPONSE instead of data, without a payment challenge.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 payment challenge (present on unpaid requests).","schema":{"type":"string"}},"PAYMENT-RESPONSE":{"description":"Base64-encoded settlement failure receipt, when settlement fails.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}}}}}