Describe the problem/error/question
I’m trying to use a GraphQL API in n8n. I imported a working cURL command into the HTTP Request node, but the request fails with an error. The same cURL works perfectly in both the Execute Command node and in Postman, both in the same machine.
FYI I also tried the GraphQL node and did not manage to set it up correctly.
What is the error message (if any)?
403 error (see output below)
Please share your workflow
Share the output returned by the last node
403
error
Request
{ "body": { "operationName": "listingScreen", "query": "query listingScreen($after: ID, $experiments: [Experiment!], $filters: [AdvertSearchFilterInput!], $includePriceEvaluation: Boolean!, $includePromotedAds: Boolean!, $includeRatings: Boolean!, $includeFiltersCounters: Boolean!, $includeSortOptions: Boolean!, $includeSuggestedFilters: Boolean!, $itemsPerPage: Int, $page: Int, $parameters: [String!], $searchTerms: [String!], $sortBy: String, $maxAge: Int, $includeCepik: Boolean!, $includeNewPromotedAds: Boolean!, $promotedInput: AdSearchInput!) {\n advertSearch(\n criteria: {searchTerms: $searchTerms, filters: $filters}\n sortBy: $sortBy\n page: $page\n after: $after\n itemsPerPage: $itemsPerPage\n maxAge: $maxAge\n experiments: $experiments\n ) {\n ...advertSearchFields\n edges {\n node {\n ...lazyAdvertFields\n __typename\n }\n __typename\n }\n sortOptions @include(if: $includeSortOptions) {\n searchKey\n label\n __typename\n }\n __typename\n }\n ...promotedAds @include(if: $includeNewPromotedAds)\n ...suggestedFilters @include(if: $includeSuggestedFilters)\n}\nfragment advertSearchFields on AdvertSearchOutput {\n url\n sortedBy\n locationCriteriaChanged\n subscriptionKey\n totalCount\n filtersCounters @include(if: $includeFiltersCounters) {\n name\n nodes {\n name\n value\n __typename\n }\n __typename\n }\n appliedLocation {\n city {\n name\n id\n canonical\n __typename\n }\n subregion {\n name\n id\n canonical\n __typename\n }\n region {\n name\n id\n canonical\n __typename\n }\n latitude\n longitude\n mapConfiguration {\n zoom\n __typename\n }\n __typename\n }\n appliedFilters {\n name\n value\n canonical\n __typename\n }\n breadcrumbs {\n label\n url\n __typename\n }\n pageInfo {\n pageSize\n currentOffset\n __typename\n }\n facets {\n options {\n label\n url\n count\n __typename\n }\n __typename\n }\n alternativeLinks {\n name\n title\n links {\n title\n url\n counter\n __typename\n }\n __typename\n }\n latestAdId\n edges {\n ...listingAdCardFields\n __typename\n }\n topads @include(if: $includePromotedAds) {\n ...listingAdCardFields\n __typename\n }\n __typename\n}\nfragment listingAdCardFields on AdvertEdge {\n vas {\n isHighlighted\n isPromoted\n bumpDate\n __typename\n }\n node {\n ...advertFields\n __typename\n }\n __typename\n}\nfragment advertFields on Advert {\n id\n title\n createdAt\n shortDescription\n url\n badges\n category {\n id\n __typename\n }\n location {\n city {\n name\n __typename\n }\n region {\n name\n __typename\n }\n __typename\n }\n thumbnail {\n x1: url(size: {width: 320, height: 240})\n x2: url(size: {width: 640, height: 480})\n __typename\n }\n price {\n amount {\n units\n nanos\n value\n currencyCode\n __typename\n }\n badges\n grossPrice {\n value\n currencyCode\n __typename\n }\n netPrice {\n value\n currencyCode\n __typename\n }\n __typename\n }\n parameters(keys: $parameters) {\n key\n displayValue\n label\n value\n __typename\n }\n sellerUUID\n sellerLink {\n id\n name\n websiteUrl\n logo {\n x1: url(size: {width: 140, height: 24})\n __typename\n }\n isCreditIntermediary\n __typename\n }\n brandProgram {\n logo {\n x1: url(size: {width: 95, height: 24})\n __typename\n }\n searchUrl\n name\n __typename\n }\n dealer4thPackage {\n package {\n id\n name\n __typename\n }\n services {\n code\n label\n __typename\n }\n photos(first: 5) {\n nodes {\n url(size: {width: 644, height: 461})\n __typename\n }\n totalCount\n __typename\n }\n __typename\n }\n priceEvaluation @include(if: $includePriceEvaluation) {\n indicator\n __typename\n }\n valueAddedServices {\n name\n validity\n appliedAt\n __typename\n }\n __typename\n}\nfragment lazyAdvertFields on Advert {\n id\n cepikVerified @include(if: $includeCepik)\n sellerRatings(scope: PROFESSIONAL) @include(if: $includeRatings) {\n statistics {\n recommend {\n value\n suffix\n __typename\n }\n avgRating {\n value\n __typename\n }\n total {\n suffix\n value\n __typename\n }\n detailedRating {\n label\n value\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n}\nfragment promotedAds on Query {\n promoted: adSearch {\n search(input: $promotedInput) {\n ... on AdSearchOutput {\n ads {\n ...adFields\n __typename\n }\n __typename\n }\n ... on AdSearchError {\n message\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n}\nfragment adFields on Ad {\n id\n url\n title\n location {\n cityName\n regionName\n __typename\n }\n description\n badges\n createdAt\n updatedAt\n photos\n price {\n currencyCode\n ... on AdNetGrossPrice {\n currencyCode\n netMinorAmount\n grossMinorAmount\n isNet\n __typename\n }\n __typename\n }\n attributes {\n key\n value\n valueLabel\n valueSuffix\n __typename\n }\n valueAddedServices {\n name\n validity\n appliedAt\n __typename\n }\n brandProgram {\n ... on BrandProgram {\n logo {\n url\n __typename\n }\n name\n url\n searchUrl\n id\n __typename\n }\n __typename\n }\n seller {\n ... on ProfessionalSeller {\n name\n uuid\n dealerAdsUrl\n logo {\n url\n __typename\n }\n serviceOptions {\n label\n code\n url\n __typename\n }\n benefits(codes: [DEALER_IDENTITY_ELEMENTS])\n ratings {\n statistics {\n recommend {\n value\n __typename\n }\n avgRating {\n value\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n ... on PrivateSeller {\n name\n uuid\n __typename\n }\n __typename\n }\n __typename\n}\nfragment suggestedFilters on Query {\n suggestedFilters(criteria: {searchTerms: $searchTerms, filters: $filters}) {\n key\n name\n values {\n value\n appliedFilters {\n name\n value\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n}", "variables": { "experiments": [ { "key": "CARS-53781", "variant": "a" }, { "key": "CARS-64661", "variant": "b" } ], "filters": [ { "name": "filter_enum_fuel_type", "value": "diesel" }, { "name": "filter_enum_fuel_type", "value": "gaz" }, { "name": "filter_enum_body_type", "value": "minivan" }, { "name": "filter_enum_body_type", "value": "suv" }, { "name": "filter_enum_gearbox", "value": "automatic" }, { "name": "category_id", "value": "29" }, { "name": "filter_float_first_registration_year:from", "value": "2018" }, { "name": "filter_float_mileage:to", "value": "55000" }, { "name": "filter_float_price:to", "value": "22000" } ], "includeCepik": false, "includeFiltersCounters": false, "includeNewPromotedAds": false, "includePriceEvaluation": true, "includePromotedAds": true, "includeRatings": false, "includeSortOptions": false, "includeSuggestedFilters": false, "maxAge": 60, "page": 1, "parameters": [ "origin", "make", "version", "model", "engine_code", "fuel_type", "gearbox", "mileage", "engine_capacity", "engine_power", "first_registration_year", "year" ], "promotedInput": {}, "searchTerms": [] } }, "headers": { "accept": "application/graphql-response+json, application/graphql+json, application/json, text/event-stream, multipart/mixed", "accept-language": "en-US,en;q=0.9,pt-PT;q=0.8,pt;q=0.7,it;q=0.6,es;q=0.5", "cache-control": "no-cache", "newrelic": "eyJ2IjpbMCwxXSwiZCI6eyJ0eSI6IkJyb3dzZXIiLCJhYyI6IjE2OTUzNjYiLCJhcCI6IjE4MzQ3OTM5MjQiLCJpZCI6ImQ5NzQxMzVhNDE0NzcxOWUiLCJ0ciI6ImUyOWM5YTMzMjcyNmVjMDA2YjIyMWE4ZmNkMDE3OGM1IiwidGkiOjE3NDk3NTAzODkwNTMsInRrIjoiMTcwNTIyMiJ9fQ==", "origin": "https://www.standvirtual.com", "pragma": "no-cache", "priority": "u=1, i", "referer": "https://www.standvirtual.com/carros/desde-2018?search%5Bfilter_enum_body_type%5D%5B0%5D=minivan&search%5Bfilter_enum_body_type%5D%5B1%5D=suv&search%5Bfilter_enum_fuel_type%5D%5B0%5D=diesel&search%5Bfilter_enum_fuel_type%5D%5B1%5D=gaz&search%5Bfilter_enum_gearbox%5D=automatic&search%5Bfilter_float_mileage%3Ato%5D=55000&search%5Bfilter_float_price%3Ato%5D=22000&page=2&search_atlas_id=0&search_id=1743154949503177548&utm_campaign=user_saved_search_newsletter&utm_medium=email&utm_source=siren", "sec-ch-ua": "\"Google Chrome\";v=\"137\", \"Chromium\";v=\"137\", \"Not/A)Brand\";v=\"24\"", "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": "\"Windows\"", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "sitecode": "carspt", "traceparent": "00-e29c9a332726ec006b221a8fcd0178c5-d974135a4147719e-01", "tracestate": "1705222@nr=0-1-1695366-1834793924-d974135a4147719e----1749750389053", "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36", "x-transaction-id": "z-fcTPdD5ColC0ouNVbSZFXssc3QG1P51NLF6ODBAPII0DTmqGlyuA==", "cookie": "**hidden**" }, "method": "POST", "uri": "https://www.standvirtual.com/graphql", "gzip": true, "rejectUnauthorized": true, "followRedirect": true, "resolveWithFullResponse": true, "followAllRedirects": true, "timeout": 300000, "encoding": null, "json": false, "useStream": true }
Information on your n8n setup
- n8n version: 1.97.1
- Database (default: SQLite): SQLite
- n8n EXECUTIONS_PROCESS setting (default: own, main): default
- Running n8n via (Docker, npm, n8n cloud, desktop app): locally on docker
- Operating system: Windows 11