OXYGENOXYGEN

Find dev shops

Find software development agencies by stack and team size

A dev shop builds on someone else's stack, so its own website says little. What it hires for, and where it hires, says almost everything.

try

Custom software shops are a hard segment to filter because the interesting facts are operational. How big is the bench, which languages can they staff tomorrow, and is delivery local, nearshore, or spread across three countries. None of that is a firmographic field.

Job ads carry it. TheirStack supplies the postings and the languages named inside them, which is also the cleanest read on bench size. People Data Labs supplies headcount and office locations, BuiltWith covers what the shop runs itself, and the contact column opens with Blitz API and closes with LeadMagic.

Because bench composition changes quarterly, the columns are re-runnable. Run them again in ninety days and the table shows the delta rather than quietly replacing what was there before.

Example searches

Ask for it the way you'd say it

Every search below runs on the same hosted Tables, with the cost previewed before anything is spent.

  • Languages they can staff

    agencies advertising for go or rust engineers rather than only javascript

    Language evidence comes from live ads, so a services page listing twenty technologies does not by itself put a row on the list.

  • Delivery footprint

    dev shops headquartered in western europe with engineering offices in latin america

    Office locations arrive as their own column, which separates a genuine nearshore model from a single sales address abroad.

  • Bench size proxy

    development agencies between forty and three hundred engineers, currently hiring

    Headcount and live posting count sit side by side, so a shrinking shop with an old careers page is easy to spot.

Plays

Three motions you can run this week

Each one is a chain of Oxygen primitives — the same hosted objects your workspace already has, composed.

  • Stack-matched delivery partners

    A list of shops that can already staff the language your customers build in.

    1. 1Source agencies by region and size, then attach live postings to each row.
    2. 2Keep shops advertising your language this quarter and promote them to Records.
    oxygen search run
  • Technical buyer, not the sales inbox

    The first message reaches a CTO or delivery director instead of a contact form.

    1. 1Resolve the technical leader per row and run the email waterfall on those people only.
    2. 2Enroll verified rows and keep unresolved ones in a LinkedIn-only view.
    oxygen find email
  • Quarterly bench refresh

    Stack and headcount stay current without anyone rebuilding the list.

    1. 1Schedule the posting and headcount columns to re-run each quarter under a credit cap.
    2. 2Read the run history to see which shops grew, which went quiet, and what it cost.
    oxygen tables schedule set

Who you can reach

Roles you can find at software development and engineering agencies

Reachability is per channel: a role marked for mobile is one the phone waterfall usually resolves, not a guarantee for every record.

RoleSeniorityReachable by
Agency founder or CEOOwner/FounderWork emailLinkedInMobile
Chief technology officerC-levelWork emailLinkedIn
Delivery directorDirectorWork emailLinkedIn
VP of engineeringVPWork emailLinkedIn
Engineering managerManagerWork emailLinkedIn
Head of talentDirectorWork emailLinkedIn

Filters you can search on

  • Languages named in live job ads
  • Engineering headcount band
  • Delivery country or region
  • Headquarters separate from delivery
  • Cloud platform detected on their domain
  • Live posting count this quarter
  • Vertical specialism claimed on the site

Agencies that recruit publicly resolve very well on stack, bench, and geography. Shops that hire only through referrals or local networks post nothing, so their language columns come back empty even when the team is large. Delivery locations are also softer than headquarters: a country page is not proof of an office, so treat it as a hint until a contact confirms it.

Data sources

What the data actually comes from

Every value lands with its provider and cost recorded on the cell.

  • TheirStack

    Live and historic job ads, which is the most reliable read on what a shop can actually staff.

  • BuiltWith

    Technology on the agency's own domain, useful as a weak second signal beside the hiring data.

  • People Data Labs

    Headcount, office locations, and the engineering leaders attached to each agency.

  • Blitz API

    Opens the work-email chain and resolves most technical contacts before a metered lane runs.

  • LeadMagic

    Covers the residual with email or mobile, charged on a hit rather than on every attempt.

Run these on Oxygen's managed credits, or connect your own provider keys and pay the vendor directly — the same columns, the same runs, the same provenance either way. See every integration.

Limits

Where this stops

  • Posting language overstates depth. One Rust ad does not make a Rust shop, so band on posting counts over a quarter rather than treating a single ad as proof.
  • Subcontracting is invisible. A shop may deliver your language through partners it never advertises, which the public data cannot show.

FAQ

Questions people ask first

Why not qualify a dev shop from its services page?
Because services pages list everything anyone has ever asked for. Live job ads cost money to run, which makes them a far better measure of what a team can staff next month.
Can I find nearshore delivery centers specifically?
Yes, by keeping headquarters and delivery locations in separate columns. A shop with a European head office and posting volume in Latin America shows the split clearly.
How do I estimate bench size without revenue data?
Pair engineering headcount with posting volume over the last quarter. Neither number alone is convincing, but together they separate a growing shop from a static one.
Is the technical contact findable, or only sales?
Both usually resolve. The difference is that the table stores which one it found, so you never assume you reached a CTO when the row actually returned a business development lead.
Does reading profiles use my own LinkedIn seat?
No. Public profile and company reads run on a managed path with no connected account. A seat is only needed when you want to send from your own account, at $30 per month.
What if two agencies share an owner?
Keep them as separate rows and add the owner as a column. Many groups run distinct brands per market, and collapsing them hides the very difference you are selling into.

Build your software development and engineering agencies list

Start with a search, preview the cost before anything is spent, and keep the rows, sources, and runs in a workspace you own.