Monitor the Automotive and EV Industry
Combine vehicle manufacturing, vehicle sales and EV charging with industry.id to get one automotive feed. Add event and sentiment filters to focus on the news you need.
Step 1: Choose the industries to follow
Send up to 3 IDs in industry.id, separated by commas, to match any of them. Use 801 for Vehicle Manufacturing (vehicles and parts), 805 for Vehicle Sales (dealerships, fleets and online sales), and 807 for EV Charging.
curl "https://api.apitube.io/v1/news/everything?industry.id=801,805,807&sort.by=published_at&sort.order=desc&per_page=20&api_key=YOUR_API_KEY"
import requests
response = requests.get(
"https://api.apitube.io/v1/news/everything",
params={
"industry.id": "801,805,807",
"sort.by": "published_at",
"sort.order": "desc",
"per_page": "20",
"api_key": "YOUR_API_KEY",
},
)
print(response.json())
const params = new URLSearchParams({ "industry.id": "801,805,807", "sort.by": "published_at", "sort.order": "desc", "per_page": "20", "api_key": "YOUR_API_KEY" });
const response = await fetch(`https://api.apitube.io/v1/news/everything?${params}`);
const data = await response.json();
console.log(data);
$query = http_build_query(["industry.id" => "801,805,807", "sort.by" => "published_at", "sort.order" => "desc", "per_page" => "20", "api_key" => "YOUR_API_KEY"]);
$response = file_get_contents("https://api.apitube.io/v1/news/everything?$query");
$data = json_decode($response, true);
print_r($data);
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
u, _ := url.Parse("https://api.apitube.io/v1/news/everything")
q := u.Query()
q.Set("industry.id", "801,805,807")
q.Set("sort.by", "published_at")
q.Set("sort.order", "desc")
q.Set("per_page", "20")
q.Set("api_key", "YOUR_API_KEY")
u.RawQuery = q.Encode()
resp, _ := http.Get(u.String())
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var data map[string]any
json.Unmarshal(body, &data)
fmt.Println(data)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.apitube.io/v1/news/everything?industry.id=801,805,807&sort.by=published_at&sort.order=desc&per_page=20&api_key=YOUR_API_KEY"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Write a script in your preferred language that calls the APITube News API:
GET https://api.apitube.io/v1/news/everything?industry.id=801,805,807&sort.by=published_at&sort.order=desc&per_page=20
Read the API key from an environment variable (do not hardcode it), handle request
errors, and print the key fields of each result.
Docs: https://docs.apitube.io/platform/news-api/everything
- Part of the industry — each article's
industriesarray shows whether it covers manufacturing, sales or charging. - Tone of the coverage —
sentiment.overall.polarityandsentiment.overall.score. - Publisher —
source.domainidentifies the website. Usesource.country.codeto see the publisher's country.
Step 2: Narrow to one manufacturer
Add title to select headlines mentioning a manufacturer. This helps narrow a broad industry feed to one company.
curl "https://api.apitube.io/v1/news/everything?industry.id=801,805,807&title=Tesla&per_page=20&api_key=YOUR_API_KEY"
import requests
response = requests.get(
"https://api.apitube.io/v1/news/everything",
params={
"industry.id": "801,805,807",
"title": "Tesla",
"per_page": "20",
"api_key": "YOUR_API_KEY",
},
)
print(response.json())
const params = new URLSearchParams({ "industry.id": "801,805,807", "title": "Tesla", "per_page": "20", "api_key": "YOUR_API_KEY" });
const response = await fetch(`https://api.apitube.io/v1/news/everything?${params}`);
const data = await response.json();
console.log(data);
$query = http_build_query(["industry.id" => "801,805,807", "title" => "Tesla", "per_page" => "20", "api_key" => "YOUR_API_KEY"]);
$response = file_get_contents("https://api.apitube.io/v1/news/everything?$query");
$data = json_decode($response, true);
print_r($data);
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
u, _ := url.Parse("https://api.apitube.io/v1/news/everything")
q := u.Query()
q.Set("industry.id", "801,805,807")
q.Set("title", "Tesla")
q.Set("per_page", "20")
q.Set("api_key", "YOUR_API_KEY")
u.RawQuery = q.Encode()
resp, _ := http.Get(u.String())
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var data map[string]any
json.Unmarshal(body, &data)
fmt.Println(data)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.apitube.io/v1/news/everything?industry.id=801,805,807&title=Tesla&per_page=20&api_key=YOUR_API_KEY"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Write a script in your preferred language that calls the APITube News API:
GET https://api.apitube.io/v1/news/everything?industry.id=801,805,807&title=Tesla&per_page=20
Read the API key from an environment variable (do not hardcode it), handle request
errors, and print the key fields of each result.
Docs: https://docs.apitube.io/platform/news-api/everything
For a topic rather than a company — title=electric vehicle — multiple words are matched as AND, so every word must appear in the headline. Wrap the phrase in double quotes to require the exact order.
Step 3: Split the feed into recalls and launches
Use event.type=recall for safety recalls and event.type=product-launch for new models and product announcements.
curl "https://api.apitube.io/v1/news/everything?industry.id=801,805,807&event.type=recall&sort.by=published_at&sort.order=desc&per_page=20&api_key=YOUR_API_KEY"
import requests
response = requests.get(
"https://api.apitube.io/v1/news/everything",
params={
"industry.id": "801,805,807",
"event.type": "recall",
"sort.by": "published_at",
"sort.order": "desc",
"per_page": "20",
"api_key": "YOUR_API_KEY",
},
)
print(response.json())
const params = new URLSearchParams({ "industry.id": "801,805,807", "event.type": "recall", "sort.by": "published_at", "sort.order": "desc", "per_page": "20", "api_key": "YOUR_API_KEY" });
const response = await fetch(`https://api.apitube.io/v1/news/everything?${params}`);
const data = await response.json();
console.log(data);
$query = http_build_query(["industry.id" => "801,805,807", "event.type" => "recall", "sort.by" => "published_at", "sort.order" => "desc", "per_page" => "20", "api_key" => "YOUR_API_KEY"]);
$response = file_get_contents("https://api.apitube.io/v1/news/everything?$query");
$data = json_decode($response, true);
print_r($data);
package main
import (
"encoding/json"
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
u, _ := url.Parse("https://api.apitube.io/v1/news/everything")
q := u.Query()
q.Set("industry.id", "801,805,807")
q.Set("event.type", "recall")
q.Set("sort.by", "published_at")
q.Set("sort.order", "desc")
q.Set("per_page", "20")
q.Set("api_key", "YOUR_API_KEY")
u.RawQuery = q.Encode()
resp, _ := http.Get(u.String())
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
var data map[string]any
json.Unmarshal(body, &data)
fmt.Println(data)
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.apitube.io/v1/news/everything?industry.id=801,805,807&event.type=recall&sort.by=published_at&sort.order=desc&per_page=20&api_key=YOUR_API_KEY"))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Write a script in your preferred language that calls the APITube News API:
GET https://api.apitube.io/v1/news/everything?industry.id=801,805,807&event.type=recall&sort.by=published_at&sort.order=desc&per_page=20
Read the API key from an environment variable (do not hardcode it), handle request
errors, and print the key fields of each result.
Docs: https://docs.apitube.io/platform/news-api/everything
Change the event type to compare recalls with launches. Use a count request when you only need the totals:
import requests
MAKERS = ["Tesla", "Toyota", "BYD", "Volkswagen"]
AUTO = "801,805,807"
def scoreboard(api_key, event, since="2026-01-01"):
rows = {}
for maker in MAKERS:
r = requests.get(
"https://api.apitube.io/v1/news/count",
params={
"industry.id": AUTO,
"title": maker,
"event.type": event,
"published_at.start": since,
"api_key": api_key,
},
).json()
rows[maker] = r["count"]
return dict(sorted(rows.items(), key=lambda kv: -kv[1]))Tip: use EV charging (
807) on its own to follow charging infrastructure and utility partnerships.