Create and start developing your app

Let’s get started. The QuickBooks Online Accounting API gives you incredible flexibility to build creative solutions around key business workflows.

Before you can start developing, let’s set up your Intuit Developer Account and developer environment

Step 1: Get to know the QuickBooks Online Accounting API platform

Already familiar with our APIs? Feel free to skip ahead.

If you’re new, review these resources so you can develop with confidence:

Step 2: Set up your developer account

Go to the Intuit Developer Portal and create a developer account.

This profile is where you’ll create apps, get app credentials to connect to our servers, and set up sandbox companies for testing.

Step 3: Create an app on the Intuit Developer Portal

The apps you create on the developer portal generate credentials. You’ll need these for tasks like authentication.

  1. Sign in to your developer account.
  2. Select the Dashboard tab on the toolbar.
  3. Go to the Apps tab.
  4. Select + Create an app.
  5. Follow the on-screen steps.

When you create apps, you’ll need to pick your app’s scopes. Scopes limit the type of data your app can access.

Pick the ones that are relevant for your app and its users. If your app only need access to accounting data, select the Accounting scope. If it also need to access payment data, also select the Payments scope.

Step 4: Create a sandbox QuickBooks Online company

When you create an Intuit Developer account, we create a QuickBooks Online test company with sample data for you. We call this a sandbox company.

You can use this sandbox company to test your code. Follow these steps to create additional sandbox companies.

Step 5: Learn how to get your app’s credentials

During development, you’ll need to get your app’s credentials for various tasks, like connecting to our servers.

Step 6: Authorize your app

Use the Client ID and Client Secret to connect your app to OAuth 2.0. This process grants access tokens so your app can send requests to our servers.

Want to make a quick sample API call?

You don’t need to fully authenticate your app to make a sample API call. Here’s how to quickly call the CompanyInfo entity:


  1. Visit the OAuth 2.0 Playground.
  2. Select a sandbox company from the Select app dropdown.
  3. Follow the on-nscreen steps to get an access token. This is a temporary token for testing only.
  4. Copy the Access token and Realm ID (also known as the company ID).
  5. Copy and use the sample cURL GET request below.
  6. Replace the “REPLACE_WITH” placeholders with the copied Access token and Realm ID values.
  7. Send the request.

GET CompanyInfo

1
2
3
4
curl -X GET 'https://sandbox-quickbooks.api.intuit.com/v3/company/REPLACE_WITH_SANDBOX_COMPANY_ID/companyinfo/REPLACE_WITH_SANDBOX_COMPANY_ID?minorversion=12' \
-H 'accept: application/json' \
-H 'authorization:Bearer REPLACE_WITH_ACCESS_TOKEN' \
-H 'content-type: application/json'

The response for your request should match the sample server response.

See a sample server response

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
   "CompanyInfo": {
   "CompanyName": "SandboxCompany_US_1",
   "LegalName": "SandboxCompany_US_1",
   "CompanyAddr": {
      "Id": "1","Line1":"123 Sierra Way","City":"San Pablo","CountrySubDivisionCode":"CA","PostalCode":"87999",
      "Lat": "36.6788345","Long":"-5.4464622"
   },
   "CustomerCommunicationAddr": {
      "Id": "1",
      "Line1":"123 Sierra Way","City":"San Pablo","CountrySubDivisionCode":"CA","PostalCode":"87999","Lat":"36.6788345","Long":"-5.4464622"},"LegalAddr":{"Id":"1",
      "Line1": "123SierraWay",
      "City": "SanPablo",
      "CountrySubDivisionCode": "CA",
      "PostalCode": "87999","Lat":"36.6788345",
      "Long": "-5.4464622"},"PrimaryPhone":{},"CompanyStartDate":"2018-03-02","FiscalYearStartMonth":"January","Country":"US","Email":{"Address":"noreply@quickbooks.com"},"WebAddr":{},"SupportedLanguages":"en","NameValue":[{"Name":"NeoEnabled","Value":"true"},{"Name":"IsQbdtMigrated","Value":"false"},{"Name":"CompanyType","Value":"Other"},{"Name":"SubscriptionStatus","Value":"TRIAL"},{"Name":"OfferingSku","Value":"QuickBooks Online Plus"},{"Name":"PayrollFeature","Value":"false"},{"Name":"AccountantFeature","Value":"false"},{"Name":"QBOIndustryType","Value":"Landscaping Services"},{"Name":"ItemCategoriesFeature","Value":"true"},{"Name":"AssignedTime","Value":"2018-03-05T19:40:40-08:00"
   }
   ],
   "domain": "QBO",
   "sparse": false,
   "Id": "1",
   "SyncToken": "8",
   "MetaData": {
   "CreateTime": "2018-03-02T01: 08: 21-08: 00","LastUpdatedTime":"2018-04-27T00:34:31-07:00"
   }
},
"time": "2018-05-04T14: 36: 43.747-07: 00"}
Step 7: Get tools to test your code

Check out QuickBooks and third-party testing tools you can use during development. We’ve configured tools to make testing with your sandbox company a little easier.

Step 8: Develop your app

Your app ready to go! Get familiar with our API and build a demo app.