Technology Export (Beta)
Download every company that uses the technologies you name, as CSV or JSON Lines, with the evidence per technology, via GET /v1/technologies/export.
GET https://api.jobspipe.dev/v1/technologies/exportBeta. Enabled per account. Without access the endpoint answers 404 with {"error": "company_technographics_not_enabled"} and charges nothing.
The whole answer to a company search by technology as one file, instead of page by page. Paid plans only. Requires authentication.
Parameters
The filters are the company search's, as query parameters. For a list, separate values with commas or repeat the parameter. At least one of company_technology_slug_or or company_technology_slug_and is required, and an unknown parameter is a 400.
| Parameter | Description |
|---|---|
company_technology_slug_or | Companies using ANY of these technologies. At most 10. |
company_technology_slug_and | Companies using ALL of these technologies. At most 10. |
company_technology_slug_not | Leave out companies with any evidence, at any tier, for these technologies. |
company_country_code_or | ISO country codes of the postings that name the technology. |
company_domain_or | Company domains, e.g. siemens.com. |
company_name_or | Company names. Repeat the parameter for several names; a comma stays part of the name. |
tier_min | Weakest evidence tier that counts: confirmed, likely (default) or mentioned. |
min_num_jobs_found | Only companies with at least this many postings naming the technologies. |
format | csv (default) or jsonl. |
limit | Export at most this many companies. Up to your plan's cap. |
curl -o snowflake-de.csv \
"https://api.jobspipe.dev/v1/technologies/export?company_technology_slug_or=snowflake,databricks&company_country_code_or=DE&format=csv" \
-H "Authorization: Bearer jp_live_your_key_here"The file
One line per company and technology: a company matching two of the technologies you asked for has two lines. Only the technologies in company_technology_slug_or and company_technology_slug_and are listed, at tier_min or stronger. Lines are grouped by company, most postings first within a company.
CSV has a header row; an empty field means "not known". JSON Lines has one object per line with the same names, and null for "not known".
| Column | Description |
|---|---|
company_id | The company's id, the same id as in company search. |
company_name | Company name. |
company_domain, company_url | Only where two sources agree on the domain; otherwise empty. |
company_country_code | The country most of its postings for these technologies come from. |
company_employee_count | Headcount where known. |
company_num_jobs | All the company's postings we hold. |
technology_slug, technology_name, technology_kind, technology_category | The technology. |
confidence, tier | high / confirmed, medium / likely, low / mentioned. |
jobs | Postings naming the technology. |
required_jobs, preferred_jobs, mentioned_jobs | Postings where it is a requirement, a nice-to-have, or named in passing. |
jobs_last_30_days, jobs_last_180_days | Postings naming it in those windows. |
first_date_found, last_date_found | Earliest and latest posting dates. |
recency | active (seen in the last 180 days), fading (in the last 540) or historical. |
share | Share of the company's postings that name the technology, 0 to 1. |
The response is a download (Content-Disposition: attachment; filename=technologies-<date>.csv or .jsonl) and carries:
| Header | Meaning |
|---|---|
X-Credits-Charged | Credits this export cost. |
X-Companies-Already-Paid | Companies in the file you had already paid for this month. |
X-Total-Companies | Companies in the file. |
In CSV, a text cell that starts with =, +, - or @ gets a leading ' (for example '=Acme), so a spreadsheet shows it as text instead of running it as a formula. JSON Lines values are never changed.
Caps
| Plan | Companies per export |
|---|---|
| Builder, Growth | 10,000 |
| Scale, Business, Enterprise | 50,000 |
Without limit, a search matching more companies than your cap is refused with 400 and the number it matched, so you can narrow the filters. With limit, you get that many companies, taken in a stable order rather than ranked by size, and no error. For a file of the full dataset, contact us.
One export runs at a time per account: a second one started while the first is being prepared gets 409. Retry once the first download has started.
Credits
1 credit per call, plus 1 per company in the file that you have not already paid for this calendar month. A company paid for in an export or in company search is free in both for the rest of the month, so running the same export again costs only the 1-credit call.
Nothing is charged unless the file can be produced: the data is prepared first, and the charge is settled just before the download starts. If a download breaks off after it started, run the export again; the companies in it are already paid for.
If your remaining credits do not cover the call plus the companies you have not paid for yet, the export is refused with 402 and nothing is charged. Every other refusal (400, 409, 502, 503) is free too.
Errors
| Status | Body | Meaning |
|---|---|---|
400 | {"error": "export_too_large", "total_companies": 81234, "max_rows": 10000, "message": "..."} | The search matches more companies than your cap. Narrow it or pass limit. |
400 | {"error": "Invalid query: ..."} | Invalid or unknown parameter, or no _or/_and technology. |
401 | Missing or invalid API key. | |
402 | {"error": "Exports require a paid plan"} | Free plan. |
402 | {"error": "Monthly request quota exceeded", "credits_required": 4200, "credits_remaining": 3100, ...} | Not enough credits left this month. |
404 | {"error": "company_technographics_not_enabled"} | The beta is not enabled for this account. |
409 | {"error": "export_in_progress"} | Another export for this account is being prepared. |
429 | Per-second rate limit exceeded. | |
502 | {"error": "technology export failed, retry shortly"} | The data could not be prepared. Nothing was charged. |
503 | {"error": "export_billing_unavailable"} | Credits could not be checked. Nothing was charged; retry shortly. |