Technology Export
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/exportDownloads the full result of a company search by technology as one file instead of page by page. Builder package and above. 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 when the domain is confirmed; 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 in a stable order (not ranked by size). For a file of the full dataset, book a call.
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 that returns companies, plus 1 per company in the file that you have not already paid for this calendar month. An export that matches nothing costs nothing. 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.
You are charged only when the download starts. If a download breaks off, 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 the Builder package or above"} | Free or Seeker plan. |
402 | {"error": "Monthly request quota exceeded", "credits_required": 4200, "credits_remaining": 3100, ...} | Not enough credits left this month. |
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. |