NetSuite REST Web Services is the modern HTTPS-based API for external systems to interact with NetSuite. It exposes CRUD operations on every record type plus SuiteQL query execution. Authentication uses OAuth 2.0 token-based auth (TBA). It is the recommended replacement for legacy SOAP Web Services and for ODBC-based integrations via SuiteAnalytics Connect.

Endpoint structure

  • /services/rest/record/v1/{type}: CRUD on record types (customer, invoice, salesorder, etc.)
  • /services/rest/query/v1/suiteql: Execute SuiteQL queries
  • /services/rest/auth/oauth2/v1/token: Token exchange (if using OAuth 2.0 authorization code flow)
  • /services/rest/transactions/v1: Transaction-specific endpoints with batch support

All requests use HTTPS with TLS 1.3. Responses are JSON. Pagination is via limit + offset query params.

Authentication: OAuth 2.0 TBA

Token-Based Authentication (TBA) is the recommended path. One-time setup in NetSuite:

  1. Setup > Users/Roles > Access Tokens > New
  2. Select Application (your integration), Role (with REST web services permission), User
  3. Generate Consumer Key, Consumer Secret, Token ID, Token Secret
  4. Sign every API request with HMAC-SHA256 over the request method, URL, params, and timestamp

Acterys NetSuite Sync automates this entire flow during a 10-minute OAuth setup. You never copy-paste tokens.

REST vs SOAP for NetSuite

Aspect REST SOAP (SuiteTalk)
FormatJSONXML (WSDL)
AuthenticationOAuth 2.0 TBASOAP headers + TBA
SuiteQL supportYesNo
ToolingAny HTTP clientSOAP-specific libraries
Best forAll new integrationsLegacy compat only

Rate limits + best practices

  • Concurrency: typically 5 concurrent requests per role. Use a dedicated integration role + user.
  • SuiteQL timeout: 4 minutes per query. Partition large date-range queries.
  • Pagination: page-size 1000 default; can go up to 5000 for some endpoints.
  • Retry: implement exponential backoff on 429/503 responses.
  • Incremental sync: use lastmodifieddate > filter to fetch only changed records: see incremental sync glossary