Using the SharePoint Online REST API, I'm trying to retrieve a list of all sites *and* subsites.

This API gives me all top level sites, but no subsites:

    https://{mycompany}.sharepoint.com/_api/search/query
       ?querytext='contentclass:STS_Site'

Either of these APIs gives me all sub-sites of the root top level site:

    https://{mycompany}.sharepoint.com/_api/search/query
       ?querytext='contentclass:STS_Web'

    https://{mycompany}.sharepoint.com/_api/search/query?
       querytext='*'
       &refinementfilters='contentclass:equals("STS_Web")'

I'd like a **single query** which retrieves all sites *and* all of their subsites --
not just subsites of the root site.

**Edit:**

Now I've had time to come back to this, as suggested by @Gautam Sheth I've tried this:

    https://{mycompany}.sharepoint.com/_api/search/query
       ?querytext='contentclass:STS_Site contentclass:STS_Web'
       &selectproperties='Title,Path'&rowlimit=500

It's not quite working though. In a site structured like so, only the checked (✔) sites and subsites are being returned in the response:

- ✔ Example Inc - Team Site *(the default root site)*
  - ✔ Subsite of Example Inc - Team Site
      - Nested subsite of Subsite of Example Inc - Team Site
      - Nested subsite #2 of Subsite of Example Inc - Team Site	
  - Subsite #2 of Example Inc - Team Site
  - Subsite #3 of Example Inc - Team Site
- ✔ David's Test Site *(another top level site)*
  - Subsite of David's Test Site