Http 403 error with curl import

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