CatPtain commited on
Commit
c01b5bd
·
verified ·
1 Parent(s): e46085b

Upload 244 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +12 -0
  2. openbb_platform/providers/benzinga/README.md +13 -0
  3. openbb_platform/providers/benzinga/__init__.py +1 -0
  4. openbb_platform/providers/benzinga/openbb_benzinga/__init__.py +22 -0
  5. openbb_platform/providers/benzinga/openbb_benzinga/models/__init__.py +1 -0
  6. openbb_platform/providers/benzinga/openbb_benzinga/models/analyst_search.py +463 -0
  7. openbb_platform/providers/benzinga/openbb_benzinga/models/company_news.py +205 -0
  8. openbb_platform/providers/benzinga/openbb_benzinga/models/price_target.py +318 -0
  9. openbb_platform/providers/benzinga/openbb_benzinga/models/world_news.py +197 -0
  10. openbb_platform/providers/benzinga/openbb_benzinga/py.typed +0 -0
  11. openbb_platform/providers/benzinga/openbb_benzinga/utils/__init__.py +1 -0
  12. openbb_platform/providers/benzinga/openbb_benzinga/utils/helpers.py +24 -0
  13. openbb_platform/providers/benzinga/poetry.lock +0 -0
  14. openbb_platform/providers/benzinga/pyproject.toml +19 -0
  15. openbb_platform/providers/benzinga/tests/__init__.py +1 -0
  16. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_analyst_search_fetcher_urllib3_v1.yaml +282 -0
  17. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_analyst_search_fetcher_urllib3_v2.yaml +311 -0
  18. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_company_news_fetcher_urllib3_v1.yaml +0 -0
  19. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_company_news_fetcher_urllib3_v2.yaml +0 -0
  20. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_price_target_fetcher_urllib3_v1.yaml +229 -0
  21. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_price_target_fetcher_urllib3_v2.yaml +230 -0
  22. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_world_news_fetcher_urllib3_v1.yaml +0 -0
  23. openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_world_news_fetcher_urllib3_v2.yaml +450 -0
  24. openbb_platform/providers/benzinga/tests/test_benzinga_fetchers.py +63 -0
  25. openbb_platform/providers/biztoc/README.md +14 -0
  26. openbb_platform/providers/biztoc/__init__.py +1 -0
  27. openbb_platform/providers/biztoc/openbb_biztoc/__init__.py +25 -0
  28. openbb_platform/providers/biztoc/openbb_biztoc/models/__init__.py +1 -0
  29. openbb_platform/providers/biztoc/openbb_biztoc/models/world_news.py +158 -0
  30. openbb_platform/providers/biztoc/openbb_biztoc/utils/__init__.py +1 -0
  31. openbb_platform/providers/biztoc/poetry.lock +0 -0
  32. openbb_platform/providers/biztoc/pyproject.toml +19 -0
  33. openbb_platform/providers/biztoc/tests/__init__.py +1 -0
  34. openbb_platform/providers/biztoc/tests/record/http/test_biztoc_fetchers/test_biztoc_world_news_fetcher_urllib3_v1.yaml +289 -0
  35. openbb_platform/providers/biztoc/tests/record/http/test_biztoc_fetchers/test_biztoc_world_news_fetcher_urllib3_v2.yaml +299 -0
  36. openbb_platform/providers/biztoc/tests/test_biztoc_fetchers.py +33 -0
  37. openbb_platform/providers/bls/README.md +19 -0
  38. openbb_platform/providers/bls/__init__.py +1 -0
  39. openbb_platform/providers/bls/openbb_bls/__init__.py +21 -0
  40. openbb_platform/providers/bls/openbb_bls/assets/__init__.py +1 -0
  41. openbb_platform/providers/bls/openbb_bls/assets/bed_codes.json +221 -0
  42. openbb_platform/providers/bls/openbb_bls/assets/bed_series.xz +3 -0
  43. openbb_platform/providers/bls/openbb_bls/assets/bls_assets.json +0 -0
  44. openbb_platform/providers/bls/openbb_bls/assets/cpi_codes.json +1199 -0
  45. openbb_platform/providers/bls/openbb_bls/assets/cpi_series.xz +3 -0
  46. openbb_platform/providers/bls/openbb_bls/assets/cps_codes.json +1155 -0
  47. openbb_platform/providers/bls/openbb_bls/assets/cps_series.xz +3 -0
  48. openbb_platform/providers/bls/openbb_bls/assets/ec_codes.json +430 -0
  49. openbb_platform/providers/bls/openbb_bls/assets/ec_series.xz +3 -0
  50. openbb_platform/providers/bls/openbb_bls/assets/ip_codes.json +1136 -0
.gitattributes CHANGED
@@ -2,3 +2,15 @@
2
  *.py linguist-vendored=false
3
  text eol=lf
4
  openbb_platform/obbject_extensions/charting/openbb_charting/core/assets/Terminal_icon.png filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  *.py linguist-vendored=false
3
  text eol=lf
4
  openbb_platform/obbject_extensions/charting/openbb_charting/core/assets/Terminal_icon.png filter=lfs diff=lfs merge=lfs -text
5
+ openbb_platform/providers/bls/openbb_bls/assets/bed_series.xz filter=lfs diff=lfs merge=lfs -text
6
+ openbb_platform/providers/bls/openbb_bls/assets/cpi_series.xz filter=lfs diff=lfs merge=lfs -text
7
+ openbb_platform/providers/bls/openbb_bls/assets/cps_series.xz filter=lfs diff=lfs merge=lfs -text
8
+ openbb_platform/providers/bls/openbb_bls/assets/ec_series.xz filter=lfs diff=lfs merge=lfs -text
9
+ openbb_platform/providers/bls/openbb_bls/assets/ip_series.xz filter=lfs diff=lfs merge=lfs -text
10
+ openbb_platform/providers/bls/openbb_bls/assets/lfs_series.xz filter=lfs diff=lfs merge=lfs -text
11
+ openbb_platform/providers/bls/openbb_bls/assets/nfp_series.xz filter=lfs diff=lfs merge=lfs -text
12
+ openbb_platform/providers/bls/openbb_bls/assets/pce_series.xz filter=lfs diff=lfs merge=lfs -text
13
+ openbb_platform/providers/bls/openbb_bls/assets/ppi_series.xz filter=lfs diff=lfs merge=lfs -text
14
+ openbb_platform/providers/bls/openbb_bls/assets/sla_series.xz filter=lfs diff=lfs merge=lfs -text
15
+ openbb_platform/providers/bls/openbb_bls/assets/tu_series.xz filter=lfs diff=lfs merge=lfs -text
16
+ openbb_platform/providers/bls/openbb_bls/assets/wages_series.xz filter=lfs diff=lfs merge=lfs -text
openbb_platform/providers/benzinga/README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # OpenBB Benzinga Provider
2
+
3
+ This extension integrates the [Benzinga](https://www.benzinga.com/) data provider into the OpenBB Platform.
4
+
5
+ ## Installation
6
+
7
+ To install the extension:
8
+
9
+ ```bash
10
+ pip install openbb-benzinga
11
+ ```
12
+
13
+ Documentation available [here](https://docs.openbb.co/platform/developer_guide/contributing).
openbb_platform/providers/benzinga/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Benzinga Provider."""
openbb_platform/providers/benzinga/openbb_benzinga/__init__.py ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga provider module."""
2
+
3
+ from openbb_benzinga.models.analyst_search import BenzingaAnalystSearchFetcher
4
+ from openbb_benzinga.models.company_news import BenzingaCompanyNewsFetcher
5
+ from openbb_benzinga.models.price_target import BenzingaPriceTargetFetcher
6
+ from openbb_benzinga.models.world_news import BenzingaWorldNewsFetcher
7
+ from openbb_core.provider.abstract.provider import Provider
8
+
9
+ benzinga_provider = Provider(
10
+ name="benzinga",
11
+ website="https://www.benzinga.com",
12
+ description="""Benzinga is a financial data provider that offers an API
13
+ focused on information that moves the market.""",
14
+ credentials=["api_key"],
15
+ fetcher_dict={
16
+ "AnalystSearch": BenzingaAnalystSearchFetcher,
17
+ "CompanyNews": BenzingaCompanyNewsFetcher,
18
+ "WorldNews": BenzingaWorldNewsFetcher,
19
+ "PriceTarget": BenzingaPriceTargetFetcher,
20
+ },
21
+ repr_name="Benzinga",
22
+ )
openbb_platform/providers/benzinga/openbb_benzinga/models/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Benzinga Provider Models."""
openbb_platform/providers/benzinga/openbb_benzinga/models/analyst_search.py ADDED
@@ -0,0 +1,463 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga Analyst Search Model."""
2
+
3
+ # pylint: disable=unused-argument
4
+
5
+ from datetime import (
6
+ date as dateType,
7
+ timezone,
8
+ )
9
+ from typing import Any, Dict, List, Optional
10
+
11
+ from openbb_core.app.model.abstract.error import OpenBBError
12
+ from openbb_core.provider.abstract.fetcher import Fetcher
13
+ from openbb_core.provider.standard_models.analyst_search import (
14
+ AnalystSearchData,
15
+ AnalystSearchQueryParams,
16
+ )
17
+ from openbb_core.provider.utils.errors import EmptyDataError
18
+ from pydantic import Field, field_validator, model_validator
19
+
20
+
21
+ class BenzingaAnalystSearchQueryParams(AnalystSearchQueryParams):
22
+ """Benzinga Analyst Search Query.
23
+
24
+ Source: https://docs.benzinga.io/benzinga-apis/calendar/get-analysts
25
+ """
26
+
27
+ __alias_dict__ = {
28
+ "analyst_ids": "analyst",
29
+ "firm_ids": "firm",
30
+ "limit": "pageSize",
31
+ }
32
+ __json_schema_extra__ = {
33
+ "analyst_name": {"multiple_items_allowed": True},
34
+ "firm_name": {"multiple_items_allowed": True},
35
+ "analyst_ids": {"multiple_items_allowed": True},
36
+ "firm_ids": {"multiple_items_allowed": True},
37
+ "fields": {"multiple_items_allowed": True},
38
+ }
39
+
40
+ analyst_ids: Optional[str] = Field(
41
+ default=None,
42
+ description="List of analyst IDs to return.",
43
+ )
44
+ firm_ids: Optional[str] = Field(
45
+ default=None,
46
+ description="Firm IDs to return.",
47
+ )
48
+ limit: Optional[int] = Field(
49
+ default=100,
50
+ description="Number of results returned. Limit 1000.",
51
+ )
52
+ page: Optional[int] = Field(
53
+ default=0,
54
+ description="Page offset. For optimization,"
55
+ + " performance and technical reasons, page offsets"
56
+ + " are limited from 0 - 100000."
57
+ + " Limit the query results by other parameters such as date.",
58
+ )
59
+ fields: Optional[str] = Field(
60
+ default=None,
61
+ description="Fields to include in the response."
62
+ " See https://docs.benzinga.io/benzinga-apis/calendar/get-ratings to learn about the available fields.",
63
+ )
64
+
65
+
66
+ class BenzingaAnalystSearchData(AnalystSearchData):
67
+ """Benzinga Analyst Search Data."""
68
+
69
+ __alias_dict__ = {
70
+ "analyst_id": "id",
71
+ "last_updated": "updated",
72
+ "overall_std_dev": "overall_stdev",
73
+ "gain_count_1m": "1m_gain_count",
74
+ "loss_count_1m": "1m_loss_count",
75
+ "average_return_1m": "1m_average_return",
76
+ "std_dev_1m": "1m_stdev",
77
+ "smart_score_1m": "1m_smart_score",
78
+ "success_rate_1m": "1m_success_rate",
79
+ "gain_count_3m": "3m_gain_count",
80
+ "loss_count_3m": "3m_loss_count",
81
+ "average_return_3m": "3m_average_return",
82
+ "std_dev_3m": "3m_stdev",
83
+ "smart_score_3m": "3m_smart_score",
84
+ "success_rate_3m": "3m_success_rate",
85
+ "gain_count_6m": "6m_gain_count",
86
+ "loss_count_6m": "6m_loss_count",
87
+ "average_return_6m": "6m_average_return",
88
+ "std_dev_6m": "6m_stdev",
89
+ "gain_count_9m": "9m_gain_count",
90
+ "loss_count_9m": "9m_loss_count",
91
+ "average_return_9m": "9m_average_return",
92
+ "std_dev_9m": "9m_stdev",
93
+ "smart_score_9m": "9m_smart_score",
94
+ "success_rate_9m": "9m_success_rate",
95
+ "gain_count_1y": "1y_gain_count",
96
+ "loss_count_1y": "1y_loss_count",
97
+ "average_return_1y": "1y_average_return",
98
+ "std_dev_1y": "1y_stdev",
99
+ "smart_score_1y": "1y_smart_score",
100
+ "success_rate_1y": "1y_success_rate",
101
+ "gain_count_2y": "2y_gain_count",
102
+ "loss_count_2y": "2y_loss_count",
103
+ "average_return_2y": "2y_average_return",
104
+ "std_dev_2y": "2y_stdev",
105
+ "smart_score_2y": "2y_smart_score",
106
+ "success_rate_2y": "2y_success_rate",
107
+ "gain_count_3y": "3y_gain_count",
108
+ "loss_count_3y": "3y_loss_count",
109
+ "average_return_3y": "3y_average_return",
110
+ "std_dev_3y": "3y_stdev",
111
+ "smart_score_3y": "3y_smart_score",
112
+ "success_rate_3y": "3y_success_rate",
113
+ }
114
+
115
+ analyst_id: Optional[str] = Field(
116
+ default=None,
117
+ description="ID of the analyst.",
118
+ )
119
+ firm_id: Optional[str] = Field(
120
+ default=None,
121
+ description="ID of the analyst firm.",
122
+ )
123
+ smart_score: Optional[float] = Field(
124
+ default=None,
125
+ description="A weighted average of the total_ratings_percentile,"
126
+ + " overall_avg_return_percentile, and overall_success_rate",
127
+ )
128
+ overall_success_rate: Optional[float] = Field(
129
+ default=None,
130
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain overall.",
131
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
132
+ )
133
+ overall_avg_return_percentile: Optional[float] = Field(
134
+ default=None,
135
+ description="The percentile (normalized) of this analyst's overall average"
136
+ + " return per rating in comparison to other analysts' overall average returns per rating.",
137
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
138
+ )
139
+ total_ratings_percentile: Optional[float] = Field(
140
+ default=None,
141
+ description="The percentile (normalized) of this analyst's total number of ratings"
142
+ + " in comparison to the total number of ratings published by all other analysts",
143
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
144
+ )
145
+ total_ratings: Optional[int] = Field(
146
+ default=None,
147
+ description="Number of recommendations made by this analyst.",
148
+ )
149
+ overall_gain_count: Optional[int] = Field(
150
+ default=None,
151
+ description="The number of ratings that have gained value since the date of recommendation",
152
+ )
153
+ overall_loss_count: Optional[int] = Field(
154
+ default=None,
155
+ description="The number of ratings that have lost value since the date of recommendation",
156
+ )
157
+ overall_average_return: Optional[float] = Field(
158
+ default=None,
159
+ description="The average percent (normalized) price difference per rating since the date of recommendation",
160
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
161
+ )
162
+ overall_std_dev: Optional[float] = Field(
163
+ default=None,
164
+ description="The standard deviation in percent (normalized) price difference in the"
165
+ + " analyst's ratings since the date of recommendation",
166
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
167
+ )
168
+ gain_count_1m: Optional[int] = Field(
169
+ default=None,
170
+ description="The number of ratings that have gained value over the last month",
171
+ )
172
+ loss_count_1m: Optional[int] = Field(
173
+ default=None,
174
+ description="The number of ratings that have lost value over the last month",
175
+ )
176
+ average_return_1m: Optional[float] = Field(
177
+ default=None,
178
+ description="The average percent (normalized) price difference per rating over the last month",
179
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
180
+ )
181
+ std_dev_1m: Optional[float] = Field(
182
+ default=None,
183
+ description="The standard deviation in percent (normalized) price difference in the"
184
+ + " analyst's ratings over the last month",
185
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
186
+ )
187
+ smart_score_1m: Optional[float] = Field(
188
+ default=None,
189
+ description="A weighted average smart score over the last month.",
190
+ )
191
+ success_rate_1m: Optional[float] = Field(
192
+ default=None,
193
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last month",
194
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
195
+ )
196
+ gain_count_3m: Optional[int] = Field(
197
+ default=None,
198
+ description="The number of ratings that have gained value over the last 3 months",
199
+ )
200
+ loss_count_3m: Optional[int] = Field(
201
+ default=None,
202
+ description="The number of ratings that have lost value over the last 3 months",
203
+ )
204
+ average_return_3m: Optional[float] = Field(
205
+ default=None,
206
+ description="The average percent (normalized) price difference per rating over"
207
+ + " the last 3 months",
208
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
209
+ )
210
+ std_dev_3m: Optional[float] = Field(
211
+ default=None,
212
+ description="The standard deviation in percent (normalized) price difference in the"
213
+ + " analyst's ratings over the last 3 months",
214
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
215
+ )
216
+ smart_score_3m: Optional[float] = Field(
217
+ default=None,
218
+ description="A weighted average smart score over the last 3 months.",
219
+ )
220
+ success_rate_3m: Optional[float] = Field(
221
+ default=None,
222
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last 3 months",
223
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
224
+ )
225
+ gain_count_6m: Optional[int] = Field(
226
+ default=None,
227
+ description="The number of ratings that have gained value over the last 6 months",
228
+ )
229
+ loss_count_6m: Optional[int] = Field(
230
+ default=None,
231
+ description="The number of ratings that have lost value over the last 6 months",
232
+ )
233
+ average_return_6m: Optional[float] = Field(
234
+ default=None,
235
+ description="The average percent (normalized) price difference per rating over"
236
+ + " the last 6 months",
237
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
238
+ )
239
+ std_dev_6m: Optional[float] = Field(
240
+ default=None,
241
+ description="The standard deviation in percent (normalized) price difference in the"
242
+ + " analyst's ratings over the last 6 months",
243
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
244
+ )
245
+ gain_count_9m: Optional[int] = Field(
246
+ default=None,
247
+ description="The number of ratings that have gained value over the last 9 months",
248
+ )
249
+ loss_count_9m: Optional[int] = Field(
250
+ default=None,
251
+ description="The number of ratings that have lost value over the last 9 months",
252
+ )
253
+ average_return_9m: Optional[float] = Field(
254
+ default=None,
255
+ description="The average percent (normalized) price difference per rating over"
256
+ + " the last 9 months",
257
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
258
+ )
259
+ std_dev_9m: Optional[float] = Field(
260
+ default=None,
261
+ description="The standard deviation in percent (normalized) price difference in the"
262
+ + " analyst's ratings over the last 9 months",
263
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
264
+ )
265
+ smart_score_9m: Optional[float] = Field(
266
+ default=None,
267
+ description="A weighted average smart score over the last 9 months.",
268
+ )
269
+ success_rate_9m: Optional[float] = Field(
270
+ default=None,
271
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last 9 months",
272
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
273
+ )
274
+ gain_count_1y: Optional[int] = Field(
275
+ default=None,
276
+ description="The number of ratings that have gained value over the last 1 year",
277
+ )
278
+ loss_count_1y: Optional[int] = Field(
279
+ default=None,
280
+ description="The number of ratings that have lost value over the last 1 year",
281
+ )
282
+ average_return_1y: Optional[float] = Field(
283
+ default=None,
284
+ description="The average percent (normalized) price difference per rating over"
285
+ + " the last 1 year",
286
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
287
+ )
288
+ std_dev_1y: Optional[float] = Field(
289
+ default=None,
290
+ description="The standard deviation in percent (normalized) price difference in the"
291
+ + " analyst's ratings over the last 1 year",
292
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
293
+ )
294
+ smart_score_1y: Optional[float] = Field(
295
+ default=None,
296
+ description="A weighted average smart score over the last 1 year.",
297
+ )
298
+ success_rate_1y: Optional[float] = Field(
299
+ default=None,
300
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last 1 year",
301
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
302
+ )
303
+ gain_count_2y: Optional[int] = Field(
304
+ default=None,
305
+ description="The number of ratings that have gained value over the last 2 years",
306
+ )
307
+ loss_count_2y: Optional[int] = Field(
308
+ default=None,
309
+ description="The number of ratings that have lost value over the last 2 years",
310
+ )
311
+ average_return_2y: Optional[float] = Field(
312
+ default=None,
313
+ description="The average percent (normalized) price difference per rating over"
314
+ + " the last 2 years",
315
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
316
+ )
317
+ std_dev_2y: Optional[float] = Field(
318
+ default=None,
319
+ description="The standard deviation in percent (normalized) price difference in the"
320
+ + " analyst's ratings over the last 2 years",
321
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
322
+ )
323
+ smart_score_2y: Optional[float] = Field(
324
+ default=None,
325
+ description="A weighted average smart score over the last 3 years.",
326
+ )
327
+ success_rate_2y: Optional[float] = Field(
328
+ default=None,
329
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last 2 years",
330
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
331
+ )
332
+ gain_count_3y: Optional[int] = Field(
333
+ default=None,
334
+ description="The number of ratings that have gained value over the last 3 years",
335
+ )
336
+ loss_count_3y: Optional[int] = Field(
337
+ default=None,
338
+ description="The number of ratings that have lost value over the last 3 years",
339
+ )
340
+ average_return_3y: Optional[float] = Field(
341
+ default=None,
342
+ description="The average percent (normalized) price difference per rating over"
343
+ + " the last 3 years",
344
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
345
+ )
346
+ std_dev_3y: Optional[float] = Field(
347
+ default=None,
348
+ description="The standard deviation in percent (normalized) price difference in the"
349
+ + " analyst's ratings over the last 3 years",
350
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
351
+ )
352
+ smart_score_3y: Optional[float] = Field(
353
+ default=None,
354
+ description="A weighted average smart score over the last 3 years.",
355
+ )
356
+ success_rate_3y: Optional[float] = Field(
357
+ default=None,
358
+ description="The percentage (normalized) of gain/loss ratings that resulted in a gain over the last 3 years",
359
+ json_schema_extra={"x-unit_measurement": "percent", "x-frontend_multiply": 100},
360
+ )
361
+
362
+ @field_validator("last_updated", mode="before", check_fields=False)
363
+ @classmethod
364
+ def validate_date(cls, v: float) -> Optional[dateType]:
365
+ """Validate last_updated."""
366
+ # pylint: disable=import-outside-toplevel
367
+ from openbb_core.provider.utils.helpers import safe_fromtimestamp
368
+
369
+ if v:
370
+ dt = safe_fromtimestamp(v, tz=timezone.utc)
371
+ return dt.date() if dt.time() == dt.min.time() else dt
372
+ return None
373
+
374
+ @model_validator(mode="before")
375
+ @classmethod
376
+ def replace_empty_strings(cls, values):
377
+ """Check for empty strings and replace with None."""
378
+ return (
379
+ {k: None if v == "" else v for k, v in values.items()}
380
+ if isinstance(values, dict)
381
+ else values
382
+ )
383
+
384
+ @model_validator(mode="before")
385
+ @classmethod
386
+ def normalize_percent(cls, values):
387
+ """Normalize percent values."""
388
+ contains = ["return", "percentile", "stdev", "rate"]
389
+ for key in values:
390
+ if any(x in key for x in contains):
391
+ values[key] = (
392
+ float(values[key]) / 100
393
+ if values[key] != "" or values[key] is not None
394
+ else None
395
+ )
396
+ return values
397
+
398
+
399
+ class BenzingaAnalystSearchFetcher(
400
+ Fetcher[BenzingaAnalystSearchQueryParams, List[BenzingaAnalystSearchData]]
401
+ ):
402
+ """Benzinga Analyst Search Fetcher."""
403
+
404
+ @staticmethod
405
+ def transform_query(params: Dict[str, Any]) -> BenzingaAnalystSearchQueryParams:
406
+ """Transform query params."""
407
+ return BenzingaAnalystSearchQueryParams(**params)
408
+
409
+ @staticmethod
410
+ async def aextract_data(
411
+ query: BenzingaAnalystSearchQueryParams,
412
+ credentials: Optional[Dict[str, str]],
413
+ **kwargs: Any,
414
+ ) -> List[Dict]:
415
+ """Extract the raw data."""
416
+ # pylint: disable=import-outside-toplevel
417
+ from openbb_benzinga.utils.helpers import response_callback
418
+ from openbb_core.provider.utils.helpers import amake_request, get_querystring
419
+
420
+ token = credentials.get("benzinga_api_key") if credentials else ""
421
+ querystring = get_querystring(query.model_dump(by_alias=True), [])
422
+ url = f"https://api.benzinga.com/api/v2.1/calendar/ratings/analysts?{querystring}&token={token}"
423
+ data = await amake_request(url, response_callback=response_callback, **kwargs)
424
+
425
+ if (isinstance(data, list) and not data) or (
426
+ isinstance(data, dict) and not data.get("analyst_ratings_analyst")
427
+ ):
428
+ raise EmptyDataError("No ratings data returned.")
429
+
430
+ if isinstance(data, dict) and "analyst_ratings_analyst" not in data:
431
+ raise OpenBBError(
432
+ f"Unexpected data format. Expected 'analyst_ratings_analyst' key, got: {list(data.keys())}"
433
+ )
434
+
435
+ if not isinstance(data, dict):
436
+ raise OpenBBError(
437
+ f"Unexpected data format. Expected dict, got: {type(data).__name__}"
438
+ )
439
+
440
+ return data["analyst_ratings_analyst"]
441
+
442
+ @staticmethod
443
+ def transform_data(
444
+ query: BenzingaAnalystSearchQueryParams,
445
+ data: List[Dict],
446
+ **kwargs: Any,
447
+ ) -> List[BenzingaAnalystSearchData]:
448
+ """Transform the data."""
449
+ results: List[BenzingaAnalystSearchData] = []
450
+ for item in data:
451
+ if item.get("firm_id"):
452
+ result = {
453
+ "updated": item.get("updated", None),
454
+ "firm_id": item.get("firm_id", None),
455
+ "firm_name": item.get("firm_name", None),
456
+ "id": item.get("id", None),
457
+ "name_first": item.get("name_first", None),
458
+ "name_full": item.get("name_full", None),
459
+ "name_last": item.get("name_last", None),
460
+ **item["ratings_accuracy"],
461
+ }
462
+ results.append(BenzingaAnalystSearchData.model_validate(result))
463
+ return results
openbb_platform/providers/benzinga/openbb_benzinga/models/company_news.py ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga Company News Model."""
2
+
3
+ # pylint: disable=unused-argument
4
+
5
+ from datetime import (
6
+ date as dateType,
7
+ datetime,
8
+ )
9
+ from typing import Any, Dict, List, Literal, Optional
10
+
11
+ from openbb_core.app.model.abstract.error import OpenBBError
12
+ from openbb_core.provider.abstract.fetcher import Fetcher
13
+ from openbb_core.provider.standard_models.company_news import (
14
+ CompanyNewsData,
15
+ CompanyNewsQueryParams,
16
+ )
17
+ from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS
18
+ from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError
19
+ from pydantic import Field, field_validator
20
+
21
+
22
+ class BenzingaCompanyNewsQueryParams(CompanyNewsQueryParams):
23
+ """Benzinga Company News Query.
24
+
25
+ Source: https://docs.benzinga.io/benzinga/newsfeed-v2.html
26
+ """
27
+
28
+ __alias_dict__ = {
29
+ "symbol": "tickers",
30
+ "display": "displayOutput",
31
+ "limit": "pageSize",
32
+ "start_date": "dateFrom",
33
+ "end_date": "dateTo",
34
+ "updated_since": "updatedSince",
35
+ "published_since": "publishedSince",
36
+ }
37
+ __json_schema_extra__ = {"symbol": {"multiple_items_allowed": True}}
38
+
39
+ date: Optional[dateType] = Field(
40
+ default=None, description=QUERY_DESCRIPTIONS.get("date", "")
41
+ )
42
+ display: Literal["headline", "abstract", "full"] = Field(
43
+ default="full",
44
+ description="Specify headline only (headline), headline + teaser (abstract), or headline + full body (full).",
45
+ )
46
+ updated_since: Optional[int] = Field(
47
+ default=None,
48
+ description="Number of seconds since the news was updated.",
49
+ )
50
+ published_since: Optional[int] = Field(
51
+ default=None,
52
+ description="Number of seconds since the news was published.",
53
+ )
54
+
55
+ sort: Literal["id", "created", "updated"] = Field(
56
+ default="created", description="Key to sort the news by."
57
+ )
58
+ order: Literal["asc", "desc"] = Field(
59
+ default="desc", description="Order to sort the news by."
60
+ )
61
+ isin: Optional[str] = Field(default=None, description="The company's ISIN.")
62
+ cusip: Optional[str] = Field(default=None, description="The company's CUSIP.")
63
+ channels: Optional[str] = Field(
64
+ default=None, description="Channels of the news to retrieve."
65
+ )
66
+ topics: Optional[str] = Field(
67
+ default=None, description="Topics of the news to retrieve."
68
+ )
69
+ authors: Optional[str] = Field(
70
+ default=None, description="Authors of the news to retrieve."
71
+ )
72
+ content_types: Optional[str] = Field(
73
+ default=None, description="Content types of the news to retrieve."
74
+ )
75
+
76
+
77
+ class BenzingaCompanyNewsData(CompanyNewsData):
78
+ """Benzinga Company News Data."""
79
+
80
+ __alias_dict__ = {
81
+ "symbols": "stocks",
82
+ "date": "created",
83
+ "text": "body",
84
+ "images": "image",
85
+ }
86
+
87
+ id: str = Field(description="Article ID.")
88
+ author: Optional[str] = Field(default=None, description="Author of the article.")
89
+ teaser: Optional[str] = Field(description="Teaser of the news.", default=None)
90
+ images: Optional[List[Dict[str, str]]] = Field(
91
+ default=None, description="URL to the images of the news."
92
+ )
93
+ channels: Optional[str] = Field(
94
+ default=None,
95
+ description="Channels associated with the news.",
96
+ )
97
+ stocks: Optional[str] = Field(
98
+ description="Stocks associated with the news.",
99
+ default=None,
100
+ )
101
+ tags: Optional[str] = Field(
102
+ description="Tags associated with the news.",
103
+ default=None,
104
+ )
105
+ updated: Optional[datetime] = Field(
106
+ default=None, description="Updated date of the news."
107
+ )
108
+
109
+ @field_validator("symbols", mode="before", check_fields=False)
110
+ @classmethod
111
+ def symbols_string(cls, v):
112
+ """Symbols string validator."""
113
+ return ",".join([item["name"] for item in v])
114
+
115
+ @field_validator("date", "updated", mode="before", check_fields=False)
116
+ def date_validate(cls, v): # pylint: disable=E0213
117
+ """Return the date as a datetime object."""
118
+ return datetime.strptime(v, "%a, %d %b %Y %H:%M:%S %z")
119
+
120
+ @field_validator("stocks", "channels", "tags", mode="before", check_fields=False)
121
+ def list_validate(cls, v): # pylint: disable=E0213
122
+ """Return the list as a string."""
123
+ return ",".join(
124
+ [item.get("name", None) for item in v if item.get("name", None)]
125
+ )
126
+
127
+ @field_validator("id", mode="before", check_fields=False)
128
+ def id_validate(cls, v): # pylint: disable=E0213
129
+ """Return the id as a string."""
130
+ return str(v)
131
+
132
+
133
+ class BenzingaCompanyNewsFetcher(
134
+ Fetcher[
135
+ BenzingaCompanyNewsQueryParams,
136
+ List[BenzingaCompanyNewsData],
137
+ ]
138
+ ):
139
+ """Transform the query, extract and transform the data from the Benzinga endpoints."""
140
+
141
+ @staticmethod
142
+ def transform_query(params: Dict[str, Any]) -> BenzingaCompanyNewsQueryParams:
143
+ """Transform query params."""
144
+ return BenzingaCompanyNewsQueryParams(**params)
145
+
146
+ @staticmethod
147
+ async def aextract_data(
148
+ query: BenzingaCompanyNewsQueryParams,
149
+ credentials: Optional[Dict[str, str]],
150
+ **kwargs: Any,
151
+ ) -> List[Dict]:
152
+ """Extract data."""
153
+ # pylint: disable=import-outside-toplevel
154
+ import asyncio # noqa
155
+ import math
156
+ from openbb_core.provider.utils.helpers import amake_request, get_querystring
157
+ from openbb_benzinga.utils.helpers import response_callback
158
+
159
+ token = credentials.get("benzinga_api_key") if credentials else ""
160
+
161
+ base_url = "https://api.benzinga.com/api/v2/news"
162
+
163
+ model = query.model_dump(by_alias=True)
164
+ model["sort"] = (
165
+ f"{query.sort}:{query.order}" if query.sort and query.order else ""
166
+ )
167
+ querystring = get_querystring(model, ["order", "pageSize"])
168
+
169
+ pages = math.ceil(query.limit / 100) if query.limit else 1
170
+ page_size = 100 if query.limit and query.limit > 100 else query.limit
171
+ urls = [
172
+ f"{base_url}?{querystring}&page={page}&pageSize={page_size}&token={token}"
173
+ for page in range(pages)
174
+ ]
175
+
176
+ results: list = []
177
+
178
+ async def get_one(url):
179
+ """Get data for one url."""
180
+ try:
181
+ response = await amake_request(
182
+ url, response_callback=response_callback, **kwargs
183
+ )
184
+ if response:
185
+ results.extend(response)
186
+ except (OpenBBError, UnauthorizedError) as e:
187
+ raise e from e
188
+
189
+ await asyncio.gather(*[get_one(url) for url in urls])
190
+
191
+ if not results:
192
+ raise EmptyDataError("The request was returned empty.")
193
+
194
+ return sorted(
195
+ results, key=lambda x: x.get("created"), reverse=query.order == "desc"
196
+ )[: query.limit if query.limit else len(results)]
197
+
198
+ @staticmethod
199
+ def transform_data(
200
+ query: BenzingaCompanyNewsQueryParams,
201
+ data: List[Dict],
202
+ **kwargs: Any,
203
+ ) -> List[BenzingaCompanyNewsData]:
204
+ """Transform data."""
205
+ return [BenzingaCompanyNewsData.model_validate(item) for item in data]
openbb_platform/providers/benzinga/openbb_benzinga/models/price_target.py ADDED
@@ -0,0 +1,318 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga Price Target Model."""
2
+
3
+ # pylint: disable=unused-argument
4
+
5
+ from datetime import (
6
+ date as dateType,
7
+ datetime,
8
+ time,
9
+ timezone,
10
+ )
11
+ from typing import Any, Dict, List, Literal, Optional, Union
12
+
13
+ from openbb_core.app.model.abstract.error import OpenBBError
14
+ from openbb_core.provider.abstract.fetcher import Fetcher
15
+ from openbb_core.provider.standard_models.price_target import (
16
+ PriceTargetData,
17
+ PriceTargetQueryParams,
18
+ )
19
+ from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS
20
+ from openbb_core.provider.utils.errors import EmptyDataError
21
+ from pydantic import Field, field_validator, model_validator
22
+
23
+ COVERAGE_DICT = {
24
+ "downgrades": "Downgrades",
25
+ "maintains": "Maintains",
26
+ "reinstates": "Reinstates",
27
+ "reiterates": "Reiterates",
28
+ "upgrades": "Upgrades",
29
+ "assumes": "Assumes",
30
+ "initiates": "Initiates Coverage On",
31
+ "terminates": "Terminates Coverage On",
32
+ "removes": "Removes",
33
+ "suspends": "Suspends",
34
+ "firm_dissolved": "Firm Dissolved",
35
+ }
36
+
37
+
38
+ class BenzingaPriceTargetQueryParams(PriceTargetQueryParams):
39
+ """Benzinga Price Target Query.
40
+
41
+ Source: https://docs.benzinga.io/benzinga-apis/calendar/get-ratings
42
+ """
43
+
44
+ __alias_dict__ = {
45
+ "limit": "pagesize",
46
+ "symbol": "parameters[tickers]",
47
+ "date": "parameters[date]",
48
+ "start_date": "parameters[date_from]",
49
+ "end_date": "parameters[date_to]",
50
+ "updated": "parameters[updated]",
51
+ "importance": "parameters[importance]",
52
+ "action": "parameters[action]",
53
+ "analyst_ids": "parameters[analyst_id]",
54
+ "firm_ids": "parameters[firm_id]",
55
+ }
56
+ __json_schema_extra__ = {
57
+ "symbol": {"multiple_items_allowed": True},
58
+ "analyst_ids": {"multiple_items_allowed": True},
59
+ "firm_ids": {"multiple_items_allowed": True},
60
+ "fields": {"multiple_items_allowed": True},
61
+ "action": {
62
+ "multiple_items_allowed": False,
63
+ "choices": [
64
+ "downgrades",
65
+ "maintains",
66
+ "reinstates",
67
+ "reiterates",
68
+ "upgrades",
69
+ "assumes",
70
+ "initiates",
71
+ "terminates",
72
+ "removes",
73
+ "suspends",
74
+ "firm_dissolved",
75
+ ],
76
+ },
77
+ }
78
+
79
+ page: Optional[int] = Field(
80
+ default=0,
81
+ description="Page offset. For optimization, performance and technical reasons,"
82
+ + " page offsets are limited from 0 - 100000. Limit the query results by other parameters such as date."
83
+ + " Used in conjunction with the limit and date parameters.",
84
+ )
85
+ date: Optional[dateType] = Field(
86
+ default=None,
87
+ description="Date for calendar data, shorthand for date_from and date_to.",
88
+ )
89
+ start_date: Optional[dateType] = Field(
90
+ default=None,
91
+ description=QUERY_DESCRIPTIONS.get("start_date", ""),
92
+ )
93
+ end_date: Optional[dateType] = Field(
94
+ default=None,
95
+ description=QUERY_DESCRIPTIONS.get("end_date", ""),
96
+ )
97
+ updated: Optional[Union[dateType, int]] = Field(
98
+ default=None,
99
+ description="Records last Updated Unix timestamp (UTC)."
100
+ + " This will force the sort order to be Greater Than or Equal to the timestamp indicated."
101
+ + " The date can be a date string or a Unix timestamp."
102
+ + " The date string must be in the format of YYYY-MM-DD.",
103
+ )
104
+ importance: Optional[int] = Field(
105
+ default=None,
106
+ description="Importance level to filter by."
107
+ + " Uses Greater Than or Equal To the importance indicated",
108
+ )
109
+ action: Optional[
110
+ Literal[
111
+ "downgrades",
112
+ "maintains",
113
+ "reinstates",
114
+ "reiterates",
115
+ "upgrades",
116
+ "assumes",
117
+ "initiates",
118
+ "terminates",
119
+ "removes",
120
+ "suspends",
121
+ "firm_dissolved",
122
+ ]
123
+ ] = Field(
124
+ default=None,
125
+ description="Filter by a specific action_company.",
126
+ )
127
+ analyst_ids: Optional[Union[List[str], str]] = Field(
128
+ default=None,
129
+ description="Comma-separated list of analyst (person) IDs."
130
+ + " Omitting will bring back all available analysts.",
131
+ )
132
+ firm_ids: Optional[Union[List[str], str]] = Field(
133
+ default=None,
134
+ description="Comma-separated list of firm IDs.",
135
+ )
136
+ fields: Optional[Union[List[str], str]] = Field(
137
+ default=None,
138
+ description="Comma-separated list of fields to include in the response."
139
+ " See https://docs.benzinga.io/benzinga-apis/calendar/get-ratings to learn about the available fields.",
140
+ )
141
+
142
+ @field_validator("action", mode="after", check_fields=False)
143
+ @classmethod
144
+ def convert_action(cls, v):
145
+ """Convert to the action string."""
146
+ return COVERAGE_DICT[v] if v else None
147
+
148
+ @field_validator("updated", mode="after", check_fields=False)
149
+ @classmethod
150
+ def date_validate(cls, v):
151
+ """Convert the the dates to a standard format."""
152
+ if isinstance(v, datetime):
153
+ v = v.replace(tzinfo=timezone.utc)
154
+ return int(v.timestamp())
155
+ if isinstance(v, dateType):
156
+ v = datetime.combine(v, time(), tzinfo=timezone.utc)
157
+ return int(v.timestamp())
158
+ return None
159
+
160
+ @field_validator(
161
+ "fields", "firm_ids", "analyst_ids", mode="before", check_fields=False
162
+ )
163
+ @classmethod
164
+ def convert_list(cls, v: Union[str, List[str]]):
165
+ """Convert a List[str] to a string list."""
166
+ if isinstance(v, str):
167
+ return v
168
+ return ",".join(v) if v else None
169
+
170
+
171
+ class BenzingaPriceTargetData(PriceTargetData):
172
+ """Benzinga Price Target Data."""
173
+
174
+ __alias_dict__ = {
175
+ "symbol": "ticker",
176
+ "published_date": "date",
177
+ "adj_price_target": "adjusted_pt_current",
178
+ "price_target": "pt_current",
179
+ "price_target_previous": "pt_prior",
180
+ "previous_adj_price_target": "adjusted_pt_prior",
181
+ "published_time": "time",
182
+ "analyst_firm": "analyst",
183
+ "company_name": "name",
184
+ "rating_previous": "rating_prior",
185
+ "url_analyst": "url",
186
+ "action": "action_company",
187
+ "action_change": "action_pt",
188
+ "last_updated": "updated",
189
+ }
190
+
191
+ action: Optional[
192
+ Literal[
193
+ "Downgrades",
194
+ "Maintains",
195
+ "Reinstates",
196
+ "Reiterates",
197
+ "Upgrades",
198
+ "Assumes",
199
+ "Initiates Coverage On",
200
+ "Terminates Coverage On",
201
+ "Removes",
202
+ "Suspends",
203
+ "Firm Dissolved",
204
+ ]
205
+ ] = Field(
206
+ default=None,
207
+ description="Description of the change in rating from firm's last rating."
208
+ "Note that all of these terms are precisely defined.",
209
+ )
210
+ action_change: Optional[
211
+ Literal["Announces", "Maintains", "Lowers", "Raises", "Removes", "Adjusts"]
212
+ ] = Field(
213
+ default=None,
214
+ description="Description of the change in price target from firm's last price target.",
215
+ )
216
+ importance: Optional[Literal[0, 1, 2, 3, 4, 5]] = Field(
217
+ default=None,
218
+ description="Subjective Basis of How Important Event is to Market. 5 = High",
219
+ )
220
+ notes: Optional[str] = Field(default=None, description="Notes of the price target.")
221
+ analyst_id: Optional[str] = Field(default=None, description="Id of the analyst.")
222
+ url_news: Optional[str] = Field(
223
+ default=None,
224
+ description="URL for analyst ratings news articles for this ticker on Benzinga.com.",
225
+ )
226
+ url_analyst: Optional[str] = Field(
227
+ default=None,
228
+ description="URL for analyst ratings page for this ticker on Benzinga.com.",
229
+ )
230
+ id: Optional[str] = Field(default=None, description="Unique ID of this entry.")
231
+ last_updated: Optional[datetime] = Field(
232
+ default=None,
233
+ description="Last updated timestamp, UTC.",
234
+ )
235
+
236
+ @field_validator("published_date", mode="before", check_fields=False)
237
+ @classmethod
238
+ def parse_date(cls, v: str):
239
+ """Parse the publisihed_date."""
240
+ return datetime.strptime(v, "%Y-%m-%d").date() if v else None
241
+
242
+ @field_validator("last_updated", mode="before", check_fields=False)
243
+ @classmethod
244
+ def validate_date(cls, v: float) -> Optional[dateType]:
245
+ """Convert the Unix timestamp to a datetime object."""
246
+ # pylint: disable=import-outside-toplevel
247
+ from openbb_core.provider.utils.helpers import safe_fromtimestamp
248
+
249
+ if v:
250
+ dt = safe_fromtimestamp(v, tz=timezone.utc)
251
+ return dt.date() if dt.time() == dt.min.time() else dt
252
+ return None
253
+
254
+ @model_validator(mode="before")
255
+ @classmethod
256
+ def replace_empty_strings(cls, values):
257
+ """Check for empty strings and replace with None."""
258
+ return {k: None if v == "" else v for k, v in values.items()}
259
+
260
+
261
+ class BenzingaPriceTargetFetcher(
262
+ Fetcher[
263
+ BenzingaPriceTargetQueryParams,
264
+ List[BenzingaPriceTargetData],
265
+ ]
266
+ ):
267
+ """Transform the query, extract and transform the data from the Benzinga endpoints."""
268
+
269
+ @staticmethod
270
+ def transform_query(params: Dict[str, Any]) -> BenzingaPriceTargetQueryParams:
271
+ """Transform the query params."""
272
+ return BenzingaPriceTargetQueryParams(**params)
273
+
274
+ @staticmethod
275
+ async def aextract_data(
276
+ query: BenzingaPriceTargetQueryParams,
277
+ credentials: Optional[Dict[str, str]],
278
+ **kwargs: Any,
279
+ ) -> List[Dict]:
280
+ """Return the raw data from the Benzinga endpoint."""
281
+ # pylint: disable=import-outside-toplevel
282
+ from openbb_benzinga.utils.helpers import response_callback
283
+ from openbb_core.provider.utils.helpers import amake_request, get_querystring
284
+
285
+ token = credentials.get("benzinga_api_key") if credentials else ""
286
+
287
+ base_url = "https://api.benzinga.com/api/v2.1/calendar/ratings"
288
+ querystring = get_querystring(query.model_dump(by_alias=True), [])
289
+
290
+ url = f"{base_url}?{querystring}&token={token}"
291
+ data = await amake_request(url, response_callback=response_callback, **kwargs)
292
+
293
+ if isinstance(data, dict) and "ratings" not in data:
294
+ raise OpenBBError(
295
+ f"Unexpected data format. Expected 'ratings' key, got: {list(data.keys())}"
296
+ )
297
+ if not isinstance(data, dict):
298
+ raise OpenBBError(
299
+ f"Unexpected data format. Expected dict, got: {type(data)}"
300
+ )
301
+ if isinstance(data, dict) and not data.get("ratings"):
302
+ raise EmptyDataError("No ratings data returned.")
303
+
304
+ return data["ratings"]
305
+
306
+ @staticmethod
307
+ def transform_data(
308
+ query: BenzingaPriceTargetQueryParams,
309
+ data: List[Dict],
310
+ **kwargs: Any,
311
+ ) -> List[BenzingaPriceTargetData]:
312
+ """Return the transformed data."""
313
+ results: List[BenzingaPriceTargetData] = []
314
+ # Remove duplicated field with a URL
315
+ for item in data:
316
+ item.pop("url_calendar", None)
317
+ results.append(BenzingaPriceTargetData.model_validate(item))
318
+ return results
openbb_platform/providers/benzinga/openbb_benzinga/models/world_news.py ADDED
@@ -0,0 +1,197 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga World News Model."""
2
+
3
+ # pylint: disable=unused-argument
4
+
5
+ from datetime import (
6
+ date as dateType,
7
+ datetime,
8
+ )
9
+ from typing import Any, Dict, List, Literal, Optional
10
+
11
+ from openbb_core.app.model.abstract.error import OpenBBError
12
+ from openbb_core.provider.abstract.fetcher import Fetcher
13
+ from openbb_core.provider.standard_models.world_news import (
14
+ WorldNewsData,
15
+ WorldNewsQueryParams,
16
+ )
17
+ from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS
18
+ from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError
19
+ from pydantic import Field, field_validator
20
+
21
+
22
+ class BenzingaWorldNewsQueryParams(WorldNewsQueryParams):
23
+ """Benzinga World News Query.
24
+
25
+ Source: https://docs.benzinga.io/benzinga/newsfeed-v2.html
26
+ """
27
+
28
+ __alias_dict__ = {
29
+ "display": "displayOutput",
30
+ "limit": "pageSize",
31
+ "start_date": "dateFrom",
32
+ "end_date": "dateTo",
33
+ "updated_since": "updatedSince",
34
+ "published_since": "publishedSince",
35
+ }
36
+ date: Optional[dateType] = Field(
37
+ default=None, description=QUERY_DESCRIPTIONS.get("date", "")
38
+ )
39
+ display: Literal["headline", "abstract", "full"] = Field(
40
+ default="full",
41
+ description="Specify headline only (headline), headline + teaser (abstract), or headline + full body (full).",
42
+ )
43
+ updated_since: Optional[int] = Field(
44
+ default=None,
45
+ description="Number of seconds since the news was updated.",
46
+ )
47
+ published_since: Optional[int] = Field(
48
+ default=None,
49
+ description="Number of seconds since the news was published.",
50
+ )
51
+ sort: Literal["id", "created", "updated"] = Field(
52
+ default="created", description="Key to sort the news by."
53
+ )
54
+ order: Literal["asc", "desc"] = Field(
55
+ default="desc", description="Order to sort the news by."
56
+ )
57
+ isin: Optional[str] = Field(
58
+ default=None, description="The ISIN of the news to retrieve."
59
+ )
60
+ cusip: Optional[str] = Field(
61
+ default=None, description="The CUSIP of the news to retrieve."
62
+ )
63
+ channels: Optional[str] = Field(
64
+ default=None, description="Channels of the news to retrieve."
65
+ )
66
+ topics: Optional[str] = Field(
67
+ default=None, description="Topics of the news to retrieve."
68
+ )
69
+ authors: Optional[str] = Field(
70
+ default=None, description="Authors of the news to retrieve."
71
+ )
72
+ content_types: Optional[str] = Field(
73
+ default=None, description="Content types of the news to retrieve."
74
+ )
75
+
76
+
77
+ class BenzingaWorldNewsData(WorldNewsData):
78
+ """Benzinga World News Data."""
79
+
80
+ __alias_dict__ = {"date": "created", "text": "body", "images": "image"}
81
+
82
+ id: str = Field(description="Article ID.")
83
+ author: Optional[str] = Field(default=None, description="Author of the news.")
84
+ teaser: Optional[str] = Field(description="Teaser of the news.", default=None)
85
+ channels: Optional[str] = Field(
86
+ default=None,
87
+ description="Channels associated with the news.",
88
+ )
89
+ stocks: Optional[str] = Field(
90
+ description="Stocks associated with the news.",
91
+ default=None,
92
+ )
93
+ tags: Optional[str] = Field(
94
+ description="Tags associated with the news.",
95
+ default=None,
96
+ )
97
+ updated: Optional[datetime] = Field(
98
+ default=None, description="Updated date of the news."
99
+ )
100
+
101
+ @field_validator("date", "updated", mode="before", check_fields=False)
102
+ @classmethod
103
+ def date_validate(cls, v):
104
+ """Return the date as a datetime object."""
105
+ return datetime.strptime(v, "%a, %d %b %Y %H:%M:%S %z")
106
+
107
+ @field_validator("stocks", "channels", "tags", mode="before", check_fields=False)
108
+ @classmethod
109
+ def list_validate(cls, v):
110
+ """Return the list as a string."""
111
+ v = ",".join([item.get("name", None) for item in v if item.get("name", None)])
112
+ return v if v != "" else None
113
+
114
+ @field_validator(
115
+ "id", "text", "teaser", "title", "author", mode="before", check_fields=False
116
+ )
117
+ @classmethod
118
+ def id_validate(cls, v):
119
+ """Return the a string if the field is not empty."""
120
+ return str(v) if v else None
121
+
122
+ @field_validator("images", mode="before", check_fields=False)
123
+ @classmethod
124
+ def empty_list(cls, v):
125
+ """Return None instead of []"""
126
+ return None if v == [] else v
127
+
128
+
129
+ class BenzingaWorldNewsFetcher(
130
+ Fetcher[
131
+ BenzingaWorldNewsQueryParams,
132
+ List[BenzingaWorldNewsData],
133
+ ]
134
+ ):
135
+ """Transform the query, extract and transform the data from the Benzinga endpoints."""
136
+
137
+ @staticmethod
138
+ def transform_query(params: Dict[str, Any]) -> BenzingaWorldNewsQueryParams:
139
+ """Transform the query parameters."""
140
+ return BenzingaWorldNewsQueryParams(**params)
141
+
142
+ @staticmethod
143
+ async def aextract_data(
144
+ query: BenzingaWorldNewsQueryParams,
145
+ credentials: Optional[Dict[str, str]],
146
+ **kwargs: Any,
147
+ ) -> List[Dict]:
148
+ """Extract the data."""
149
+ # pylint: disable=import-outside-toplevel
150
+ import asyncio # noqa
151
+ import math
152
+ from openbb_core.provider.utils.helpers import amake_request, get_querystring
153
+ from openbb_benzinga.utils.helpers import response_callback
154
+
155
+ token = credentials.get("benzinga_api_key") if credentials else ""
156
+ base_url = "https://api.benzinga.com/api/v2/news"
157
+
158
+ query = query.model_copy(update={"sort": f"{query.sort}:{query.order}"})
159
+ querystring = get_querystring(query.model_dump(by_alias=True), ["order"])
160
+
161
+ pages = math.ceil(query.limit / 100)
162
+
163
+ urls = [
164
+ f"{base_url}?{querystring}&page={page}&token={token}"
165
+ for page in range(pages)
166
+ ]
167
+
168
+ results: list = []
169
+
170
+ async def get_one(url):
171
+ """Get data for one url."""
172
+ try:
173
+ response = await amake_request(
174
+ url, response_callback=response_callback, **kwargs
175
+ )
176
+ if response:
177
+ results.extend(response)
178
+ except (OpenBBError, UnauthorizedError) as e:
179
+ raise e from e
180
+
181
+ await asyncio.gather(*[get_one(url) for url in urls])
182
+
183
+ if not results:
184
+ raise EmptyDataError("The request was returned empty.")
185
+
186
+ return sorted(
187
+ results, key=lambda x: x.get("created"), reverse=query.order == "desc"
188
+ )[: query.limit if query.limit else len(results)]
189
+
190
+ @staticmethod
191
+ def transform_data(
192
+ query: BenzingaWorldNewsQueryParams,
193
+ data: List[Dict],
194
+ **kwargs: Any,
195
+ ) -> List[BenzingaWorldNewsData]:
196
+ """Transform the data."""
197
+ return [BenzingaWorldNewsData.model_validate(item) for item in data]
openbb_platform/providers/benzinga/openbb_benzinga/py.typed ADDED
File without changes
openbb_platform/providers/benzinga/openbb_benzinga/utils/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Benzinga Provider Utils."""
openbb_platform/providers/benzinga/openbb_benzinga/utils/helpers.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Benzinga Helpers."""
2
+
3
+ from openbb_core.app.model.abstract.error import OpenBBError
4
+ from openbb_core.provider.utils.errors import EmptyDataError, UnauthorizedError
5
+
6
+
7
+ async def response_callback(response, _):
8
+ """Response callback."""
9
+ # pylint: disable=import-outside-toplevel
10
+ results = await response.json()
11
+ if (
12
+ results
13
+ and isinstance(results, list)
14
+ and len(results) == 1
15
+ and isinstance(results[0], str)
16
+ ):
17
+ if "access denied" in results[0].lower():
18
+ raise UnauthorizedError(f"Unauthorized Benzinga request -> {results[0]}")
19
+ raise OpenBBError(results[0])
20
+
21
+ if isinstance(results, list) and not results:
22
+ raise EmptyDataError("The request was returned empty.")
23
+
24
+ return results
openbb_platform/providers/benzinga/poetry.lock ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/benzinga/pyproject.toml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [tool.poetry]
2
+ name = "openbb-benzinga"
3
+ version = "1.4.1"
4
+ description = "Benzinga extension for OpenBB"
5
+ authors = ["OpenBB Team <hello@openbb.co>"]
6
+ license = "AGPL-3.0-only"
7
+ readme = "README.md"
8
+ packages = [{ include = "openbb_benzinga" }]
9
+
10
+ [tool.poetry.dependencies]
11
+ python = ">=3.9.21,<3.13"
12
+ openbb-core = "^1.4.6"
13
+
14
+ [build-system]
15
+ requires = ["poetry-core"]
16
+ build-backend = "poetry.core.masonry.api"
17
+
18
+ [tool.poetry.plugins."openbb_provider_extension"]
19
+ benzinga = "openbb_benzinga:benzinga_provider"
openbb_platform/providers/benzinga/tests/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Test Benzinga fetchers."""
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_analyst_search_fetcher_urllib3_v1.yaml ADDED
@@ -0,0 +1,282 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip, deflate
9
+ Connection:
10
+ - keep-alive
11
+ method: GET
12
+ uri: https://api.benzinga.com/api/v2.1/calendar/ratings/analysts?firm_name=Barclays&page=0&pageSize=100&token=MOCK_TOKEN
13
+ response:
14
+ body:
15
+ string: !!binary |
16
+ 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
250
+ headers:
251
+ Connection:
252
+ - keep-alive
253
+ Content-Encoding:
254
+ - gzip
255
+ Content-Type:
256
+ - application/json; charset=utf-8
257
+ Date:
258
+ - Fri, 16 Feb 2024 20:32:34 GMT
259
+ Transfer-Encoding:
260
+ - chunked
261
+ Vary:
262
+ - Accept-Encoding
263
+ Via:
264
+ - kong/2.4.1, 1.1 9adef5b1c5fc9ca80d6f4f8d19e103a2.cloudfront.net (CloudFront)
265
+ X-Amz-Cf-Id:
266
+ - wzPB7RswTYmBQtCmdpuOoCBrs9caz6DluhsLZXglRNPo13Tc9phzyA==
267
+ X-Amz-Cf-Pop:
268
+ - SEA19-C3
269
+ X-Bz-Request-Id:
270
+ - bBEB7mxrS7rediVwPHqUVe
271
+ X-Cache:
272
+ - Miss from cloudfront
273
+ X-Kong-Proxy-Latency:
274
+ - '0'
275
+ X-Kong-Upstream-Latency:
276
+ - '35'
277
+ X-Powered-By:
278
+ - Athlon 64 X2
279
+ status:
280
+ code: 200
281
+ message: OK
282
+ version: 1
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_analyst_search_fetcher_urllib3_v2.yaml ADDED
@@ -0,0 +1,311 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip, deflate
9
+ Connection:
10
+ - keep-alive
11
+ method: GET
12
+ uri: https://api.benzinga.com/api/v2.1/calendar/ratings/analysts?firm_name=Barclays&page=0&pageSize=100&token=MOCK_TOKEN
13
+ response:
14
+ body:
15
+ string: !!binary |
16
+ H4sIAAAAAAAA/+x92Y4jR5blrxD5Mi8Kh+2L3rRUqaBSdguZQguDwUAw3xTsZJAaBiPVWY369wHd
17
+ zDe719ydEU6JnRWPeSMj6HTSjt/lnHP/+43bu92nx9MvR3fa7n99/CX8+82X/+e/39Tb48Mv2/LN
18
+ l28UUbIouHWW11YTQmjNCuvcmy/8f9q7h+rNl2++dsdi5z49vvnijf81TmpZ0bp0ribF+dcYrYWS
19
+ b754c/6NX+rt8fxSb751H7dlF3za7drY5qude2h/sHPNfw6h7oKL4unoik9vvvzvN/ThF/exOrpf
20
+ q1+O1enpuH/z5RuSkTdfnH/y+OCOp18ei8PxfKmUZlaGH5zK6uPofz4VRfX4eL4nVR//lPzbn6K/
21
+ rTNiQ3z8pz/hf5ol/zSL/7TMjAnx0Z9miT/Nk3eEx3fEZpKG+OhP88QN4cmr5vFVi8zIEB//6cRV
22
+ 2+RV2/iqdWZoiI/+tE1c9eH8d3e71N/vf/xr+NEvv1XHotqftjv4R8Yv2UWx142+fZnQb754czqc
23
+ 3K47eqMXEpmlb/75xZun30p3qso3X1JNrTBMaP3PL1Y4mtIRW1Glq9oVdd0czZxaSuOj+dadTtHJ
24
+ PIc2b5+Ov91/io5mF3w9nK+H8/VwPv9wWlXWta6sMYUz51/TlKhSxIfzb1X1n0/7X6PzGaKbd58O
25
+ h+iAhtDr8Xw9nq/H8/lpLeG1ZlTnvGJEnH8tL2yhOXh2bnfVvoqfnk1w8/fquK+O0fHsgq8H9PWA
26
+ /kseULXSARXG1U7zgtW1Pf8aKYylBh7Q4gM4nsWHzY/b4sPTb9Hh7IKvh/P1cP5LHk65UnJLNCsr
27
+ zSypnf81aq2p4sP5jTue+idkOJ4+uPnm8Fu1c/syOqKD8OshfT2k/5KHVKyV4hYVM6ZS3Lny/GuO
28
+ 5bICKe63h4ftflvEvVsf3fybe7yPjmgIvR7P1+O55vG8YzKzCw6oybQa/Lfd4fHxl+LwtD+9+ZKu
29
+ cHBNRlh8cJu/PHGUqcokw88yX+mBy3WtcmpkTrRrznLBlSTxWf7BPR2rfREXrG148/P9p0EzOJzn
30
+ Lvh6ol9P9KonmtOMmAVHWmWaXvFI64zf3IlWrJTG5qTkVvoU2tlCkTI+0e8+uX10ms+hzdvi79XH
31
+ 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
276
+ AAD//8GTsvVEuAEA
277
+ headers:
278
+ Connection:
279
+ - keep-alive
280
+ Content-Encoding:
281
+ - gzip
282
+ Content-Type:
283
+ - application/json; charset=utf-8
284
+ Date:
285
+ - Thu, 27 Jun 2024 10:11:58 GMT
286
+ Transfer-Encoding:
287
+ - chunked
288
+ Vary:
289
+ - Accept-Encoding
290
+ Via:
291
+ - kong/3.5.0, 1.1 80870c148d8c8f3b510fdacf10500460.cloudfront.net (CloudFront)
292
+ X-Amz-Cf-Id:
293
+ - 5W8ENYwzyPIYamcaVve42r-OoINosG4-nd-RFJh3yd3rv0Cz6CVxUQ==
294
+ X-Amz-Cf-Pop:
295
+ - AMS58-P1
296
+ X-Bz-Request-Id:
297
+ - ZOByrHQqbXbOFBCngttzZT
298
+ X-Cache:
299
+ - Miss from cloudfront
300
+ X-Kong-Proxy-Latency:
301
+ - '0'
302
+ X-Kong-Request-Id:
303
+ - 080a6a0f8f719e2942169b49316ca76b
304
+ X-Kong-Upstream-Latency:
305
+ - '36'
306
+ X-Powered-By:
307
+ - Athlon 64 X2
308
+ status:
309
+ code: 200
310
+ message: OK
311
+ version: 1
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_company_news_fetcher_urllib3_v1.yaml ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_company_news_fetcher_urllib3_v2.yaml ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_price_target_fetcher_urllib3_v1.yaml ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip, deflate
9
+ Connection:
10
+ - keep-alive
11
+ method: GET
12
+ uri: https://api.benzinga.com/api/v2.1/calendar/ratings?page=0&pagesize=200&parameters%5Btickers%5D=AAPL&token=MOCK_TOKEN
13
+ response:
14
+ body:
15
+ string: !!binary |
16
+ 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
196
+ AwAA//8WFqvx7vUBAA==
197
+ headers:
198
+ Connection:
199
+ - keep-alive
200
+ Content-Encoding:
201
+ - gzip
202
+ Content-Type:
203
+ - application/json; charset=utf-8
204
+ Date:
205
+ - Fri, 16 Feb 2024 19:52:20 GMT
206
+ Transfer-Encoding:
207
+ - chunked
208
+ Vary:
209
+ - Accept-Encoding
210
+ Via:
211
+ - kong/2.4.1, 1.1 0906d4887f6625f4a4467d8d4fd268d2.cloudfront.net (CloudFront)
212
+ X-Amz-Cf-Id:
213
+ - FHckqBx4BKNJXwvRb3EbbAcqCMXmvOJY4btI-H_zsgzrYwfmLk2VEQ==
214
+ X-Amz-Cf-Pop:
215
+ - SEA19-C3
216
+ X-Bz-Request-Id:
217
+ - w44XRYJcNVDLtWZCdKXWlD
218
+ X-Cache:
219
+ - Miss from cloudfront
220
+ X-Kong-Proxy-Latency:
221
+ - '0'
222
+ X-Kong-Upstream-Latency:
223
+ - '43'
224
+ X-Powered-By:
225
+ - Athlon 64 X2
226
+ status:
227
+ code: 200
228
+ message: OK
229
+ version: 1
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_price_target_fetcher_urllib3_v2.yaml ADDED
@@ -0,0 +1,230 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip, deflate
9
+ Connection:
10
+ - keep-alive
11
+ method: GET
12
+ uri: https://api.benzinga.com/api/v2.1/calendar/ratings?page=0&pagesize=200&parameters%5Btickers%5D=AAPL&token=MOCK_TOKEN
13
+ response:
14
+ body:
15
+ string: !!binary |
16
+ H4sIAAAAAAAA/+x9bXPcxrH1X0Hxs5hMz0zPC77pxbIVW7Ye03lc93mp1GAwIGGRWAa7lK5y6/73
17
+ W4uNzV0MFgNiAFrEsvIppGIb8anu6dPnnP6vs9psyupyfZb+3/86M3ZTrqp/2NXNram+nKVn701Z
18
+ bUxZrc9e/P7L20375/lvd+uNy/9xu/mHvatrV23/ROsXt3W5qs/SM8rIXwjZ/rIy11/W2z/5KlkV
19
+ ycvkwtm7utyUbn3/239U5sadpWe/mpt1mbxfXZnq7MXZ7m9it/98f794c/biLDeb7Z+ihPJzIs6p
20
+ OHtx5v7TXpnqcvvzH19evHn5v85enJX5WXomhLRcFlRSZywjhABo6TK2/f3N7aremMq6s5S8OPv3
21
+ 3/zl7e21O3txVq02br37soMv3X1S81FdH7r7/3fvz7+6+3L/49//+O6Hm9J+dNv/+vLlhx+a/978
22
+ EwBNEVPgZy/O7m63H5ufpSBBc0q0oC/O7urrs/TsarO5Xad//evnz5//krnqX2V1af5iVzd//efd
23
+ auP+uv1L/vXf/7+e//4vvfnf/sOaa1flpo76i1Tu87rvL7DerOzHc1NvSnvt1t1/pf9+0YHBv99e
24
+ 1iZ3bQj+bMq1O44/Kn4HWgcKQYs2Cn9erV2VXZvNxoffK1NvVlXyul7Zj675A/EQJGiYtoiugaBy
25
+ HJgZD0HRBcE/vnIYBH90d5vaXB+HIVEp0BS0B0PCCedLh+GxUhjCIfbgkFKvGn7zydV2Vbvk3cW7
26
+ 5Nt6dXfr4/HlTblJ3pj6i6lMVQ6BIwbgaHKeC6aUptkWjrkiWUbHwxE7KyL946ceIH+629y6uljV
27
+ Nz4uD353rEKSlEGKpA1NRlHrxVfIsdDsK5GUyjY037vr8m6d/OzWztT2qqNOuuo3c1NWyc+u3Pyr
28
+ +TsHkckDyNQms8UeMqXTwk1cKHffOlm3ZinlKYM2FikSQPKMxW4s8t52jd6j0dXVeuPKykfhL6uq
29
+ TC6MtavKXF4NKo8QACHyzNF9EGqmIh6MvLtb42zlkWDKRQrt8qi0YFQ8Q/IYJLGvPHqQ/NuH5P2q
30
+ vjQdkLwwN+XH5PWV2Wxc/ZtzAzAJKoBJUAWKvSFGSePyCExiZ2HEIy/Inz65+rMrL682HYjc/90x
31
+ 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
195
+ 5IQreNob2///3/8TAAD//xp+t+4P+AEA
196
+ headers:
197
+ Connection:
198
+ - keep-alive
199
+ Content-Encoding:
200
+ - gzip
201
+ Content-Type:
202
+ - application/json; charset=utf-8
203
+ Date:
204
+ - Thu, 27 Jun 2024 10:11:57 GMT
205
+ Transfer-Encoding:
206
+ - chunked
207
+ Vary:
208
+ - Accept-Encoding
209
+ Via:
210
+ - kong/3.5.0, 1.1 1e22254f0abea6547aaa07a03d921130.cloudfront.net (CloudFront)
211
+ X-Amz-Cf-Id:
212
+ - MzTFCKqK7g45CDIOmCQ9T7y374qo1XYV5kabdvUJLzQiy69xm1wbtg==
213
+ X-Amz-Cf-Pop:
214
+ - AMS58-P1
215
+ X-Bz-Request-Id:
216
+ - Q032ktcn8rWrTipDZDX8nN
217
+ X-Cache:
218
+ - Miss from cloudfront
219
+ X-Kong-Proxy-Latency:
220
+ - '0'
221
+ X-Kong-Request-Id:
222
+ - 6048546c0914985125d39228bf27d911
223
+ X-Kong-Upstream-Latency:
224
+ - '29'
225
+ X-Powered-By:
226
+ - Athlon 64 X2
227
+ status:
228
+ code: 200
229
+ message: OK
230
+ version: 1
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_world_news_fetcher_urllib3_v1.yaml ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/benzinga/tests/record/http/test_benzinga_fetchers/test_benzinga_world_news_fetcher_urllib3_v2.yaml ADDED
@@ -0,0 +1,450 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip, deflate
9
+ Connection:
10
+ - keep-alive
11
+ method: GET
12
+ uri: https://api.benzinga.com/api/v2/news?displayOutput=full&page=0&pageSize=20&sort=created%3Adesc&token=MOCK_TOKEN
13
+ response:
14
+ body:
15
+ string: "[{\"id\":39519753,\"author\":\"Benzinga Newsdesk\",\"created\":\"Thu,
16
+ 27 Jun 2024 06:11:23 -0400\",\"updated\":\"Thu, 27 Jun 2024 06:11:24 -0400\",\"title\":\"JinkoSolar
17
+ Has Repurchased 4.5M ADSs In An Aggregate Amount Of Approximately $110.7M
18
+ In The Open Market Under Its Share Repurchase Program Announced In July 2022
19
+ And The Extended Share Repurchase Program Announced In December 2023\",\"teaser\":\"\",\"body\":\"\",\"url\":\"https://www.benzinga.com/news/24/06/39519753/jinkosolar-has-repurchased-4-5m-adss-in-an-aggregate-amount-of-approximately-110-7m-in-the-open-mark\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Commodities\"},{\"name\":\"Buybacks\"},{\"name\":\"Markets\"},{\"name\":\"General\"}],\"stocks\":[{\"name\":\"JKS\"}],\"tags\":[]},{\"id\":39519696,\"author\":\"Benzinga
20
+ Neuro\",\"created\":\"Thu, 27 Jun 2024 06:09:18 -0400\",\"updated\":\"Thu,
21
+ 27 Jun 2024 06:09:19 -0400\",\"title\":\"Fundstrat's Tom Lee Predicts S&P
22
+ 500 Will Hit 15,000 By 2030 Driven By Gen Z And AI Wave\",\"teaser\":\"Tom
23
+ Lee, the managing partner and head of research at Fundstrat Global Advisors,
24
+ shared his bullish prediction for the S&amp;P 500, foreseeing it reaching
25
+ 15,000 by 2030.\",\"body\":\"<p><strong>Tom Lee</strong>, the managing partner
26
+ and head of research at<strong> Fundstrat Global Advisors</strong>, shared
27
+ his <a href=\\\"https://www.benzinga.com/analyst-ratings/analyst-color/24/06/39350137/s-p-500-poised-to-extend-bull-run-market-strategist-sees-ai-fervor-and-ebbing-infla\\\">bullish
28
+ prediction</a> for the S&amp;P 500, foreseeing it reaching 15,000 by 2030
29
+ riding the AI wave.</p>\\n\\n\\n\\n<p><strong>What Happened</strong>: Lee&#8217;s
30
+ forecast is based on the emergence of a new cycle in the stock market, where
31
+ annual returns are expected to compound at a high rate. This cycle is being
32
+ driven by the younger generations, particularly millennials and Gen Z.</p>\\n\\n\\n\\n<p>&#8220;This
33
+ will be the 3rd time that stocks entered a cycle where annual returns compound
34
+ at high teens,&#8221; Lee said in an interview with CNBC&#8217;s Last Call.
35
+ </p>\\n\\n\\n\\n<figure class=\\\"wp-block-embed is-type-rich is-provider-twitter
36
+ wp-block-embed-twitter\\\"><div class=\\\"wp-block-embed__wrapper\\\">\\n<blockquote
37
+ class=\\\"twitter-tweet\\\" data-width=\\\"500\\\" data-dnt=\\\"true\\\"><p
38
+ lang=\\\"en\\\" dir=\\\"ltr\\\">.<a href=\\\"https://twitter.com/fundstrat?ref_src=twsrc%5Etfw\\\">@fundstrat</a>&#39;s
39
+ Tom Lee says the S&amp;P 500 will hit 15,000 by 2030. &quot;This will be the
40
+ 3rd time that stocks entered a cycle where annual returns compound at high
41
+ teens.&quot; <a href=\\\"https://twitter.com/search?q=%24SPX&amp;src=ctag&amp;ref_src=twsrc%5Etfw\\\">$SPX</a>
42
+ <a href=\\\"https://t.co/31vzaEaGpo\\\">pic.twitter.com/31vzaEaGpo</a></p>&mdash;
43
+ Last Call (@LastCallCNBC) <a href=\\\"https://twitter.com/LastCallCNBC/status/1806110011669549190?ref_src=twsrc%5Etfw\\\">June
44
+ 26, 2024</a></blockquote><script async src=\\\"https://platform.twitter.com/widgets.js\\\"
45
+ charset=\\\"utf-8\\\"></script>\\n</div></figure>\\n\\n\\n\\n<p>The growth
46
+ of companies focused on artificial intelligence is expected to yield high
47
+ returns, according to Lee. Additionally, the increasing number of digital
48
+ laborers investing in the economy is contributing to this cycle.</p>\\n\\n\\n\\n<p>S&amp;P
49
+ 500 ETF options provide investors with <a href=\\\"https://www.benzinga.com/money/best-sp-500-etfs\\\">multiple
50
+ ways to invest</a> in America&#8217;s largest 500 companies. Interested investors
51
+ may check out the <strong>Schwab U.S. Large-Cap ETF</strong> (NYSE:<a class=\\\"ticker\\\"
52
+ href=\\\"https://www.benzinga.com/stock/SCHX#NYSE\\\">SCHX</a>), <strong>Vanguard
53
+ S&amp;P 500 ETF</strong> (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/VOO#NYSE\\\">VOO</a>),
54
+ and<strong> iShares Core S&amp;P 500 ETF</strong> (NYSE:<a class=\\\"ticker\\\"
55
+ href=\\\"https://www.benzinga.com/stock/IVV#NYSE\\\">IVV</a>) to diversify
56
+ their portfolios.</p>\\n\\n\\n\\n<p><em>See Also: <a href=\\\"https://www.benzinga.com/news/24/06/39493328/hillary-clinton-offers-advice-to-biden-ahead-of-presidential-debate-its-a-waste-of-time-to-try-to-re?itm_source=parsely-api\\\"
57
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Hillary Clinton Offers
58
+ Advice To Biden Ahead Of Presidential Debate: &#8216;It&#8217;s A Waste Of
59
+ Time To Try To Refute Mr. Trump&#8217;s Arguments&#8217;</a></em></p>\\n\\n\\n\\n<p><strong>Why
60
+ It Matters</strong>: Lee&#8217;s prediction is in stark contrast to the forecasts
61
+ of other financial experts. In May, <strong>Goldman Sachs</strong> predicted
62
+ a <a href=\\\"https://www.benzinga.com/markets/equities/24/05/38863242/stock-market-rally-for-2024-has-peaked-goldman-sachs-forecasts-flat-return-from-now-till-the-end\\\">flat
63
+ return for the S&amp;P 500</a> for the remainder of 2024, suggesting that
64
+ the stock market rally had peaked. However, Lee&#8217;s forecast indicates
65
+ a more extended period of growth.</p>\\n\\n\\n\\n<p>Another analyst, <strong>Gene
66
+ Munster</strong>, predicted that the stock market would continue to rise for
67
+ <a href=\\\"https://www.benzinga.com/markets/equities/24/05/38910879/stock-market-to-rally-for-3-5-years-before-ai-bubble-bursts-predicts-veteran-analyst-gene-munste\\\">another
68
+ three to five years</a> before an AI bubble bursts. This aligns with Lee&#8217;s
69
+ forecast of a sustained period of growth driven by AI-focused companies.</p>\\n\\n\\n\\n<p>However,
70
+ not all experts share this optimistic outlook. Economist <strong>Harry Dent</strong>
71
+ warned of a <a href=\\\"https://www.benzinga.com/analyst-ratings/analyst-color/24/06/39257592/economist-warns-crash-of-a-lifetime-is-coming-predicts-s-p-500-to-plummet-86-from-t\\\">looming
72
+ &#8220;crash of a lifetime&#8221;</a> due to the current &#8220;everything&#8221;
73
+ bubble, which he believes has yet to burst. Despite this, Lee&#8217;s prediction
74
+ suggests a period of sustained growth, particularly in the AI sector.</p>\\n\\n\\n\\n<p><em>Read
75
+ Next: <a href=\\\"https://www.benzinga.com/news/24/06/39516013/mark-cuban-accuses-trump-of-ripping-off-thousands-of-hard-working-americans-and-not-wanting-to-leave?itm_source=parsely-api\\\"
76
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Mark Cuban Accuses Trump
77
+ Of Ripping Off &#8216;Thousands Of Hard Working Americans&#8217; And Not Wanting
78
+ To Leave The White House</a></em></p>\\n\\n\\n\\n<p>Image Via Shutterstock
79
+ </p>\\n\\n\\n\\n<p>This story was generated using <a href=\\\"https://www.benzinga.com/author/benzinga-neuro\\\">Benzinga
80
+ Neuro</a> and edited by <u><a href=\\\"https://www.benzinga.com/topic/Kaustubh-Bagalkote\\\"
81
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Kaustubh Bagalkote</a></u></p>\",\"url\":\"https://www.benzinga.com/markets/equities/24/06/39519696/fundstrats-tom-lee-predicts-s-p-500-will-hit-15-000-by-2030-driven-by-gen-z-and-ai-wave\",\"image\":[{\"size\":\"large\",\"url\":\"https://cdn.benzinga.com/files/imagecache/2048x1536xUP/images/story/2024/06/27/Southwest-Gas-Holdings-Inc-.jpeg\"},{\"size\":\"thumb\",\"url\":\"https://cdn.benzinga.com/files/imagecache/250x187xUP/images/story/2024/06/27/Southwest-Gas-Holdings-Inc-.jpeg\"},{\"size\":\"small\",\"url\":\"https://cdn.benzinga.com/files/imagecache/1024x768xUP/images/story/2024/06/27/Southwest-Gas-Holdings-Inc-.jpeg\"}],\"channels\":[{\"name\":\"Equities\"},{\"name\":\"News\"},{\"name\":\"Guidance\"},{\"name\":\"Economics\"},{\"name\":\"Markets\"},{\"name\":\"Analyst
82
+ Ratings\"}],\"stocks\":[{\"name\":\"IVV\"},{\"name\":\"SCHX\"},{\"name\":\"VOO\"}],\"tags\":[{\"name\":\"Fundstrat
83
+ Global Advisors\"},{\"name\":\"Kaustubh Bagalkote\"},{\"name\":\"Tom Lee\"}]},{\"id\":39519681,\"author\":\"Benzinga
84
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:08:36 -0400\",\"updated\":\"Thu,
85
+ 27 Jun 2024 06:08:37 -0400\",\"title\":\"Assure Holdings On Wednesday Filed
86
+ Two Form RWs, Requesting Withdrawal Of Offering And Business Combination Filings\",\"teaser\":\"\",\"body\":\"\",\"url\":\"https://www.benzinga.com/m-a/24/06/39519681/assure-holdings-on-wednesday-filed-two-form-rws-requesting-withdrawal-of-offering-and-business-combi\",\"image\":[],\"channels\":[{\"name\":\"M&A\"},{\"name\":\"News\"},{\"name\":\"Offerings\"}],\"stocks\":[{\"name\":\"IONM\"}],\"tags\":[]},{\"id\":39519678,\"author\":\"Benzinga
87
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:07:25 -0400\",\"updated\":\"Thu,
88
+ 27 Jun 2024 06:07:25 -0400\",\"title\":\"LanzaTech and LanzaJet Introduce
89
+ CirculAir for Sustainable Aviation Fuel\",\"teaser\":\"LanzaTech Global, Inc.\_(NASDAQ:LNZA),
90
+ the carbon recycling company transforming waste carbon into sustainable fuels,
91
+ chemicals, and materials, and\_LanzaJet, Inc., a leading sustainable fuels
92
+ technology company\",\"body\":\"<p><a href=\\\"https://www.globenewswire.com/Tracker?data=hzva6c58Hgdr-3ljzxFh_1jkzXsUHnGwpJbfp6TLLSEmnrWYDKw2rZCvnI1CtH1f5Mx1-EZsjnrJjJdNSuPA69Q9niQny5l2i_yGWp5vkZQ=\\\"
93
+ target=\\\"_blank\\\">LanzaTech Global, Inc.</a>&nbsp;(NASDAQ:<a class=\\\"ticker\\\"
94
+ href=\\\"https://www.benzinga.com/stock/LNZA#NASDAQ\\\">LNZA</a>), the carbon
95
+ recycling company transforming waste carbon into sustainable fuels, chemicals,
96
+ and materials, and&nbsp;<a href=\\\"https://www.globenewswire.com/Tracker?data=hzva6c58Hgdr-3ljzxFh_07GxgCzPvFFKv5K8IRKKsqDthIMnkO744UmX8P-jxV_ABEPwTAZKNl_1zU9b0Asvg==\\\"
97
+ target=\\\"_blank\\\">LanzaJet, Inc.</a>, a leading sustainable fuels technology
98
+ company and fuels producer, are launching CirculAir&trade;, a new joint offering
99
+ to convert waste, carbon, and renewable power into sustainable aviation fuel
100
+ (SAF) and immediately accelerate decarbonization of the aviation industry
101
+ globally. CirculAir is a breakthrough offering that provides an economical
102
+ and commercialized alternative to Fischer-Tropsch technology to create eFuels,
103
+ Power-to-Liquids (PtL), and Waste-to-Fuels leveraging the already ASTM-approved
104
+ SAF production pathway that uses ethanol as the biointermediate and Alcohol-to-Jet
105
+ (ATJ) technology to produce SAF and Renewable Diesel (RD).<br />\\n&nbsp;</p>\\n\\n<p>CirculAir
106
+ is a formalized joint offering and end-to-end technology solution that turns
107
+ nearly any waste source including municipal solid waste (MSW), agricultural
108
+ residues, carbon emissions from industrial and refining processes, carbon
109
+ dioxide (CO2) through direct air capture, and renewable power into SAF. CirculAir
110
+ combines the groundbreaking technologies of LanzaTech and LanzaJet to form
111
+ an efficient and economically compelling offering that provides the aviation
112
+ industry with a solution to produce waste-based SAF on a global scale. CirculAir
113
+ will combine LanzaTech and LanzaJet&#39;s technologies; first incorporating
114
+ LanzaTech&#39;s novel gas fermentation technology to convert nearly any waste
115
+ resource into CarbonSmart&trade; ethanol and then second, executing LanzaJet&#39;s
116
+ Alcohol-to-Jet (ATJ) technology by taking the ethanol and converting it to
117
+ drop-in SAF. The SAF made through this process is expected to reduce aviation
118
+ emissions by at least&nbsp;85%&nbsp;and can also produce carbon negative results,
119
+ depending on the feedstock.</p>\\n\\n<p>SAF is estimated to account for 65&ndash;70%&nbsp;of
120
+ overall aviation emissions reduction to achieve net zero by 2050, making it
121
+ a critical tool for this hard-to-abate industry; however, historic supply
122
+ constraints, high costs, and technical barriers have made it difficult for
123
+ the industry to default to SAF as the primary fuel source. CirculAir breaks
124
+ down these barriers. The technology is able to turn a wide range of waste-based
125
+ feedstocks into SAF, and it is being adopted by a range of customers across
126
+ the globe. This widespread adoption is projected to accelerate the production
127
+ and economies of scale necessary to bring down the global cost of SAF.</p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519678/lanzatech-and-lanzajet-introduce-circulair-for-sustainable-aviation-fuel\",\"image\":[],\"channels\":[{\"name\":\"News\"}],\"stocks\":[{\"name\":\"LNZA\"}],\"tags\":[]},{\"id\":39519665,\"author\":\"Benzinga
128
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:06:55 -0400\",\"updated\":\"Thu,
129
+ 27 Jun 2024 06:06:56 -0400\",\"title\":\"Needham Reiterates Buy on Sarepta
130
+ Therapeutics, Maintains $235 Price Target\",\"teaser\":\"Needham analyst
131
+ Gil Blum reiterates Sarepta Therapeutics (NASDAQ:SRPT) with a Buy and maintains
132
+ $235 price target.\",\"body\":\"Needham analyst Gil Blum reiterates Sarepta
133
+ Therapeutics (NASDAQ:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/SRPT#NASDAQ\\\">SRPT</a>)
134
+ with a Buy and maintains $235 price target.\",\"url\":\"https://www.benzinga.com/news/24/06/39519665/needham-reiterates-buy-on-sarepta-therapeutics-maintains-235-price-target\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Price
135
+ Target\"},{\"name\":\"Reiteration\"},{\"name\":\"Analyst Ratings\"}],\"stocks\":[{\"name\":\"SRPT\"}],\"tags\":[]},{\"id\":39519662,\"author\":\"Benzinga
136
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:05:52 -0400\",\"updated\":\"Thu,
137
+ 27 Jun 2024 06:05:53 -0400\",\"title\":\"GNL Reduces Debt with $170M Sale
138
+ of Americold-Leased Properties\",\"teaser\":\"Global Net Lease, Inc. (NYSE:GNL)
139
+ (&#34;GNL&#34; or the &#34;Company&#34;) today announced the successful disposition
140
+ of a portfolio of nine cold storage properties that are currently leased to
141
+ subsidiaries of\",\"body\":\"<p>Global Net Lease, Inc. (NYSE:<a class=\\\"ticker\\\"
142
+ href=\\\"https://www.benzinga.com/stock/GNL#NYSE\\\">GNL</a>) (&quot;GNL&quot;
143
+ or the &quot;Company&quot;) today announced the successful disposition of
144
+ a portfolio of nine cold storage properties that are currently leased to subsidiaries
145
+ of Americold Realty Trust, Inc. (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/COLD#NYSE\\\">COLD</a>)
146
+ for&nbsp;$170 million, at a&nbsp;7.88%&nbsp;cash cap rate on 3.3 years of
147
+ weighted average remaining lease-term.</p>\\n\\n<p>This disposition is a significant
148
+ achievement in GNL&#39;s ongoing strategic disposition initiative and aligns
149
+ with the Company&#39;s 2024 full-year&nbsp;guidance, which projected a disposition
150
+ cash cap rate range of&nbsp;7%&nbsp;to&nbsp;8%. GNL plans to use the net proceeds
151
+ from this sale to reduce outstanding debt and further lower the Company&#39;s
152
+ leverage. The sale of this portfolio, which GNL acquired for&nbsp;$153.4 million,
153
+ is part of the previously announced&nbsp;$567 million1&nbsp;of closed and
154
+ pipeline dispositions at a cash cap rate of&nbsp;7.2%.</p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519662/gnl-reduces-debt-with-170m-sale-of-americold-leased-properties\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Asset
155
+ Sales\"}],\"stocks\":[{\"name\":\"COLD\"},{\"name\":\"GNL\"}],\"tags\":[]},{\"id\":39519629,\"author\":\"Benzinga
156
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:04:50 -0400\",\"updated\":\"Thu,
157
+ 27 Jun 2024 06:04:51 -0400\",\"title\":\"Nkarta Begins Ntrust-1 Clinical Trial
158
+ Of NKX019 In Lupus Nephritis, With The First Patient In Screening; Says IND
159
+ Cleared For Ntrust-2\",\"teaser\":\"The company also announced the clearance
160
+ by the U.S. Food and Drug Administration (FDA) of its second Investigational
161
+ New Drug (IND) application for NKX019 in autoimmune disease.\\n\\nWith this
162
+ new IND, Nkarta plans to\",\"body\":\"<p>The company also announced the clearance
163
+ by the U.S. Food and Drug Administration (FDA) of its second Investigational
164
+ New Drug (IND) application for NKX019 in autoimmune disease.</p>\\n\\n<p>With
165
+ this new IND, Nkarta plans to initiate Ntrust-2, an open-label, multi-center
166
+ clinical trial of NKX019 for the treatment of systemic sclerosis (SSc, scleroderma),
167
+ idiopathic inflammatory myopathy (IIM, myositis) and ANCA-associated vasculitis
168
+ (AAV).</p>\\n\\n<p>Clinical data from Ntrust-1 and Ntrust-2 planned for 2025.</p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519629/nkarta-begins-ntrust-1-clinical-trial-of-nkx019-in-lupus-nephritis-with-the-first-patient-in-screeni\",\"image\":[],\"channels\":[{\"name\":\"News\"}],\"stocks\":[{\"name\":\"NKTX\"}],\"tags\":[]},{\"id\":39519626,\"author\":\"Benzinga
169
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:04:18 -0400\",\"updated\":\"Thu,
170
+ 27 Jun 2024 06:04:19 -0400\",\"title\":\"Entero Therapeutics Publishes Innovative
171
+ Celiac Disease Research in Top Gastroenterology Journal\",\"teaser\":\"Entero
172
+ Therapeutics, Inc., (NASDAQ:ENTO), (&#34;Entero Therapeutics&#34; or the &#34;Company&#34;),
173
+ a clinical-stage biopharmaceutical company specializing in the development
174
+ of targeted, non-systemic therapies\",\"body\":\"<p>Entero Therapeutics, Inc.,
175
+ (NASDAQ:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/ENTO#NASDAQ\\\">ENTO</a>),
176
+ (&quot;Entero Therapeutics&quot; or the &quot;Company&quot;), a clinical-stage
177
+ biopharmaceutical company specializing in the development of targeted, non-systemic
178
+ therapies for&nbsp;gastrointestinal (GI) diseases, today announced the publication
179
+ of &quot;<a href=\\\"https://www.globenewswire.com/Tracker?data=h1ge28PUKiAz2IQRtYAA0SJfZUgHAckbiDzteTYi9l8E2W0CnDTx_7ezI5x8VIMa_Wg2k3zipLcko2Av_SJvn_YqB86D2_mvrekcSAqxiQ6X9xBpjdri1PzvYFtLCS5UyIAfampZnL10YfhDRNPNN_QRw5fCtj5xjAdou5NqsB0k9gt5BdDl8iwvU7rc-8SH18hztI6ucqenOv4l7Y52Po1PwNhmZshxk4x1WTRu1EZPz5H5PVvedeWlwxDhfzf2EotxEigcF8uAmCKc-SX9nQ==\\\"
180
+ target=\\\"_blank\\\">A Composite Morphometric Duodenal Biopsy Mucosal Scale
181
+ for Celiac Disease Encompassing Both Morphology and Inflammation</a>&quot;
182
+ in&nbsp;<em>Clinical Gastroenterology and Hepatology</em>, a pre-eminent journal
183
+ of the American Gastroenterological Association (AGA) that publishes innovative
184
+ diagnostic and therapeutic advances in clinical gastroenterology<em>.</em></p>\\n\\n<p>As
185
+ the number of promising therapies for celiac disease (CeD) grows, so does
186
+ the need to improve the measurement of clinically relevant histological endpoints.
187
+ The new approach presented in a peer-reviewed publication, led by Jack Syage,
188
+ Ph.D., President and Chief Scientific Officer of Entero Therapeutics, recognized
189
+ the need to advance beyond qualitative measures of histologic small intestinal
190
+ health and to develop a more accurate and sensitive scale based on the independent
191
+ quantitative measures of architectural changes (villus height to crypt depth
192
+ ratio, Vh:Cd) and inflammation (intraepithelial lymphocyte count, IEL) already
193
+ in use. The team created a composite score (VCIEL) for these two measures
194
+ that helps overcome the individual variances to improve the overall accuracy
195
+ of histological evaluation. The publication demonstrated the significant benefits
196
+ of the VCIEL scale based on the results of four previous clinical trials.
197
+ The significance of this achievement was highlighted in a special editorial
198
+ feature by the journal, demonstrating the importance of this novel metric
199
+ to CeD researchers.</p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519626/entero-therapeutics-publishes-innovative-celiac-disease-research-in-top-gastroenterology-journal\",\"image\":[],\"channels\":[{\"name\":\"News\"}],\"stocks\":[{\"name\":\"ENTO\"}],\"tags\":[]},{\"id\":39519625,\"author\":\"Benzinga
200
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:04:17 -0400\",\"updated\":\"Thu,
201
+ 27 Jun 2024 06:04:17 -0400\",\"title\":\"Nkarta Initiates Ntrust-1 Of NKX019
202
+ In Lupus Nephritis, With First Patient In Screening. FDA Also Clears Second
203
+ Investigational New Drug Application For NKX019 In Autoimmune Disease\",\"teaser\":\"\",\"body\":\"\",\"url\":\"https://www.benzinga.com/general/biotech/24/06/39519625/nkarta-initiates-ntrust-1-of-nkx019-in-lupus-nephritis-with-first-patient-in-screening-fda-also-c\",\"image\":[],\"channels\":[{\"name\":\"Biotech\"},{\"name\":\"News\"},{\"name\":\"Health
204
+ Care\"},{\"name\":\"General\"}],\"stocks\":[{\"name\":\"NKTX\"}],\"tags\":[]},{\"id\":39519611,\"author\":\"Benzinga
205
+ Neuro\",\"created\":\"Thu, 27 Jun 2024 06:03:50 -0400\",\"updated\":\"Thu,
206
+ 27 Jun 2024 06:06:56 -0400\",\"title\":\"International Paper Shares Dip 15%
207
+ In Pre-Market After Suzano Drops Acquisition Pursuit\",\"teaser\":\" \",\"body\":\"<p><strong>Suzano
208
+ SA</strong> (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/SUZ#NYSE\\\">SUZ</a>)
209
+ has decided to abandon its pursuit to acquire <strong>International Paper
210
+ Co.</strong> (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/IP#NYSE\\\">IP</a>),&nbsp;one
211
+ of&nbsp;North America&#8217;s&nbsp;largest recyclers and a global producer
212
+ of packaging, pulp and other fiber-based products. This news triggered a nearly
213
+ 15% drop in International Paper&#8217;s shares during pre-market trading on
214
+ Thursday.</p>\\n\\n\\n\\n<p>Suzano&#8217;s decision was prompted by International
215
+ Paper&#8217;s rejection of its advances, Bloomberg <a href=\\\"https://www.bloomberg.com/news/articles/2024-06-26/suzano-drops-its-pursuit-of-international-paper-acquisition\\\">reported</a>
216
+ on Thursday. Instead, International Paper has chosen to focus on its own merger
217
+ plans with a different competitor.</p>\\n\\n\\n\\n<p>At the time of writing,
218
+ International Paper&#8217;s shares were trading at $39.67, a significant drop
219
+ from Wednesday&#8217;s close of $46.61, according to <a href=\\\"https://pro.benzinga.com\\\">Benzinga
220
+ Pro</a>.</p>\\n\\n\\n\\n<p><em>See Also: <a href=\\\"https://www.benzinga.com/markets/cryptocurrency/24/06/39448955/dogecoin-killer-shiba-inu-falters-here-is-what-these-key-indicators-reveal-about-its-short?itm_source=parsely-api\\\"
221
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">&#8216;Dogecoin Killer&#8217;
222
+ Shiba Inu Falters \u2014 Here Is What These Key Indicators Reveal About Its
223
+ Short-Term Prosp</a></em></p>\\n\\n\\n\\n<p>Suzano, a Brazil-based company,
224
+ had initially proposed a $15 billion acquisition offer to International Paper.
225
+ However, the deal was based on the condition that International Paper abandon
226
+ its plans to acquire British packaging firm <strong>DS Smith.</strong></p>\\n\\n\\n\\n<p>Suzano
227
+ stated that it was unable to engage International Paper in serious discussions
228
+ and was not willing to increase its offer. This announcement led Suzano&#8217;s
229
+ U.S.-listed shares to see an 11.94% jump in the pre-market on Thursday.</p>\\n\\n\\n\\n<p>Suzano
230
+ had hoped to negotiate on &#8220;private, confidential and amicable terms,&#8221;
231
+ as per its statement. However, as this was not feasible, the company decided
232
+ to terminate the talks.</p>\\n\\n\\n\\n<p>This development simplifies International
233
+ Paper&#8217;s plan to acquire DS Smith Plc, a deal that is expected to close
234
+ in the fourth quarter. If Suzano&#8217;s acquisition had been successful,
235
+ the world&#8217;s largest pulp producer would have had the chance to expand
236
+ internationally and diversify into the more stable packaging sector. However,
237
+ there were investor concerns about Suzano&#8217;s ability to maintain its
238
+ investment grade if it took on additional debt for the deal.</p>\\n\\n\\n\\n<p><em>Read
239
+ Next: <a href=\\\"https://www.benzinga.com/markets/equities/24/06/39493523/rivian-lucid-micron-technology-novo-nordisk-tesla-why-these-5-stocks-are-on-investors-radars-tod?itm_source=parsely-api\\\"
240
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">RIVN, LCID, MU, NVO,
241
+ TSLA: Top 5 Trending Stocks Today</a></em></p>\\n\\n\\n\\n<p><em>Image via
242
+ Shutterstock</em></p>\\n\\n\\n\\n<p>This story was generated using <a href=\\\"https://www.benzinga.com/author/benzinga-neuro\\\">Benzinga
243
+ Neuro</a> and edited by <u><a href=\\\"https://www.benzinga.com/topic/Pooja-Rajkumari\\\"
244
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Pooja Rajkumari</a></u></p>\",\"url\":\"https://www.benzinga.com/markets/equities/24/06/39519611/international-paper-shares-dip-15-in-pre-market-after-suzano-drops-acquisition-pursuit\",\"image\":[{\"size\":\"thumb\",\"url\":\"https://cdn.benzinga.com/files/imagecache/250x187xUP/images/story/2024/06/27/Down-Crisis-Financial-Business-Market-Gr.jpeg\"},{\"size\":\"small\",\"url\":\"https://cdn.benzinga.com/files/imagecache/1024x768xUP/images/story/2024/06/27/Down-Crisis-Financial-Business-Market-Gr.jpeg\"},{\"size\":\"large\",\"url\":\"https://cdn.benzinga.com/files/imagecache/2048x1536xUP/images/story/2024/06/27/Down-Crisis-Financial-Business-Market-Gr.jpeg\"}],\"channels\":[{\"name\":\"Equities\"},{\"name\":\"M&A\"},{\"name\":\"News\"},{\"name\":\"Pre-Market
245
+ Outlook\"},{\"name\":\"Markets\"},{\"name\":\"General\"}],\"stocks\":[{\"name\":\"IP\"},{\"name\":\"SUZ\"}],\"tags\":[{\"name\":\"Pooja
246
+ Rajkumari\"},{\"name\":\"Stories That Matter\"}]},{\"id\":39519608,\"author\":\"Benzinga
247
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:02:54 -0400\",\"updated\":\"Thu,
248
+ 27 Jun 2024 06:02:54 -0400\",\"title\":\"Wolfe Research Downgrades Agilent
249
+ Technologies to Peer Perform\",\"teaser\":\"Wolfe Research analyst Doug Schenkel
250
+ \ downgrades Agilent Technologies (NYSE:A) from Outperform to Peer Perform.\",\"body\":\"Wolfe
251
+ Research analyst Doug Schenkel downgrades Agilent Technologies (NYSE:<a
252
+ class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/A#NYSE\\\">A</a>)
253
+ from Outperform to Peer Perform.\",\"url\":\"https://www.benzinga.com/news/24/06/39519608/wolfe-research-downgrades-agilent-technologies-to-peer-perform\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Downgrades\"},{\"name\":\"Analyst
254
+ Ratings\"}],\"stocks\":[{\"name\":\"A\"}],\"tags\":[]},{\"id\":39519607,\"author\":\"Benzinga
255
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:02:45 -0400\",\"updated\":\"Thu,
256
+ 27 Jun 2024 06:02:45 -0400\",\"title\":\"Acuity Brands Q3 2024 Adj EPS $4.15
257
+ Beats $4.13 Estimate\",\"teaser\":\"\",\"body\":\"\",\"url\":\"https://www.benzinga.com/news/earnings/24/06/39519607/acuity-brands-q3-2024-adj-eps-4-15-beats-4-13-estimate\",\"image\":[],\"channels\":[{\"name\":\"Earnings\"},{\"name\":\"Earnings
258
+ Beats\"},{\"name\":\"Earnings Misses\"},{\"name\":\"News\"}],\"stocks\":[{\"name\":\"AYI\"}],\"tags\":[]},{\"id\":39519592,\"author\":\"Benzinga
259
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:02:29 -0400\",\"updated\":\"Thu,
260
+ 27 Jun 2024 06:02:30 -0400\",\"title\":\"RH Chairman & CEO Gary Friedman Buys
261
+ $10M Of RH Stock At Average Price Per Share Of $216.10 Representing 46,274
262
+ Shares\",\"teaser\":\"With this purchase, Friedman beneficially owns as of
263
+ June 26, 2024, 5.05 million shares, or\_25.1%\_of the outstanding shares of
264
+ RH common stock, based on 18.44 million shares outstanding as of June 7, 2024,
265
+ as\",\"body\":\"<p>With this purchase, Friedman beneficially owns as of June
266
+ 26, 2024, 5.05 million shares, or&nbsp;25.1%&nbsp;of the outstanding shares
267
+ of RH common stock, based on 18.44 million shares outstanding as of June 7,
268
+ 2024, as reported in RH&#39;s&nbsp;first quarter&nbsp;fiscal 2024 Form 10-Q.
269
+ This represents an increase in Friedman&#39;s beneficial ownership by&nbsp;0.2%.&nbsp;</p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519592/rh-chairman-ceo-gary-friedman-buys-10m-of-rh-stock-at-average-price-per-share-of-216-10-representing\",\"image\":[],\"channels\":[{\"name\":\"News\"}],\"stocks\":[{\"name\":\"RH\"}],\"tags\":[]},{\"id\":39519584,\"author\":\"Benzinga
270
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 06:01:53 -0400\",\"updated\":\"Thu,
271
+ 27 Jun 2024 06:01:53 -0400\",\"title\":\"Acuity Brands Q3 2024 GAAP EPS $3.62
272
+ Misses $3.68 Estimate, Sales $968.100M Miss $1.009B Estimate\",\"teaser\":\"\",\"body\":\"\",\"url\":\"https://www.benzinga.com/news/earnings/24/06/39519584/acuity-brands-q3-2024-gaap-eps-3-62-misses-3-68-estimate-sales-968-100m-miss-1-009b-estimate\",\"image\":[],\"channels\":[{\"name\":\"Earnings\"},{\"name\":\"Earnings
273
+ Misses\"},{\"name\":\"News\"}],\"stocks\":[{\"name\":\"AYI\"}],\"tags\":[]},{\"id\":39519493,\"author\":\"Benzinga
274
+ Neuro\",\"created\":\"Thu, 27 Jun 2024 05:58:54 -0400\",\"updated\":\"Thu,
275
+ 27 Jun 2024 05:58:55 -0400\",\"title\":\"Morgan Stanley To Roll Out OpenAI-Powered
276
+ Assistant For Financial Advisors: 'Quality And Depth Of The Notes Are Just
277
+ Significantly Better'\",\"teaser\":\"Morgan Stanley is set to launch an AI-powered
278
+ assistant that will revolutionize the workflow of its financial advisors.\",\"body\":\"<p><strong>Morgan
279
+ Stanley</strong> (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/MS#NYSE\\\">MS</a>)
280
+ is set to launch an AI-powered assistant to enhance the workflow of its financial
281
+ advisors.</p>\\n\\n\\n\\n<p><strong>What Happened</strong>: The AI assistant,
282
+ named <strong>Debrief</strong>, will automate the note-taking process during
283
+ client meetings, creating draft emails and summaries of the discussions, CNBC
284
+ <a href=\\\"https://www.cnbc.com/2024/06/26/morgan-stanley-openai-powered-assistant-for-wealth-advisors.html\\\">reported</a>
285
+ on Thursday. The program, built using <strong>Microsoft Corp.-backed OpenAI&#8217;s</strong>
286
+ GPT-4, will be rolled out to the firm&#8217;s approximately 15,000 advisors
287
+ by early July.</p>\\n\\n\\n\\n<p>\\\"What we're finding is that the quality
288
+ and depth of the notes are just significantly better,\\\" <strong>Jeff McMillan</strong>,
289
+ Morgan Stanley&#8217;s head of firmwide artificial intelligence said. \\\"The
290
+ truth is, this does a better job of taking notes than the average human.\\\"</p>\\n\\n\\n\\n<p>The
291
+ AI assistant will also free up valuable time for advisors, potentially leading
292
+ to increased client engagement and business growth.</p>\\n\\n\\n\\n<p>Debrief
293
+ will initially be used in client meetings, with future versions allowing advisors
294
+ to use the program on corporate devices during in-person meetings. Clients
295
+ must consent to be recorded each time Debrief is used.</p>\\n\\n\\n\\n<p>\\\"As
296
+ a financial adviser I'm doing four, five or six meetings a day,\\\" said <strong>Don
297
+ Whitehead</strong>, a Houston-based advisor who's been testing the software.
298
+ By \\\"having the note-taking service built in through AI, you can really
299
+ be invested in the meeting, you're actually a lot more present.\\\"</p>\\n\\n\\n\\n<p><em>See
300
+ Also: <a href=\\\"https://www.benzinga.com/news/24/06/39450621/mark-cuban-falls-victim-to-this-common-account-takeover-tactic-by-hackers-and-loses-access-to-his-gm?itm_source=parsely-api\\\"
301
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Mark Cuban Falls Victim
302
+ To This Common Account Takeover Tactic By Hackers And Loses Access To His
303
+ Gmail: Here&#8217;s How You Can Avoid It</a></em></p>\\n\\n\\n\\n<p><strong>Why
304
+ It Matters</strong>: This move by Morgan Stanley is in line with the increasing
305
+ adoption of AI in the financial sector. Earlier in May, a PricewaterhouseCoopers
306
+ report <a href=\\\"https://www.benzinga.com/news/24/05/38931261/pwc-report-shows-ai-driven-sectors-surging-in-productivity-signaling-economic-upswing\\\">highlighted
307
+ a significant surge in productivity</a> in AI-driven sectors, including professional
308
+ and financial services. This growth was nearly five times faster than in other
309
+ sectors.</p>\\n\\n\\n\\n<p>Moreover, OpenAI&#8217;s ChatGPT Enterprise has
310
+ been gaining traction in the industry, with PwC becoming <a href=\\\"https://www.benzinga.com/news/24/05/39058054/big-four-accounting-firm-becomes-openais-largest-chatgpt-enterprise-customer\\\">its
311
+ largest customer</a> in May. A study by the University of Chicago also found
312
+ that OpenAI&#8217;s GPT-4 had a relative advantage over humans in <a href=\\\"https://www.benzinga.com/news/24/05/39055523/openais-chatgpt-4-has-a-relative-advantage-over-humans-in-financial-analysis-study-finds-even-withou\\\">financial
313
+ analysis and forecasting</a>, further underlining the potential of AI in the
314
+ financial sector.</p>\\n\\n\\n\\n<p>This development comes at a time when
315
+ the financial services industry is increasingly relying on AI and machine
316
+ learning technologies to <a href=\\\"https://www.benzinga.com/partner/general/24/04/38278223/the-future-of-finance-how-ai-and-machine-learning-are-transforming-financial-call-center-operatio\\\">enhance
317
+ customer experiences and operational efficiency</a>. The integration of AI
318
+ in financial services is seen as crucial for adapting to remote working conditions
319
+ and meeting evolving consumer needs.</p>\\n\\n\\n\\n<p><em>Read Next: <a href=\\\"https://www.benzinga.com/general/education/24/06/39466991/michael-saylor-2012-apple-stock-prediction-goes-viral-heres-what-bitcoin-bull-got-right-whoever?itm_source=parsely-api\\\"
320
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Michael Saylor 2012
321
+ Apple Stock Prediction Goes Viral, Here's What Bitcoin Bull Got Right: \u2018Whoever
322
+ Is Selling That Stock Must Be A Moron&#8217;</a></em></p>\\n\\n\\n\\n<p>Image
323
+ Via Shutterstock </p>\\n\\n\\n\\n<p>This story was generated using <a href=\\\"https://www.benzinga.com/author/benzinga-neuro\\\">Benzinga
324
+ Neuro</a> and edited by <u><a href=\\\"https://www.benzinga.com/topic/Kaustubh-Bagalkote\\\"
325
+ target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\">Kaustubh Bagalkote</a></u></p>\",\"url\":\"https://www.benzinga.com/news/24/06/39519493/morgan-stanley-to-roll-out-openai-powered-assistant-for-financial-advisors-quality-and-depth-of-the\",\"image\":[{\"size\":\"thumb\",\"url\":\"https://cdn.benzinga.com/files/imagecache/250x187xUP/images/story/2024/06/27/morgan-stanley-shutter3.jpeg\"},{\"size\":\"small\",\"url\":\"https://cdn.benzinga.com/files/imagecache/1024x768xUP/images/story/2024/06/27/morgan-stanley-shutter3.jpeg\"},{\"size\":\"large\",\"url\":\"https://cdn.benzinga.com/files/imagecache/2048x1536xUP/images/story/2024/06/27/morgan-stanley-shutter3.jpeg\"}],\"channels\":[{\"name\":\"News\"},{\"name\":\"Global\"},{\"name\":\"Markets\"},{\"name\":\"Tech\"}],\"stocks\":[{\"name\":\"MS\"}],\"tags\":[{\"name\":\"artificial
326
+ intelligence\"},{\"name\":\"ChatGPT\"},{\"name\":\"Kaustubh Bagalkote\"},{\"name\":\"Morgan
327
+ Stanley\"},{\"name\":\"OpenAi\"}]},{\"id\":39519482,\"author\":\"Benzinga
328
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 05:56:34 -0400\",\"updated\":\"Thu,
329
+ 27 Jun 2024 05:56:35 -0400\",\"title\":\"Nokia Inks Deal With The French State
330
+ Regarding The Sale Of Submarine Networks Business ASN For An Enterprise Value
331
+ Of \u20AC350M\",\"teaser\":\"Nokia will retain a 20% shareholding with board
332
+ representation to ensure a smooth transition until targeted exit, at which
333
+ point the French State would acquire Nokia\u2019s remaining interest.\\n\\n\_\\n\\nThe
334
+ sale is\",\"body\":\"<div>Nokia will retain a 20% shareholding with board
335
+ representation to ensure a smooth transition until targeted exit, at which
336
+ point the French State would acquire Nokia&rsquo;s remaining interest.</div>\\n\\n<div>&nbsp;</div>\\n\\n<div>The
337
+ sale is expected to close at the end of 2024 or beginning of 2025, subject
338
+ to formal consultation of ASN&rsquo;s French Works Council and other customary
339
+ closing conditions and regulatory approvals.</div>\",\"url\":\"https://www.benzinga.com/news/24/06/39519482/nokia-inks-deal-with-the-french-state-regarding-the-sale-of-submarine-networks-business-asn-for-an-e\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Asset
340
+ Sales\"}],\"stocks\":[{\"name\":\"NOK\"}],\"tags\":[]},{\"id\":39519479,\"author\":\"Benzinga
341
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 05:55:53 -0400\",\"updated\":\"Thu,
342
+ 27 Jun 2024 05:55:54 -0400\",\"title\":\"Stifel Initiates Coverage On Jasper
343
+ Therapeutics with Buy Rating, Announces Price Target of $86\",\"teaser\":\"Stifel
344
+ \ analyst Ben Burnett initiates coverage on Jasper Therapeutics (NASDAQ:JSPR)
345
+ with a Buy rating and announces Price Target of $86.\",\"body\":\"Stifel analyst
346
+ Ben Burnett initiates coverage on Jasper Therapeutics (NASDAQ:<a class=\\\"ticker\\\"
347
+ href=\\\"https://www.benzinga.com/stock/JSPR#NASDAQ\\\">JSPR</a>) with a Buy
348
+ rating and announces Price Target of $86.\",\"url\":\"https://www.benzinga.com/news/24/06/39519479/stifel-initiates-coverage-on-jasper-therapeutics-with-buy-rating-announces-price-target-of-86\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Price
349
+ Target\"},{\"name\":\"Initiation\"},{\"name\":\"Analyst Ratings\"}],\"stocks\":[{\"name\":\"JSPR\"}],\"tags\":[]},{\"id\":39519471,\"author\":\"Benzinga
350
+ Newsdesk\",\"created\":\"Thu, 27 Jun 2024 05:54:22 -0400\",\"updated\":\"Thu,
351
+ 27 Jun 2024 05:54:22 -0400\",\"title\":\"Roth MKM Initiates Coverage On Denison
352
+ Mines with Buy Rating, Announces Price Target of $2.6\",\"teaser\":\"Roth
353
+ MKM analyst Joe Reagor initiates coverage on Denison Mines (AMEX:DNN) with
354
+ a Buy rating and announces Price Target of $2.6.\",\"body\":\"Roth MKM analyst
355
+ Joe Reagor initiates coverage on Denison Mines (AMEX:<a class=\\\"ticker\\\"
356
+ href=\\\"https://www.benzinga.com/stock/DNN#AMEX\\\">DNN</a>) with a Buy rating
357
+ and announces Price Target of $2.6.\",\"url\":\"https://www.benzinga.com/news/24/06/39519471/roth-mkm-initiates-coverage-on-denison-mines-with-buy-rating-announces-price-target-of-2-6\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Price
358
+ Target\"},{\"name\":\"Initiation\"},{\"name\":\"Analyst Ratings\"}],\"stocks\":[{\"name\":\"DNN\"}],\"tags\":[]},{\"id\":39519449,\"author\":\"Lekha
359
+ Gupta\",\"created\":\"Thu, 27 Jun 2024 05:52:52 -0400\",\"updated\":\"Thu,
360
+ 27 Jun 2024 05:52:53 -0400\",\"title\":\"Is BP Bailing on Green? Reportedly
361
+ Shifts Gears From Renewables To Oil And Gas\",\"teaser\":\"BP reportedly shifts
362
+ focus back to oil and gas, halting new offshore wind projects and implementing
363
+ hiring freeze, due to investor dissatisfaction with energy transition strategy.\",\"body\":\"<p><strong>BP
364
+ p.l.c.</strong> (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/BP#NYSE\\\">BP</a>)
365
+ reportedly implemented a hiring freeze and halted new offshore wind projects,
366
+ shifting focus back to oil and gas due to investor dissatisfaction with the
367
+ company&#8217;s energy transition strategy.</p>\\n\\n\\n\\n<p>These moves
368
+ are part of CEO Murray Auchincloss&#8217; strategy to reduce investments in
369
+ high-budget, low-carbon projects, especially offshore wind, which are not
370
+ expected to generate immediate cash flow, reported Reuters.</p>\\n\\n\\n\\n<p>These
371
+ actions signify a major departure from the approach of Auchincloss&#8217;
372
+ predecessor, Bernard Looney, who aimed to <a target=\\\"_blank\\\" href=\\\"https://www.benzinga.com/markets/equities/23/09/34526407/oil-giant-bps-ceo-resigns-amid-investigation-on-personal-conduct\\\"
373
+ rel=\\\"noreferrer noopener\\\">transition away from fossil fuels quickly</a>.</p>\\n\\n\\n\\n<p>The
374
+ shift has affected BP&#8217;s stock performance, as returns from renewable
375
+ energy projects have declined, while profits from oil and gas have soared
376
+ in the aftermath of the COVID-19 pandemic and Russia&#8217;s invasion of Ukraine.</p>\\n\\n\\n\\n<p>Auchincloss
377
+ and Chief Financial Officer Kate Thomson have prioritized investing in and
378
+ acquiring new oil and gas assets, with a particular focus on the Gulf of Mexico
379
+ and U.S. onshore shale basins, where BP already has significant operations,
380
+ the report added, citing people familiar with the matter.</p>\\n\\n\\n\\n<p><strong><em>Related</em></strong><em>:
381
+ <a target=\\\"_blank\\\" href=\\\"https://www.benzinga.com/markets/equities/24/06/39247864/bp-tightens-workplace-relationship-rules-after-ceo-firing-report\\\"
382
+ rel=\\\"noreferrer noopener\\\">BP Tightens Workplace Relationship Rules After
383
+ CEO Firing: Report</a></em></p>\\n\\n\\n\\n<p>BP said in a statement to Reuters
384
+ that Auchincloss introduced six priorities &#8220;to deliver as a simpler,
385
+ more focused and higher value company.&#8221;</p>\\n\\n\\n\\n<p>&#8220;The
386
+ actions we are taking are part of delivering this &#8211; and of course are
387
+ all in service of our aim of growing the value of BP.&#8221;</p>\\n\\n\\n\\n<p>As
388
+ per the report, BP has reassigned dozens of employees, who were previously
389
+ focused on identifying new renewable opportunities, to existing projects such
390
+ as offshore wind initiatives in Britain and Germany.</p>\\n\\n\\n\\n<p><strong><em>Read</em></strong><em>:
391
+ <a target=\\\"_blank\\\" href=\\\"https://www.benzinga.com/markets/equities/24/06/39416447/bp-doubles-down-on-biofuels-buys-out-bunge-bioenergia-for-1-4b\\\"
392
+ rel=\\\"noreferrer noopener\\\">BP Doubles Down On Biofuels: Buys Out Bunge
393
+ Bioenergia for $1.4B</a></em></p>\\n\\n\\n\\n<p>This week, BP said it plans
394
+ to expand and diversify its biofuel operations in Brazil after acquiring <a
395
+ target=\\\"_blank\\\" href=\\\"https://www.benzinga.com/markets/equities/24/06/39452342/bp-eyes-biofuel-dominance-in-brazil-with-expansion-plans-report\\\"
396
+ rel=\\\"noreferrer noopener\\\">stake in BP Bunge Bioenergia</a>.</p>\\n\\n\\n\\n<p>Investors
397
+ can gain exposure to the stock via&nbsp;<strong>Direxion Hydrogen ETF&nbsp;</strong>(ARCA:&nbsp;HJEN)&nbsp;and&nbsp;<strong>First
398
+ Trust Exchange-Traded Fund IV FT Energy Income Partners Strategy ETF</strong>
399
+ (ARCA:&nbsp;EIPX).</p>\\n\\n\\n\\n<p><strong>Price Action</strong>: BP shares
400
+ closed lower by 1.00% at $35.72 on Wednesday.</p>\\n\\n\\n\\n<p><strong><em>Disclaimer:</em></strong><em>
401
+ This content was partially produced with the help of AI tools and was reviewed
402
+ and published by Benzinga editors.</em></p>\",\"url\":\"https://www.benzinga.com/markets/equities/24/06/39519449/is-bp-bailing-on-green-reportedly-shifts-gears-from-renewables-to-oil-and-gas\",\"image\":[{\"size\":\"thumb\",\"url\":\"https://cdn.benzinga.com/files/imagecache/250x187xUP/images/story/2024/06/27/BP-Logo.png\"},{\"size\":\"small\",\"url\":\"https://cdn.benzinga.com/files/imagecache/1024x768xUP/images/story/2024/06/27/BP-Logo.png\"},{\"size\":\"large\",\"url\":\"https://cdn.benzinga.com/files/imagecache/2048x1536xUP/images/story/2024/06/27/BP-Logo.png\"}],\"channels\":[{\"name\":\"Equities\"},{\"name\":\"Large
403
+ Cap\"},{\"name\":\"News\"},{\"name\":\"Media\"}],\"stocks\":[{\"name\":\"BP\"}],\"tags\":[{\"name\":\"AI
404
+ Generated\"},{\"name\":\"Briefs\"},{\"name\":\"Eurasia\"},{\"name\":\"Stories
405
+ That Matter\"}]},{\"id\":39519448,\"author\":\"Benzinga Newsdesk\",\"created\":\"Thu,
406
+ 27 Jun 2024 05:52:51 -0400\",\"updated\":\"Thu, 27 Jun 2024 05:52:51 -0400\",\"title\":\"Piper
407
+ Sandler Initiates Coverage On Dynatrace with Neutral Rating, Announces Price
408
+ Target of $50\",\"teaser\":\"Piper Sandler analyst Rob Owens initiates
409
+ coverage on Dynatrace (NYSE:DT) with a Neutral rating and announces Price
410
+ Target of $50.\",\"body\":\"Piper Sandler analyst Rob Owens initiates coverage
411
+ on Dynatrace (NYSE:<a class=\\\"ticker\\\" href=\\\"https://www.benzinga.com/stock/DT#NYSE\\\">DT</a>)
412
+ with a Neutral rating and announces Price Target of $50.\",\"url\":\"https://www.benzinga.com/news/24/06/39519448/piper-sandler-initiates-coverage-on-dynatrace-with-neutral-rating-announces-price-target-of-50\",\"image\":[],\"channels\":[{\"name\":\"News\"},{\"name\":\"Price
413
+ Target\"},{\"name\":\"Initiation\"},{\"name\":\"Analyst Ratings\"}],\"stocks\":[{\"name\":\"DT\"}],\"tags\":[]}]\n"
414
+ headers:
415
+ Cache-Control:
416
+ - max-age=3, must-revalidate
417
+ Connection:
418
+ - keep-alive
419
+ Content-Type:
420
+ - application/json
421
+ Date:
422
+ - Thu, 27 Jun 2024 10:11:56 GMT
423
+ Etag:
424
+ - 0s89sQhzSjYCAljvgqhRmS3_vrTWj3RTe3jnQPfA0cM=
425
+ Transfer-Encoding:
426
+ - chunked
427
+ Vary:
428
+ - Accept,Accept-Encoding
429
+ Via:
430
+ - kong/3.5.0, 1.1 e94fc0df161940e9096df2b4fe60d4f8.cloudfront.net (CloudFront)
431
+ X-Amz-Cf-Id:
432
+ - HvN937tz80oUTJRSEBHZwEJUR19_RcgBLvoG9YMVRWFSB-fvgvjR6Q==
433
+ X-Amz-Cf-Pop:
434
+ - AMS58-P1
435
+ X-Bz-Request-Id:
436
+ - a9958c17-e64e-4cca-8325-d1b8cf90e19d#14564991
437
+ X-Cache:
438
+ - Miss from cloudfront
439
+ X-Kong-Proxy-Latency:
440
+ - '0'
441
+ X-Kong-Request-Id:
442
+ - 8d0e3c06517321657c7a4b3abf927d60
443
+ X-Kong-Upstream-Latency:
444
+ - '47'
445
+ X-Powered-By:
446
+ - Pentium
447
+ status:
448
+ code: 200
449
+ message: OK
450
+ version: 1
openbb_platform/providers/benzinga/tests/test_benzinga_fetchers.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Test the Benzinga fetchers."""
2
+
3
+ import pytest
4
+ from openbb_benzinga.models.analyst_search import BenzingaAnalystSearchFetcher
5
+ from openbb_benzinga.models.company_news import BenzingaCompanyNewsFetcher
6
+ from openbb_benzinga.models.price_target import BenzingaPriceTargetFetcher
7
+ from openbb_benzinga.models.world_news import BenzingaWorldNewsFetcher
8
+ from openbb_core.app.service.user_service import UserService
9
+
10
+ test_credentials = UserService().default_user_settings.credentials.model_dump(
11
+ mode="json"
12
+ )
13
+
14
+
15
+ @pytest.fixture(scope="module")
16
+ def vcr_config():
17
+ """VCR configuration."""
18
+ return {
19
+ "filter_headers": [("User-Agent", None)],
20
+ "filter_query_parameters": [
21
+ ("token", "MOCK_TOKEN"),
22
+ ],
23
+ }
24
+
25
+
26
+ @pytest.mark.record_http
27
+ def test_benzinga_world_news_fetcher(credentials=test_credentials):
28
+ """Test the world news fetcher."""
29
+ params = {"limit": 20}
30
+
31
+ fetcher = BenzingaWorldNewsFetcher()
32
+ result = fetcher.test(params, credentials)
33
+ assert result is None
34
+
35
+
36
+ @pytest.mark.record_http
37
+ def test_benzinga_company_news_fetcher(credentials=test_credentials):
38
+ """Test the company news fetcher."""
39
+ params = {"symbol": "AAPL,MSFT", "limit": 20}
40
+
41
+ fetcher = BenzingaCompanyNewsFetcher()
42
+ result = fetcher.test(params, credentials)
43
+ assert result is None
44
+
45
+
46
+ @pytest.mark.record_http
47
+ def test_benzinga_price_target_fetcher(credentials=test_credentials):
48
+ """Test the price target fetcher."""
49
+ params = {"symbol": "AAPL"}
50
+
51
+ fetcher = BenzingaPriceTargetFetcher()
52
+ result = fetcher.test(params, credentials)
53
+ assert result is None
54
+
55
+
56
+ @pytest.mark.record_http
57
+ def test_benzinga_analyst_search_fetcher(credentials=test_credentials):
58
+ """Test the analyst search fetcher."""
59
+ params = {"firm_name": "Barclays"}
60
+
61
+ fetcher = BenzingaAnalystSearchFetcher()
62
+ result = fetcher.test(params, credentials)
63
+ assert result is None
openbb_platform/providers/biztoc/README.md ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # OpenBB Biztoc Provider
2
+
3
+ This extension integrates the Biztoc data provider
4
+ into the OpenBB Platform.
5
+
6
+ ## Installation
7
+
8
+ To install the extension, run the following command in this folder:
9
+
10
+ ```bash
11
+ pip install openbb-biztoc
12
+ ```
13
+
14
+ Documentation available [here](https://docs.openbb.co/platform/developer_guide/contributing).
openbb_platform/providers/biztoc/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Biztoc provider."""
openbb_platform/providers/biztoc/openbb_biztoc/__init__.py ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Biztoc provider module."""
2
+
3
+ from openbb_biztoc.models.world_news import BiztocWorldNewsFetcher
4
+ from openbb_core.provider.abstract.provider import Provider
5
+
6
+ biztoc_provider = Provider(
7
+ name="biztoc",
8
+ website="https://api.biztoc.com",
9
+ description="""BizToc uses Rapid API for its REST API.
10
+ You may sign up for your free account at https://rapidapi.com/thma/api/biztoc.
11
+
12
+ The Base URL for all requests is:
13
+
14
+ https://biztoc.p.rapidapi.com/
15
+
16
+ If you're not a developer but would still like to use Biztoc outside of the main website,
17
+ we've partnered with OpenBB, allowing you to pull in BizToc's news stream in their Terminal.""",
18
+ credentials=["api_key"],
19
+ fetcher_dict={
20
+ "WorldNews": BiztocWorldNewsFetcher,
21
+ },
22
+ repr_name="BizToc",
23
+ deprecated_credentials={"API_BIZTOC_TOKEN": "biztoc_api_key"},
24
+ instructions="The BizToc API is hosted on RapidAPI. To set up, go to: https://rapidapi.com/thma/api/biztoc.\n\n![biztoc0](https://github.com/marban/OpenBBTerminal/assets/18151143/04cdd423-f65e-4ad8-ad5a-4a59b0f5ddda)\n\nIn the top right, select 'Sign Up'. After answering some questions, you will be prompted to select one of their plans.\n\n![biztoc1](https://github.com/marban/OpenBBTerminal/assets/18151143/9f3b72ea-ded7-48c5-aa33-bec5c0de8422)\n\nAfter signing up, navigate back to https://rapidapi.com/thma/api/biztoc. If you are logged in, you will see a header called X-RapidAPI-Key.\n\n![biztoc2](https://github.com/marban/OpenBBTerminal/assets/18151143/0f3b6c91-07e0-447a-90cd-a9e23522929f)", # noqa: E501 pylint: disable=line-too-long
25
+ )
openbb_platform/providers/biztoc/openbb_biztoc/models/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Biztoc Provider models."""
openbb_platform/providers/biztoc/openbb_biztoc/models/world_news.py ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Biztoc World News Model."""
2
+
3
+ # pylint: disable=unused-argument
4
+
5
+ from typing import Any, Optional, Union
6
+ from warnings import warn
7
+
8
+ from openbb_core.app.model.abstract.error import OpenBBError
9
+ from openbb_core.provider.abstract.fetcher import Fetcher
10
+ from openbb_core.provider.standard_models.world_news import (
11
+ WorldNewsData,
12
+ WorldNewsQueryParams,
13
+ )
14
+ from openbb_core.provider.utils.errors import UnauthorizedError
15
+ from pydantic import Field, field_validator
16
+
17
+
18
+ class BiztocWorldNewsQueryParams(WorldNewsQueryParams):
19
+ """Biztoc World News Query."""
20
+
21
+ term: Optional[str] = Field(
22
+ description="Search term to filter articles by. This overrides all other filters.",
23
+ default=None,
24
+ )
25
+ source: Optional[str] = Field(
26
+ description="Filter by a specific publisher. Only valid when filter is set to source.",
27
+ default=None,
28
+ )
29
+
30
+
31
+ class BiztocWorldNewsData(WorldNewsData):
32
+ """Biztoc World News Data."""
33
+
34
+ __alias_dict__ = {
35
+ "date": "published",
36
+ "text": "body",
37
+ "images": "img",
38
+ }
39
+
40
+ images: Optional[list[dict[str, str]]] = Field(
41
+ description="Images for the article.", default=None
42
+ )
43
+ tags: Optional[list[str]] = Field(description="Tags for the article.", default=None)
44
+ score: Optional[float] = Field(
45
+ description="Search relevance score for the article.", default=None
46
+ )
47
+
48
+ @field_validator("date", "updated", mode="before", check_fields=False)
49
+ @classmethod
50
+ def date_validate(cls, v):
51
+ """Return formatted datetime."""
52
+ # pylint: disable=import-outside-toplevel
53
+ from pandas import to_datetime
54
+
55
+ return (
56
+ to_datetime(v, utc=True)
57
+ .tz_convert("America/New_York")
58
+ .strftime("%Y-%m-%d %H:%M:%S%z")
59
+ )
60
+
61
+ @field_validator("title")
62
+ @classmethod
63
+ def title_validate(cls, v):
64
+ """Strip empty title text."""
65
+ return v.strip() if v else None
66
+
67
+
68
+ class BiztocWorldNewsFetcher(
69
+ Fetcher[
70
+ BiztocWorldNewsQueryParams,
71
+ list[BiztocWorldNewsData],
72
+ ]
73
+ ):
74
+ """Transform the query, extract and transform the data from the Biztoc endpoints."""
75
+
76
+ @staticmethod
77
+ def transform_query(params: dict[str, Any]) -> BiztocWorldNewsQueryParams:
78
+ """Transform the query."""
79
+ if params.get("start_date") or params.get("end_date"):
80
+ warn("start_date and end_date are not supported for this endpoint.")
81
+ return BiztocWorldNewsQueryParams(**params)
82
+
83
+ @staticmethod
84
+ async def aextract_data(
85
+ query: BiztocWorldNewsQueryParams,
86
+ credentials: Optional[dict[str, str]],
87
+ **kwargs: Any,
88
+ ) -> list[dict]:
89
+ """Extract the data from the Biztoc endpoint."""
90
+ # pylint: disable=import-outside-toplevel
91
+ from openbb_core.provider.utils.helpers import amake_request, make_request
92
+
93
+ async def response_callback(response, _):
94
+ res = await response.json()
95
+ if isinstance(res, dict) and "message" in res:
96
+ if "subscribed" in res["message"].lower():
97
+ raise UnauthorizedError(
98
+ f"Unauthorized Biztoc request -> {res['message']}"
99
+ )
100
+ raise OpenBBError(res["message"])
101
+
102
+ return await response.json()
103
+
104
+ api_key = credentials.get("biztoc_api_key") if credentials else ""
105
+ headers = {
106
+ "X-RapidAPI-Key": f"{api_key}",
107
+ "X-RapidAPI-Host": "biztoc.p.rapidapi.com",
108
+ "Accept": "application/json",
109
+ "Accept-Encoding": "gzip",
110
+ }
111
+ base_url = "https://biztoc.p.rapidapi.com/"
112
+ url = ""
113
+ response: Union[list, dict] = []
114
+ if query.term:
115
+ query.term = query.term.replace(" ", "%20")
116
+ url = base_url + f"search?q={query.term}"
117
+ response = await amake_request(
118
+ url, headers=headers, response_callback=response_callback
119
+ )
120
+ elif query.source is not None:
121
+ sources_response = make_request(
122
+ "https://biztoc.p.rapidapi.com/sources",
123
+ headers=headers,
124
+ ).json()
125
+ sources = [source["id"] for source in sources_response]
126
+ if query.source.lower() not in sources:
127
+ raise OpenBBError(
128
+ f"{query.source} not a valid source. Valid sources: {sources}"
129
+ )
130
+ url = base_url + f"news/source/{query.source.lower()}"
131
+ response = await amake_request(
132
+ url, headers=headers, response_callback=response_callback
133
+ )
134
+ else:
135
+ url1 = base_url + "news/latest"
136
+ response = await amake_request(
137
+ url1, headers=headers, response_callback=response_callback
138
+ )
139
+
140
+ return response # type: ignore
141
+
142
+ @staticmethod
143
+ def transform_data(
144
+ query: BiztocWorldNewsQueryParams, data: list[dict], **kwargs: Any
145
+ ) -> list[BiztocWorldNewsData]:
146
+ """Transform the data to the standard format."""
147
+ results: list[BiztocWorldNewsData] = []
148
+ for item in data:
149
+ item.pop("id", None)
150
+ item.pop("uid", None)
151
+ item.pop("body_preview", None)
152
+ item.pop("site", None)
153
+ item.pop("domain", None)
154
+ images = item.pop("img", [])
155
+ if images:
156
+ item["images"] = images if isinstance(images, list) else [images]
157
+ results.append(BiztocWorldNewsData.model_validate(item))
158
+ return results
openbb_platform/providers/biztoc/openbb_biztoc/utils/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Biztoc utils."""
openbb_platform/providers/biztoc/poetry.lock ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/biztoc/pyproject.toml ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [tool.poetry]
2
+ name = "openbb-biztoc"
3
+ version = "1.4.2"
4
+ description = "Biztoc Provider for OpenBB Platform"
5
+ authors = ["OpenBB Team <hello@openbb.co>"]
6
+ license = "AGPL-3.0-only"
7
+ readme = "README.md"
8
+ packages = [{ include = "openbb_biztoc" }]
9
+
10
+ [tool.poetry.dependencies]
11
+ python = ">=3.9.21,<3.13"
12
+ openbb-core = "^1.4.6"
13
+
14
+ [build-system]
15
+ requires = ["poetry-core"]
16
+ build-backend = "poetry.core.masonry.api"
17
+
18
+ [tool.poetry.plugins."openbb_provider_extension"]
19
+ biztoc = "openbb_biztoc:biztoc_provider"
openbb_platform/providers/biztoc/tests/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """Biztoc Provider tests."""
openbb_platform/providers/biztoc/tests/record/http/test_biztoc_fetchers/test_biztoc_world_news_fetcher_urllib3_v1.yaml ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip
9
+ Connection:
10
+ - keep-alive
11
+ X-RapidAPI-Host:
12
+ - biztoc.p.rapidapi.com
13
+ X-RapidAPI-Key:
14
+ - MOCK_API_KEY
15
+ method: GET
16
+ uri: https://biztoc.p.rapidapi.com/sources
17
+ response:
18
+ body:
19
+ string: !!binary |
20
+ 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
52
+ headers:
53
+ CF-Cache-Status:
54
+ - DYNAMIC
55
+ CF-RAY:
56
+ - 8994cde11c089bb6-FRA
57
+ Cache-Control:
58
+ - no-store, no-cache, must-revalidate, max-age=0
59
+ Connection:
60
+ - keep-alive
61
+ Content-Encoding:
62
+ - gzip
63
+ Content-Length:
64
+ - '1800'
65
+ Content-Type:
66
+ - application/json
67
+ Date:
68
+ - Tue, 25 Jun 2024 12:01:40 GMT
69
+ NEL:
70
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
71
+ Report-To:
72
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=O1HOQx%2FHZ8gjPS9TkdR9H5vjaetwmc7o%2BMoAZAFPo3dripv5vde5IP7MPse2aWYqlll6n9FZ1xBaJ2GHm87C5gTQJoQQBaQ6pMt%2F8RYSd2b2J8%2FMGAwjmVKgCfk%3D"}],"group":"cf-nel","max_age":604800}'
73
+ Server:
74
+ - RapidAPI-1.2.8
75
+ Strict-Transport-Security:
76
+ - max-age=31556926; includeSubDomains
77
+ Vary:
78
+ - Accept-Encoding, Cookie
79
+ X-RapidAPI-Region:
80
+ - AWS - eu-central-1
81
+ X-RapidAPI-Version:
82
+ - 1.2.8
83
+ X-RateLimit-Requests-Limit:
84
+ - '2000'
85
+ X-RateLimit-Requests-Remaining:
86
+ - '1997'
87
+ X-RateLimit-Requests-Reset:
88
+ - '2163154'
89
+ X-RateLimit-rapid-free-plans-hard-limit-Limit:
90
+ - '500000'
91
+ X-RateLimit-rapid-free-plans-hard-limit-Remaining:
92
+ - '499997'
93
+ X-RateLimit-rapid-free-plans-hard-limit-Reset:
94
+ - '2163154'
95
+ alt-svc:
96
+ - h3=":443"; ma=86400
97
+ permissions-policy:
98
+ - browsing-topics=()
99
+ referrer-policy:
100
+ - strict-origin-when-cross-origin
101
+ rndr-id:
102
+ - 2ae1f676-2d62-4891
103
+ x-content-type-options:
104
+ - nosniff
105
+ x-render-origin-server:
106
+ - gunicorn
107
+ status:
108
+ code: 200
109
+ message: OK
110
+ - request:
111
+ body: null
112
+ headers:
113
+ Accept:
114
+ - application/json
115
+ Accept-Encoding:
116
+ - gzip
117
+ Connection:
118
+ - keep-alive
119
+ X-RapidAPI-Host:
120
+ - biztoc.p.rapidapi.com
121
+ X-RapidAPI-Key:
122
+ - MOCK_API_KEY
123
+ method: GET
124
+ uri: https://biztoc.p.rapidapi.com/news/source/bloomberg
125
+ response:
126
+ body:
127
+ string: !!binary |
128
+ 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
231
+ headers:
232
+ CF-Cache-Status:
233
+ - DYNAMIC
234
+ CF-RAY:
235
+ - 8994cde518bf30fa-FRA
236
+ Cache-Control:
237
+ - no-store, no-cache, must-revalidate, max-age=0
238
+ Connection:
239
+ - keep-alive
240
+ Content-Encoding:
241
+ - gzip
242
+ Content-Length:
243
+ - '5862'
244
+ Content-Type:
245
+ - application/json
246
+ Date:
247
+ - Tue, 25 Jun 2024 12:01:40 GMT
248
+ NEL:
249
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
250
+ Report-To:
251
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=HD1hdahYJxBUg2bDnv8ap3UYl5AY0k%2B0YTyFPZaFjRFlV0BTQwv15I%2FuVgrzTrPGUkx%2FjSD3e06bHWx8NUxN4v31oUgZdruadCDXmnRYslPKpwPyAoZgs%2FCI0Jk%3D"}],"group":"cf-nel","max_age":604800}'
252
+ Server:
253
+ - RapidAPI-1.2.8
254
+ Strict-Transport-Security:
255
+ - max-age=31556926; includeSubDomains
256
+ Vary:
257
+ - Accept-Encoding, Cookie
258
+ X-RapidAPI-Region:
259
+ - AWS - eu-central-1
260
+ X-RapidAPI-Version:
261
+ - 1.2.8
262
+ X-RateLimit-Requests-Limit:
263
+ - '2000'
264
+ X-RateLimit-Requests-Remaining:
265
+ - '1996'
266
+ X-RateLimit-Requests-Reset:
267
+ - '2163154'
268
+ X-RateLimit-rapid-free-plans-hard-limit-Limit:
269
+ - '500000'
270
+ X-RateLimit-rapid-free-plans-hard-limit-Remaining:
271
+ - '499996'
272
+ X-RateLimit-rapid-free-plans-hard-limit-Reset:
273
+ - '2163154'
274
+ alt-svc:
275
+ - h3=":443"; ma=86400
276
+ permissions-policy:
277
+ - browsing-topics=()
278
+ referrer-policy:
279
+ - strict-origin-when-cross-origin
280
+ rndr-id:
281
+ - 2eb8a4b5-6092-41fc
282
+ x-content-type-options:
283
+ - nosniff
284
+ x-render-origin-server:
285
+ - gunicorn
286
+ status:
287
+ code: 200
288
+ message: OK
289
+ version: 1
openbb_platform/providers/biztoc/tests/record/http/test_biztoc_fetchers/test_biztoc_world_news_fetcher_urllib3_v2.yaml ADDED
@@ -0,0 +1,299 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ interactions:
2
+ - request:
3
+ body: null
4
+ headers:
5
+ Accept:
6
+ - application/json
7
+ Accept-Encoding:
8
+ - gzip
9
+ Connection:
10
+ - keep-alive
11
+ X-RapidAPI-Host:
12
+ - biztoc.p.rapidapi.com
13
+ X-RapidAPI-Key:
14
+ - MOCK_API_KEY
15
+ method: GET
16
+ uri: https://biztoc.p.rapidapi.com/sources
17
+ response:
18
+ body:
19
+ string: '[{"id":"tfswallst","title":"24/7 Wall Street","web":"https://247wallst.com/"},{"id":"abc","title":"ABC
20
+ News","web":"https://abcnews.go.com"},{"id":"aol","title":"AOL Finance","web":"https://www.aol.com/finance/"},{"id":"apnews","title":"AP
21
+ News","web":"https://apnews.com"},{"id":"abnormalreturns","title":"Abnormal
22
+ Returns","web":"https://abnormalreturns.com/"},{"id":"asiafinancial","title":"Asia
23
+ Financial","web":"https://www.asiafinancial.com"},{"id":"axios","title":"Axios","web":"https://www.axios.com"},{"id":"bbc","title":"BBC","web":"https://www.bbc.com"},{"id":"barchart","title":"Barchart","web":"https://www.barchart.com/"},{"id":"barrons","title":"Barrons","web":"https://www.barrons.com"},{"id":"ritholtz","title":"Barry
24
+ Ritholtz","web":"https://ritholtz.com/"},{"id":"benzinga","title":"Benzinga","web":"https://www.benzinga.com/"},{"id":"blockworks","title":"Blockworks","web":"https://blockworks.co"},{"id":"bloomberg","title":"Bloomberg","web":"https://www.bloomberg.com/"},{"id":"quicktake","title":"Bloomberg
25
+ Quicktake","web":"https://www.youtube.com/channel/UChirEOpgFCupRAk5etXqPaA"},{"id":"boston","title":"Boston
26
+ Herald","web":"https://www.bostonherald.com/business/"},{"id":"bizjournals","title":"Business
27
+ Journals","web":"https://www.bizjournals.com/"},{"id":"cbc","title":"CBC","web":"https://www.cbc.ca/s"},{"id":"cbs","title":"CBS","web":"https://www.cbsnews.com"},{"id":"cnbc","title":"CNBC","web":"https://www.cnbc.com/"},{"id":"cnn","title":"CNN","web":"https://edition.cnn.com/business"},{"id":"chicago","title":"Chicago
28
+ Tribune","web":"https://www.chicagotribune.com/business/"},{"id":"coindesk","title":"Coindesk","web":"https://www.coindesk.com"},{"id":"dw","title":"DW","web":"https://www.dw.com/en/business/s-1431"},{"id":"dailyupside","title":"Daily
29
+ Upside","web":"https://www.thedailyupside.com/"},{"id":"dealbreaker","title":"Dealbreaker","web":"https://dealbreaker.com/"},{"id":"entrepreneur","title":"Entrepreneur","web":"https://www.entrepreneur.com/"},{"id":"stocktwits","title":"EurActiv","web":"https://www.euractiv.com/"},{"id":"euronews","title":"Euronews","web":"https://www.euronews.com/"},{"id":"fastcompany","title":"FastCompany","web":"https://www.fastcompany.com"},{"id":"finpost","title":"Financial
30
+ Post","web":"https://financialpost.com/"},{"id":"ft","title":"Financial Times","web":"https://www.ft.com"},{"id":"forbes","title":"Forbes","web":"https://www.forbes.com"},{"id":"fortune","title":"Fortune","web":"https://fortune.com/"},{"id":"fox","title":"Fox
31
+ Business","web":"https://www.foxbusiness.com"},{"id":"globeandmail","title":"Globe
32
+ And Mail","web":"https://www.theglobeandmail.com"},{"id":"google_business","title":"Google
33
+ Business","web":"https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB?hl=en-US&gl=US&ceid=US%3Aen"},{"id":"googletrends","title":"Google
34
+ Trends","web":"https://trends.google.com/trends/?geo=US"},{"id":"inc","title":"Inc.","web":"https://www.inc.com"},{"id":"insider","title":"Insider","web":"https://www.insider.com"},{"id":"instinv","title":"Institutional
35
+ Investor","web":"https://www.institutionalinvestor.com/"},{"id":"investing","title":"Investing.com","web":"https://www.investing.com"},{"id":"investorplace","title":"InvestorPlace","web":"https://investorplace.com"},{"id":"arabnews","title":"Japan
36
+ Times","web":"https://www.japantimes.co.jp"},{"id":"latimes","title":"LA Times","web":"https://www.latimes.com"},{"id":"msnbc","title":"MSNBC","web":"https://www.msnbc.com/"},{"id":"marginalrev","title":"Marginal
37
+ Revolution","web":"https://marginalrevolution.com"},{"id":"marketbeat","title":"MarketBeat","web":"https://www.marketbeat.com/headlines"},{"id":"marketplace","title":"Marketplace","web":"https://www.marketplace.org"},{"id":"marketwatch","title":"Marketwatch","web":"https://www.marketwatch.com"},{"id":"mises","title":"Mises
38
+ Institute","web":"https://mises.org"},{"id":"morningbrew","title":"Morning
39
+ Brew","web":"https://www.morningbrew.com"},{"id":"nbc","title":"NBC","web":"https://www.nbcnews.com/"},{"id":"npr","title":"NPR","web":"https://www.npr.org"},{"id":"nyt","title":"NYT
40
+ Business","web":"https://www.nytimes.com/section/business"},{"id":"nakedcapitalism","title":"Naked
41
+ Capitalism","web":"https://www.nakedcapitalism.com"},{"id":"newsweek","title":"Newsweek","web":"https://www.newsweek.com"},{"id":"nikkei","title":"Nikkei
42
+ Asia","web":"https://asia.nikkei.com/"},{"id":"observer","title":"Observer","web":"https://observer.com/"},{"id":"pbs_newshour","title":"PBS
43
+ Newshour","web":"https://www.pbs.org/"},{"id":"pymnts","title":"PYMNTS","web":"https://www.pymnts.com/"},{"id":"podcasts","title":"Podcasts","web":""},{"id":"politico","title":"Politico","web":"https://www.politico.com"},{"id":"rcm","title":"RCM","web":""},{"id":"reason","title":"Reason","web":"https://reason.com/"},{"id":"reddit","title":"Reddit","web":"https://www.reddit.com"},{"id":"reuters","title":"Reuters","web":"https://reuters.com"},{"id":"scmp","title":"SCMP","web":"https://www.scmp.com/"},{"id":"sec","title":"SEC
44
+ / FED","web":"https://www.sec.gov/"},{"id":"seattle","title":"Seattle Times","web":"https://www.seattletimes.com/business/"},{"id":"seekingalpha","title":"Seeking
45
+ Alpha","web":"https://seekingalpha.com"},{"id":"semafor","title":"Semafor","web":"https://www.semafor.com/"},{"id":"siliconrepublic","title":"Silicon
46
+ Republic","web":"https://www.siliconrepublic.com/"},{"id":"siliconvalley","title":"Silicon
47
+ Valley","web":"https://www.siliconvalley.com/"},{"id":"statista","title":"Statista","web":"https://www.statista.com/"},{"id":"ted","title":"TED","web":"https://www.ted.com/"},{"id":"techco","title":"Tech
48
+ Co","web":"https://tech.co/"},{"id":"techcrunch","title":"Techcrunch","web":"https://techcrunch.com/"},{"id":"techmeme","title":"Techmeme","web":"https://www.techmeme.com/"},{"id":"theblock","title":"The
49
+ Block","web":"https://www.theblock.co/"},{"id":"economist","title":"The Economist","web":"https://www.economist.com"},{"id":"guardian","title":"The
50
+ Guardian","web":"https://www.theguardian.com/"},{"id":"thehill","title":"The
51
+ Hill","web":"https://thehill.com/business/"},{"id":"hustle","title":"The Hustle","web":"https://thehustle.co/"},{"id":"theregister","title":"The
52
+ Register","web":"https://www.theregister.com/"},{"id":"thestreet","title":"The
53
+ Street","web":"https://www.thestreet.com/"},{"id":"thetrade","title":"The
54
+ Trade","web":"https://www.thetradenews.com/"},{"id":"theweek","title":"The
55
+ Week","web":"https://theweek.com/"},{"id":"tipranks","title":"Tipranks","web":"https://www.tipranks.com/"},{"id":"vox","title":"Vox","web":"https://www.vox.com"},{"id":"wsj","title":"Wall
56
+ Street Journal","web":"https://www.wsj.com/"},{"id":"wapo","title":"Washington
57
+ Post","web":"https://www.washingtonpost.com"},{"id":"wolfstreet","title":"Wolf
58
+ Street","web":"https://wolfstreet.com"},{"id":"yahoo_finance","title":"Yahoo
59
+ Finance","web":"https://finance.yahoo.com/news/"},{"id":"yougov","title":"YouGov","web":"https://today.yougov.com"},{"id":"youtube_networks","title":"Youtube","web":"https://www.youtube.com"},{"id":"zerohedge","title":"ZeroHedge","web":"https://www.zerohedge.com/"},{"id":"investors","title":"investors.com","web":"https://www.investors.com/"}]
60
+
61
+ '
62
+ headers:
63
+ CF-Cache-Status:
64
+ - DYNAMIC
65
+ CF-RAY:
66
+ - 8d46253b4f35c990-IAD
67
+ Cache-Control:
68
+ - no-store, no-cache, must-revalidate, max-age=0
69
+ Connection:
70
+ - keep-alive
71
+ Content-Encoding:
72
+ - gzip
73
+ Content-Type:
74
+ - application/json
75
+ Date:
76
+ - Fri, 18 Oct 2024 05:32:01 GMT
77
+ NEL:
78
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
79
+ Report-To:
80
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=6AJ37sdn9g018QqveznvFOUcc06J0MlsSB7CDEFKhN7XOhnexO7oUWGOx9%2BTeTH%2BUfbmxCFfUB9dRstLZUvq6koiunLgudzqseaUyrLMRwcL9G4TTGHbblRtT88%3D"}],"group":"cf-nel","max_age":604800}'
81
+ Server:
82
+ - RapidAPI-1.2.8
83
+ Strict-Transport-Security:
84
+ - max-age=31556926; includeSubDomains
85
+ Transfer-Encoding:
86
+ - chunked
87
+ Vary:
88
+ - Accept-Encoding, Cookie
89
+ X-RapidAPI-Region:
90
+ - AWS - us-east-1
91
+ X-RapidAPI-Request-Id:
92
+ - bb52b953b619ebdbae3d20f65f30c5041993d53bfcb4bd646a484856e7ad1bad
93
+ X-RapidAPI-Version:
94
+ - 1.2.8
95
+ X-RateLimit-Requests-Limit:
96
+ - '2000'
97
+ X-RateLimit-Requests-Remaining:
98
+ - '1914'
99
+ X-RateLimit-Requests-Reset:
100
+ - '1620568'
101
+ X-RateLimit-rapid-free-plans-hard-limit-Limit:
102
+ - '500000'
103
+ X-RateLimit-rapid-free-plans-hard-limit-Remaining:
104
+ - '499961'
105
+ X-RateLimit-rapid-free-plans-hard-limit-Reset:
106
+ - '1620568'
107
+ alt-svc:
108
+ - h3=":443"; ma=86400
109
+ permissions-policy:
110
+ - browsing-topics=()
111
+ referrer-policy:
112
+ - strict-origin-when-cross-origin
113
+ rndr-id:
114
+ - 96769602-78bc-4d9d
115
+ x-content-type-options:
116
+ - nosniff
117
+ x-render-origin-server:
118
+ - gunicorn
119
+ status:
120
+ code: 200
121
+ message: OK
122
+ - request:
123
+ body: null
124
+ headers:
125
+ Accept:
126
+ - application/json
127
+ Accept-Encoding:
128
+ - gzip
129
+ X-RapidAPI-Host:
130
+ - biztoc.p.rapidapi.com
131
+ X-RapidAPI-Key:
132
+ - MOCK_API_KEY
133
+ method: GET
134
+ uri: https://biztoc.p.rapidapi.com/news/source/bloomberg
135
+ response:
136
+ body:
137
+ string: !!binary |
138
+ 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
238
+ E83837/9PwAAAP//AwCUFTALXFsAAA==
239
+ headers:
240
+ CF-Cache-Status:
241
+ - DYNAMIC
242
+ CF-RAY:
243
+ - 8d46253e7fd558ba-IAD
244
+ Cache-Control:
245
+ - no-store, no-cache, must-revalidate, max-age=0
246
+ Connection:
247
+ - keep-alive
248
+ Content-Encoding:
249
+ - gzip
250
+ Content-Type:
251
+ - application/json
252
+ Date:
253
+ - Fri, 18 Oct 2024 05:32:01 GMT
254
+ NEL:
255
+ - '{"success_fraction":0,"report_to":"cf-nel","max_age":604800}'
256
+ Report-To:
257
+ - '{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=1jncDmrg1XfuP0IcLzSdFqxnDMUXcq%2FYLEq7Y47JCzrfHGKMIYKTdVDqO5wAJ1CDVG8lCorUMgO5Aw5pGQ4cBY8eGoB%2FI0iTPcN%2FHHf9%2Bz3zMUu9I%2FdQYPbfHmI%3D"}],"group":"cf-nel","max_age":604800}'
258
+ Server:
259
+ - RapidAPI-1.2.8
260
+ Strict-Transport-Security:
261
+ - max-age=31556926; includeSubDomains
262
+ Transfer-Encoding:
263
+ - chunked
264
+ Vary:
265
+ - Accept-Encoding, Cookie
266
+ X-RapidAPI-Region:
267
+ - AWS - us-east-1
268
+ X-RapidAPI-Request-Id:
269
+ - c9f0a6fb613c5c0a2361b3f48bba6dcc7bc83feaa827675cb22eb492b1669872
270
+ X-RapidAPI-Version:
271
+ - 1.2.8
272
+ X-RateLimit-Requests-Limit:
273
+ - '2000'
274
+ X-RateLimit-Requests-Remaining:
275
+ - '1913'
276
+ X-RateLimit-Requests-Reset:
277
+ - '1620568'
278
+ X-RateLimit-rapid-free-plans-hard-limit-Limit:
279
+ - '500000'
280
+ X-RateLimit-rapid-free-plans-hard-limit-Remaining:
281
+ - '499960'
282
+ X-RateLimit-rapid-free-plans-hard-limit-Reset:
283
+ - '1620568'
284
+ alt-svc:
285
+ - h3=":443"; ma=86400
286
+ permissions-policy:
287
+ - browsing-topics=()
288
+ referrer-policy:
289
+ - strict-origin-when-cross-origin
290
+ rndr-id:
291
+ - 8911030f-1e15-4bb9
292
+ x-content-type-options:
293
+ - nosniff
294
+ x-render-origin-server:
295
+ - gunicorn
296
+ status:
297
+ code: 200
298
+ message: OK
299
+ version: 1
openbb_platform/providers/biztoc/tests/test_biztoc_fetchers.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Tests for the Biztoc fetchers."""
2
+
3
+ import pytest
4
+ from openbb_biztoc.models.world_news import BiztocWorldNewsFetcher
5
+ from openbb_core.app.service.user_service import UserService
6
+
7
+ test_credentials = UserService().default_user_settings.credentials.model_dump(
8
+ mode="json"
9
+ )
10
+
11
+
12
+ @pytest.fixture(scope="module")
13
+ def vcr_config():
14
+ """VCR configuration."""
15
+ return {
16
+ "filter_headers": [
17
+ ("X-RapidAPI-Key", "MOCK_API_KEY"),
18
+ ("User-Agent", None),
19
+ ],
20
+ "filter_query_parameters": [
21
+ ("apikey", "MOCK_API_KEY"),
22
+ ],
23
+ }
24
+
25
+
26
+ @pytest.mark.record_http
27
+ def test_biztoc_world_news_fetcher(credentials=test_credentials):
28
+ """Test the Biztoc World News fetcher."""
29
+ params = {"source": "bloomberg"}
30
+
31
+ fetcher = BiztocWorldNewsFetcher()
32
+ result = fetcher.test(params, credentials)
33
+ assert result is None
openbb_platform/providers/bls/README.md ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # BLS Provider Extension
2
+
3
+ This extension integrates the BLS data provider into the OpenBB Platform.
4
+
5
+ ## Installation
6
+
7
+ To install this extension from PyPI:
8
+
9
+ ```console
10
+ pip install openbb-bls
11
+ ```
12
+
13
+ To install the extension locally, run the following command in this folder:
14
+
15
+ ```console
16
+ poetry install
17
+ ```
18
+
19
+ Documentation available [here](https://docs.openbb.co/platform/developer_guide/contributing).
openbb_platform/providers/bls/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """BLS Provider Extension."""
openbb_platform/providers/bls/openbb_bls/__init__.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """BLS Provider Module."""
2
+
3
+ from openbb_bls.models.search import BlsSearchFetcher
4
+ from openbb_bls.models.series import BlsSeriesFetcher
5
+ from openbb_core.provider.abstract.provider import Provider
6
+
7
+ bls_provider = Provider(
8
+ name="bls",
9
+ website="https://www.bls.gov/developers/api_signature_v2.htm",
10
+ description="The Bureau of Labor Statistics' (BLS) Public Data Application Programming Interface (API)"
11
+ + " gives the public access to economic data from all BLS programs."
12
+ + " It is the Bureau's hope that talented developers and programmers will use the BLS Public Data API to create"
13
+ + " original, inventive applications with published BLS data.",
14
+ credentials=["api_key"],
15
+ fetcher_dict={
16
+ "BlsSearch": BlsSearchFetcher,
17
+ "BlsSeries": BlsSeriesFetcher,
18
+ },
19
+ repr_name="Bureau of Labor Statistics' (BLS) Public Data API",
20
+ instructions="Sign up for a free API key here: https://data.bls.gov/registrationEngine/",
21
+ )
openbb_platform/providers/bls/openbb_bls/assets/__init__.py ADDED
@@ -0,0 +1 @@
 
 
1
+ """BLS Provider Static Assets."""
openbb_platform/providers/bls/openbb_bls/assets/bed_codes.json ADDED
@@ -0,0 +1,221 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bd": {
3
+ "msa_code": {
4
+ "00000": "National"
5
+ },
6
+ "state_code": {
7
+ "00": "U.S. totals",
8
+ "01": "Alabama",
9
+ "02": "Alaska",
10
+ "04": "Arizona",
11
+ "05": "Arkansas",
12
+ "06": "California",
13
+ "08": "Colorado",
14
+ "09": "Connecticut",
15
+ "10": "Delaware",
16
+ "11": "District of Columbia",
17
+ "12": "Florida",
18
+ "13": "Georgia",
19
+ "15": "Hawaii",
20
+ "16": "Idaho",
21
+ "17": "Illinois",
22
+ "18": "Indiana",
23
+ "19": "Iowa",
24
+ "20": "Kansas",
25
+ "21": "Kentucky",
26
+ "22": "Louisiana",
27
+ "23": "Maine",
28
+ "24": "Maryland",
29
+ "25": "Massachusetts",
30
+ "26": "Michigan",
31
+ "27": "Minnesota",
32
+ "28": "Mississippi",
33
+ "29": "Missouri",
34
+ "30": "Montana",
35
+ "31": "Nebraska",
36
+ "32": "Nevada",
37
+ "33": "New Hampshire",
38
+ "34": "New Jersey",
39
+ "35": "New Mexico",
40
+ "36": "New York",
41
+ "37": "North Carolina",
42
+ "38": "North Dakota",
43
+ "39": "Ohio",
44
+ "40": "Oklahoma",
45
+ "41": "Oregon",
46
+ "42": "Pennsylvania",
47
+ "44": "Rhode Island",
48
+ "45": "South Carolina",
49
+ "46": "South Dakota",
50
+ "47": "Tennessee",
51
+ "48": "Texas",
52
+ "49": "Utah",
53
+ "50": "Vermont",
54
+ "51": "Virginia",
55
+ "53": "Washington",
56
+ "54": "West Virginia",
57
+ "55": "Wisconsin",
58
+ "56": "Wyoming",
59
+ "72": "Puerto Rico",
60
+ "78": "Virgin Islands"
61
+ },
62
+ "county_code": {
63
+ "000": "National"
64
+ },
65
+ "industry_code": {
66
+ "000000": "Total private",
67
+ "100000": "Goods-producing",
68
+ "100010": "Natural resources and mining",
69
+ "100020": "Construction",
70
+ "100030": "Manufacturing",
71
+ "200000": "Service-providing",
72
+ "200010": "Wholesale trade",
73
+ "200020": "Retail trade",
74
+ "200030": "Transportation and warehousing",
75
+ "200040": "Utilities",
76
+ "200050": "Information",
77
+ "200060": "Financial activities",
78
+ "200070": "Professional and business services",
79
+ "200080": "Education and health services",
80
+ "200090": "Leisure and hospitality",
81
+ "200100": "Other services (except public administration)",
82
+ "300111": "Crop production",
83
+ "300112": "Animal production and aquaculture",
84
+ "300113": "Forestry and logging",
85
+ "300114": "Hunting, fishing, and trapping",
86
+ "300115": "Support activities for agriculture and forestry",
87
+ "300211": "Oil and gas extraction",
88
+ "300212": "Mining (except oil and gas)",
89
+ "300213": "Support activities for mining",
90
+ "300236": "Construction of buildings",
91
+ "300237": "Heavy and civil engineering construction",
92
+ "300238": "Specialty trade contractors",
93
+ "300311": "Food manufacturing",
94
+ "300312": "Beverage and tobacco product manufacturing",
95
+ "300313": "Textile mills",
96
+ "300314": "Textile product mills",
97
+ "300315": "Apparel manufacturing",
98
+ "300316": "Leather and allied product manufacturing",
99
+ "300321": "Wood product manufacturing",
100
+ "300322": "Paper Manufacturing",
101
+ "300323": "Printing and related support activities",
102
+ "300324": "Petroleum and coal products manufacturing",
103
+ "300325": "Chemical manufacturing",
104
+ "300326": "Plastics and rubber products manufacturing",
105
+ "300327": "Nonmetallic mineral product manufacturing",
106
+ "300331": "Primary metal manufacturing",
107
+ "300332": "Fabricated metal product manufacturing",
108
+ "300333": "Machinery manufacturing",
109
+ "300334": "Computer and electronic product manufacturing",
110
+ "300335": "Electrical equipment, appliance, and component manufacturing",
111
+ "300336": "Transportation equipment manufacturing",
112
+ "300337": "Furniture and related product manufacturing",
113
+ "300339": "Miscellaneous manufacturing",
114
+ "300423": "Merchant wholesalers, durable goods",
115
+ "300424": "Merchant wholesalers, nondurable goods",
116
+ "300425": "Wholesale trade agents and brokers",
117
+ "300441": "Motor vehicle and parts dealers",
118
+ "300444": "Building material and garden equipment and supplies dealers",
119
+ "300445": "Food and beverage stores",
120
+ "300481": "Air transportation",
121
+ "300483": "Water transportation",
122
+ "300484": "Truck transportation",
123
+ "300485": "Transit and ground passenger transportation",
124
+ "300486": "Pipeline transportation",
125
+ "300487": "Scenic and sightseeing transportation",
126
+ "300488": "Support activities for transportation",
127
+ "300492": "Couriers and messengers",
128
+ "300493": "Warehousing and storage",
129
+ "300512": "Motion picture and sound recording industries",
130
+ "300517": "Telecommunications",
131
+ "300518": "Computing infracstructure providers, data processing, web hosting, and related services",
132
+ "300519": "Web search portals, libraries, archives, and other information services",
133
+ "300522": "Credit intermediation and related activities",
134
+ "300523": "Securities, commodity contracts, and other financial investments and related activities",
135
+ "300524": "Insurance carriers and related activities",
136
+ "300525": "Funds, trusts, and other financial vehicles",
137
+ "300531": "Real estate",
138
+ "300532": "Rental and leasing services",
139
+ "300533": "Lessors of nonfinancial intangible assets (except copyrighted works)",
140
+ "300541": "Professional, scientific, and technical services",
141
+ "300551": "Management of companies and enterprises",
142
+ "300561": "Administrative and support services",
143
+ "300562": "Waste management and remediation services",
144
+ "300611": "Educational services",
145
+ "300621": "Ambulatory health care services",
146
+ "300622": "Hospitals",
147
+ "300623": "Nursing and residential care facilities",
148
+ "300624": "Social assistance",
149
+ "300711": "Performing arts, spectator sports, and related industries",
150
+ "300712": "Museums, historical sites, and similar institutions",
151
+ "300713": "Amusement, gambling, and recreation industries",
152
+ "300721": "Accommodation",
153
+ "300722": "Food services and drinking places",
154
+ "300811": "Repair and maintenance",
155
+ "300812": "Personal and laundry services",
156
+ "300813": "Religious, grantmaking, civic, professional, and similar organizations"
157
+ },
158
+ "unitanalysis_code": {
159
+ "1": "Establishment"
160
+ },
161
+ "dataelement_code": {
162
+ "1": "Employment",
163
+ "2": "Number of Establishments"
164
+ },
165
+ "sizeclass_code": {
166
+ "00": "All size classes",
167
+ "01": "1 to 4 employees",
168
+ "02": "5 to 9 employees",
169
+ "03": "10 to 19 employees",
170
+ "04": "20 to 49 employees",
171
+ "05": "50 to 99 employees",
172
+ "06": "100 to 249 employees",
173
+ "07": "250 to 499 employees",
174
+ "08": "500 to 999 employees",
175
+ "09": "1,000 or more employees",
176
+ "10": "1 job",
177
+ "11": "2 jobs",
178
+ "12": "3 jobs",
179
+ "13": "4 jobs",
180
+ "14": "5 jobs",
181
+ "15": "6 jobs",
182
+ "16": "7 jobs",
183
+ "17": "8 jobs",
184
+ "18": "9 jobs",
185
+ "19": "10 jobs",
186
+ "20": "11-14 jobs",
187
+ "21": "15-19 jobs",
188
+ "22": "20-24 jobs",
189
+ "23": "25-29 jobs",
190
+ "24": "30-39 jobs",
191
+ "25": "40-49 jobs",
192
+ "26": "50-74 jobs",
193
+ "27": "75-99 jobs",
194
+ "28": "100 or more jobs",
195
+ "31": "1 to 4 jobs",
196
+ "32": "5 to 19 jobs",
197
+ "33": "20 or more jobs"
198
+ },
199
+ "dataclass_code": {
200
+ "01": "Gross Job Gains",
201
+ "02": "Expansions",
202
+ "03": "Openings",
203
+ "04": "Gross Job Losses",
204
+ "05": "Contractions",
205
+ "06": "Closings",
206
+ "07": "Establishment Births",
207
+ "08": "Establishment Deaths"
208
+ },
209
+ "ratelevel_code": {
210
+ "L": "Level",
211
+ "R": "Rate"
212
+ },
213
+ "ownership_code": {
214
+ "5": "Private Sector"
215
+ },
216
+ "footnote_code": {
217
+ "1": "Total private includes unclassified sector, not shown separately",
218
+ "2": "An administrative event occurred during this quarter"
219
+ }
220
+ }
221
+ }
openbb_platform/providers/bls/openbb_bls/assets/bed_series.xz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16f64094e475d68e6e932ff196b719a5e762beb702b8d1ab1ecb3d4ab07646c7
3
+ size 170164
openbb_platform/providers/bls/openbb_bls/assets/bls_assets.json ADDED
The diff for this file is too large to render. See raw diff
 
openbb_platform/providers/bls/openbb_bls/assets/cpi_codes.json ADDED
@@ -0,0 +1,1199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "ap": {
3
+ "area_code": {
4
+ "0000": "U.S. city average",
5
+ "0100": "Northeast",
6
+ "0110": "New England",
7
+ "0120": "Middle Atlantic",
8
+ "0200": "Midwest",
9
+ "0230": "East North Central",
10
+ "0240": "West North Central",
11
+ "0300": "South",
12
+ "0350": "South Atlantic",
13
+ "0360": "East South Central",
14
+ "0370": "West South Central",
15
+ "0400": "West",
16
+ "0480": "Mountain",
17
+ "0490": "Pacific",
18
+ "A104": "Pittsburgh, PA",
19
+ "A105": "Buffalo-Niagara Falls, NY",
20
+ "A106": "Scranton, PA",
21
+ "A210": "Cleveland-Akron, OH",
22
+ "A212": "Milwaukee-Racine, WI",
23
+ "A213": "Cincinnati-Hamilton, OH-KY-IN",
24
+ "A214": "Kansas City, MO-KS",
25
+ "A311": "Washington-Baltimore, DC-MD-VA-WV",
26
+ "A315": "Washington, DC-MD-VA",
27
+ "A317": "Baltimore, MD",
28
+ "A421": "Los Angeles-Riverside-Orange County, CA",
29
+ "A425": "Portland-Salem, OR-WA",
30
+ "B000": "City size B",
31
+ "B100": "Northeast size B",
32
+ "B200": "North Central size B",
33
+ "B300": "South size B",
34
+ "B400": "West size B",
35
+ "C000": "City size C",
36
+ "C100": "Northeast size C",
37
+ "C200": "North Central size C",
38
+ "C300": "South size C",
39
+ "C400": "West size C",
40
+ "D000": "Size Class D",
41
+ "D100": "Northeast - Size Class D",
42
+ "D200": "Midwest - Size Class D",
43
+ "D300": "South - Size Class D",
44
+ "D400": "West - Size Class D",
45
+ "N000": "Size Class B/C",
46
+ "N100": "Northeast - Size Class B/C",
47
+ "N200": "Midwest - Size Class B/C",
48
+ "N300": "South - Size Class B/C",
49
+ "N400": "West - Size Class B/C",
50
+ "S000": "Size Class A",
51
+ "S100": "Northeast - Size Class A",
52
+ "S11A": "Boston-Cambridge-Newton, MA-NH",
53
+ "S12A": "New York-Newark-Jersey City, NY-NJ-PA",
54
+ "S12B": "Philadelphia-Camden-Wilmington, PA-NJ-DE-MD",
55
+ "S200": "Midwest - Size Class A",
56
+ "S23A": "Chicago-Naperville-Elgin, IL-IN-WI",
57
+ "S23B": "Detroit-Warren-Dearborn, MI",
58
+ "S24A": "Minneapolis-St.Paul-Bloomington, MN-WI",
59
+ "S24B": "St. Louis, MO-IL",
60
+ "S300": "South - Size Class A",
61
+ "S35A": "Washington-Arlington-Alexandria, DC-VA-MD-WV",
62
+ "S35B": "Miami-Fort Lauderdale-West Palm Beach, FL",
63
+ "S35C": "Atlanta-Sandy Springs-Roswell, GA",
64
+ "S35D": "Tampa-St. Petersburg-Clearwater, FL",
65
+ "S35E": "Baltimore-Columbia-Towson, MD",
66
+ "S37A": "Dallas-Fort Worth-Arlington, TX",
67
+ "S37B": "Houston-The Woodlands-Sugar Land, TX",
68
+ "S400": "West - Size Class A",
69
+ "S48A": "Phoenix-Mesa-Scottsdale, AZ",
70
+ "S48B": "Denver-Aurora-Lakewood, CO",
71
+ "S49A": "Los Angeles-Long Beach-Anaheim, CA",
72
+ "S49B": "San Francisco-Oakland-Hayward, CA",
73
+ "S49C": "Riverside-San Bernardino-Ontario, CA",
74
+ "S49D": "Seattle-Tacoma-Bellevue WA",
75
+ "S49E": "San Diego-Carlsbad, CA",
76
+ "S49F": "Urban Hawaii",
77
+ "S49G": "Urban Alaska"
78
+ },
79
+ "item_code": {
80
+ "701111": "Flour, white, all purpose, per lb. (453.6 gm)",
81
+ "701311": "Rice, white, long grain, precooked (cost per pound/453.6 grams)",
82
+ "701312": "Rice, white, long grain, uncooked, per lb. (453.6 gm)",
83
+ "701321": "Spaghetti (cost per pound/453.6 grams)",
84
+ "701322": "Spaghetti and macaroni, per lb. (453.6 gm)",
85
+ "702111": "Bread, white, pan, per lb. (453.6 gm)",
86
+ "702112": "Bread, French, per lb. (453.6 gm)",
87
+ "702211": "Bread, rye, pan (cost per pound/453.6 grams)",
88
+ "702212": "Bread, whole wheat, pan, per lb. (453.6 gm)",
89
+ "702213": "Bread, wheat blend, pan (cost per pound/453.6 grams)",
90
+ "702221": "Rolls, hamburger (cost per pound/453.6 grams)",
91
+ "702411": "Cupcakes, chocolate (cost per pound/453.6 grams)",
92
+ "702421": "Cookies, chocolate chip, per lb. (453.6 gm)",
93
+ "702611": "Crackers, soda, salted, per lb. (453.6 gm)",
94
+ "703111": "Ground chuck, 100% beef, per lb. (453.6 gm)",
95
+ "703112": "Ground beef, 100% beef, per lb. (453.6 gm)",
96
+ "703113": "Ground beef, lean and extra lean, per lb. (453.6 gm)",
97
+ "703211": "Chuck roast, USDA Choice, bone-in, per lb. (453.6 gm)",
98
+ "703212": "Chuck roast, graded and ungraded, excluding USDA Prime and Choice, per lb. (453.6 gm)",
99
+ "703213": "Chuck roast, USDA Choice, boneless, per lb. (453.6 gm)",
100
+ "703311": "Round roast, USDA Choice, boneless, per lb. (453.6 gm)",
101
+ "703312": "Round roast, graded and ungraded, excluding USDA Prime and Choice, per lb. (453.6 gm)",
102
+ "703411": "Rib roast, USDA Choice, bone-in, per lb. (453.6 gm)",
103
+ "703421": "Steak, chuck, U.S. choice, bone-in (cost per pound/453.6 grams)",
104
+ "703422": "Steak, T-Bone, USDA Choice, bone-in, per lb. (453.6 gm)",
105
+ "703423": "Steak, porterhouse, U.S. choice, bone-in (cost per pound/453.6 grams)",
106
+ "703425": "Steak, rib eye, USDA Choice, boneless, per lb. (453.6 gm)",
107
+ "703431": "Short ribs, any primal source, bone-in, per lb. (453.6 gm)",
108
+ "703432": "Beef for stew, boneless, per lb. (453.6 gm)",
109
+ "703511": "Steak, round, USDA Choice, boneless, per lb. (453.6 gm)",
110
+ "703512": "Steak, round, graded and ungraded, excluding USDA Prime and Choice, per lb. (453.6 gm)",
111
+ "703611": "Steak, sirloin, USDA Choice, bone-in, per lb. (453.6 gm)",
112
+ "703612": "Steak, sirloin, graded and ungraded, excluding USDA Prime and Choice, per lb. (453.6 gm)",
113
+ "703613": "Steak, sirloin, USDA Choice, boneless, per lb. (453.6 gm)",
114
+ "704111": "Bacon, sliced, per lb. (453.6 gm)",
115
+ "704211": "Chops, center cut, bone-in, per lb. (453.6 gm)",
116
+ "704212": "Chops, boneless, per lb. (453.6 gm)",
117
+ "704311": "Ham, rump or shank half, bone-in, smoked,per lb. (453.6 gm)",
118
+ "704312": "Ham, boneless, excluding canned, per lb. (453.6 gm)",
119
+ "704313": "Ham, rump portion, bone-in, smoked (cost per pound/453.6 grams)",
120
+ "704314": "Ham, shank portion, bone-in, smoked (cost per pound/453.6 grams)",
121
+ "704321": "Ham, canned, 3 or 5 lbs, per lb. (453.6 gm)",
122
+ "704411": "Pork shoulder roast, blade boston, bone-in (cost per pound/453.6 grams)",
123
+ "704412": "Pork sirloin roast, bone-in (cost per pound/453.6 grams)",
124
+ "704413": "Shoulder picnic, bone-in, smoked, per lb. (453.6 gm)",
125
+ "704421": "Sausage, fresh, loose, per lb. (453.6 gm)",
126
+ "705111": "Frankfurters, all meat or all beef, per lb. (453.6 gm)",
127
+ "705121": "Bologna, all beef or mixed, per lb. (453.6 gm)",
128
+ "705141": "Beef liver (cost per pound/453.6 grams)",
129
+ "705142": "Lamb and mutton, bone-in, per lb. (453.6 gm)",
130
+ "706111": "Chicken, fresh, whole, per lb. (453.6 gm)",
131
+ "706211": "Chicken breast, bone-in, per lb. (453.6 gm)",
132
+ "706212": "Chicken legs, bone-in, per lb. (453.6 gm)",
133
+ "706311": "Turkey, frozen, whole, per lb. (453.6 gm)",
134
+ "707111": "Tuna, light, chunk, per lb. (453.6 gm)",
135
+ "708111": "Eggs, grade A, large, per doz.",
136
+ "708112": "Eggs, grade AA, large, per doz.",
137
+ "709111": "Milk, fresh, whole, fortified, per 1/2 gal. (1.9 lit)",
138
+ "709112": "Milk, fresh, whole, fortified, per gal. (3.8 lit)",
139
+ "709211": "Milk, fresh, skim (cost per one-half gallon/1.9 liters)",
140
+ "709212": "Milk, fresh, low fat, per 1/2 gal. (1.9 lit)",
141
+ "709213": "Milk, fresh, low fat, per gal. (3.8 lit)",
142
+ "710111": "Butter, salted, grade AA, stick, per lb. (453.6 gm)",
143
+ "710122": "Yogurt, natural, fruit flavored, per 8 oz. (226.8 gm)",
144
+ "710211": "American processed cheese, per lb. (453.6 gm)",
145
+ "710212": "Cheddar cheese, natural, per lb. (453.6 gm)",
146
+ "710411": "Ice cream, prepackaged, bulk, regular, per 1/2 gal. (1.9 lit)",
147
+ "711111": "Apples, Red Delicious, per lb. (453.6 gm)",
148
+ "711211": "Bananas, per lb. (453.6 gm)",
149
+ "711311": "Oranges, Navel, per lb. (453.6 gm)",
150
+ "711312": "Oranges, Valencia, per lb. (453.6 gm)",
151
+ "711411": "Grapefruit, per lb. (453.6 gm)",
152
+ "711412": "Lemons, per lb. (453.6 gm)",
153
+ "711413": "Pears, Anjou, per lb. (453.6 gm)",
154
+ "711414": "Peaches, per lb. (453.6 gm)",
155
+ "711415": "Strawberries, dry pint, per 12 oz. (340.2 gm)",
156
+ "711416": "Grapes, Emperor or Tokay (cost per pound/453.6 grams)",
157
+ "711417": "Grapes, Thompson Seedless, per lb. (453.6 gm)",
158
+ "711418": "Cherries, per lb. (453.6 gm)",
159
+ "712111": "Potatoes, white (cost per pound/453.6 grams)",
160
+ "712112": "Potatoes, white, per lb. (453.6 gm)",
161
+ "712211": "Lettuce, iceberg, per lb. (453.6 gm)",
162
+ "712311": "Tomatoes, field grown, per lb. (453.6 gm)",
163
+ "712401": "Cabbage, per lb. (453.6 gm)",
164
+ "712402": "Celery, per lb. (453.6 gm)",
165
+ "712403": "Carrots, short trimmed and topped, per lb. (453.6 gm)",
166
+ "712404": "Onions, dry yellow, per lb. (453.6 gm)",
167
+ "712405": "Onions, green scallions (cost per pound/453.6 grams)",
168
+ "712406": "Peppers, sweet, per lb. (453.6 gm)",
169
+ "712407": "Corn on the cob, per lb. (453.6 gm)",
170
+ "712408": "Radishes (cost per pound/453.6 grams)",
171
+ "712409": "Cucumbers, per lb. (453.6 gm)",
172
+ "712410": "Beans, green, snap (cost per pound/453.6 grams)",
173
+ "712411": "Mushrooms (cost per pound/453.6 grams)",
174
+ "712412": "Broccoli, per lb. (453.6 gm)",
175
+ "713111": "Orange juice, frozen concentrate, 12 oz. can, per 16 oz. (473.2 ml)",
176
+ "713311": "Apple Sauce, any variety, all sizes, per lb. (453.6 gm)",
177
+ "713312": "Peaches, any variety, all sizes, per lb. (453.6 gm)",
178
+ "714111": "Potatoes, frozen, French fried, per lb. (453.6 gm)",
179
+ "714221": "Corn, canned, any style, all sizes, per lb. (453.6 gm)",
180
+ "714231": "Tomatoes, canned, whole, per lb. (453.6 gm)",
181
+ "714232": "Tomatoes, canned, any type, all sizes, per lb. (453.6 gm)",
182
+ "714233": "Beans, dried, any type, all sizes, per lb. (453.6 gm)",
183
+ "715111": "Hard candy, solid (cost per pound/453.6 grams)",
184
+ "715211": "Sugar, white, all sizes, per lb. (453.6 gm)",
185
+ "715212": "Sugar, white, 33-80 oz. pkg, per lb. (453.6 gm)",
186
+ "715311": "Jelly (cost per pound/453.6 grams)",
187
+ "716111": "Margarine, vegetable oil blends, stick (cost per pound/453.6 grams)",
188
+ "716113": "Margarine, vegetable oil blends, soft, tubs (cost per pound/453.6 grams)",
189
+ "716114": "Margarine, stick, per lb. (453.6 gm)",
190
+ "716116": "Margarine, soft, tubs, per lb. (453.6 gm)",
191
+ "716121": "Shortening, vegetable oil blends, per lb. (453.6 gm)",
192
+ "716141": "Peanut butter, creamy, all sizes, per lb. (453.6 gm)",
193
+ "717111": "Cola, non-diet, return bottles, 6 or 8 pack (cost per 16 ounces/473.2 ml)",
194
+ "717112": "Cola, non diet, return bottles, 24-40 ounce (cost per 16 ounces/473.2 ml)",
195
+ "717113": "Cola, nondiet, cans, 72 oz. 6 pk., per 16 oz. (473.2 ml)",
196
+ "717114": "Cola, nondiet, per 2 liters (67.6 oz)",
197
+ "717311": "Coffee, 100%, ground roast, all sizes, per lb. (453.6 gm)",
198
+ "717312": "Coffee, 100%, ground roast, 13.1-20 oz. can, per lb. (453.6 gm)",
199
+ "717324": "Coffee, instant, plain, regular, 6.1-14 ounce (cost per 16 ounces/453.6 grams)",
200
+ "717325": "Coffee, freeze dried, regular, all sizes (cost per 16 ounces/453.6 grams)",
201
+ "717326": "Coffee, freeze dried, decaf., all sizes (cost per 16 ounces/453.6 grams)",
202
+ "717327": "Coffee, instant, plain, regular, all sizes, per lb. (453.6 gm)",
203
+ "717411": "Coffee, instant, plain, 9.1-14 ounce (cost per 16 ounces/453.6 grams)",
204
+ "717412": "Coffee, instant, plain, 3.1-6 ounce (cost per 16 ounces/453.6 grams)",
205
+ "717413": "Coffee, freeze dried, plain, 3.1-9 ounce (cost per 16 ounces/453.6 grams)",
206
+ "718311": "Potato chips, per 16 oz.",
207
+ "718631": "Pork and beans, canned (cost per 16 ounces/453.6 grams)",
208
+ "720111": "Malt beverages, all types, all sizes, any origin, per 16 oz. (473.2 ml)",
209
+ "720211": "Bourbon whiskey, 375 ml-1.75 liter (cost per 25.4 ounces/750 ml)",
210
+ "720221": "Vodka, domestic, 375 ml-1.75 liter (cost per 25.4 ounces/750 ml)",
211
+ "720222": "Vodka, all types, all sizes, any origin, per 1 liter (33.8 oz)",
212
+ "720311": "Wine, red and white table, all sizes, any origin, per 1 liter (33.8 oz)",
213
+ "72511": "Fuel oil #2 per gallon (3.785 liters)",
214
+ "72601": "Utility (piped) gas - 40 therms",
215
+ "72610": "Electricity per KWH",
216
+ "72611": "Utility (piped) gas - 100 therms",
217
+ "72620": "Utility (piped) gas per therm",
218
+ "72621": "Electricity per 500 KWH",
219
+ "74712": "Gasoline, leaded regular (cost per gallon/3.8 liters)",
220
+ "74713": "Gasoline, leaded premium (cost per gallon/3.8 liters)",
221
+ "74714": "Gasoline, unleaded regular, per gallon/3.785 liters",
222
+ "74715": "Gasoline, unleaded midgrade, per gallon/3.785 liters",
223
+ "74716": "Gasoline, unleaded premium, per gallon/3.785 liters",
224
+ "74717": "Automotive diesel fuel, per gallon/3.785 liters",
225
+ "7471A": "Gasoline, all types, per gallon/3.785 liters",
226
+ "FC1101": "All uncooked ground beef, per lb. (453.6 gm)",
227
+ "FC2101": "All Uncooked Beef Roasts, per lb. (453.6 gm)",
228
+ "FC3101": "All Uncooked Beef Steaks, per lb. (453.6 gm)",
229
+ "FC4101": "All Uncooked Other Beef (Excluding Veal), per lb. (453.6 gm)",
230
+ "FD2101": "All Ham (Excluding Canned Ham and Luncheon Slices), per lb. (453.6 gm)",
231
+ "FD3101": "All Pork Chops, per lb. (453.6 gm)",
232
+ "FD4101": "All Other Pork (Excluding Canned Ham and Luncheon Slices), per lb. (453.6 gm)",
233
+ "FF1101": "Chicken breast, boneless, per lb. (453.6 gm)",
234
+ "FJ1101": "Milk, fresh, low-fat, reduced fat, skim, per gal. (3.8 lit)",
235
+ "FJ4101": "Yogurt, per 8 oz. (226.8 gm)",
236
+ "FL2101": "Lettuce, romaine, per lb. (453.6 gm)",
237
+ "FN1101": "All soft drinks, per 2 liters (67.6 oz)",
238
+ "FN1102": "All soft drinks, 12 pk, 12 oz., cans, per 12 oz. (354.9 ml)",
239
+ "FS1101": "Butter, stick, per lb. (453.6 gm)"
240
+ }
241
+ },
242
+ "cu": {
243
+ "area_code": {
244
+ "0000": "U.S. city average",
245
+ "0100": "Northeast",
246
+ "0110": "New England",
247
+ "0120": "Middle Atlantic",
248
+ "0200": "Midwest",
249
+ "0230": "East North Central",
250
+ "0240": "West North Central",
251
+ "0300": "South",
252
+ "0350": "South Atlantic",
253
+ "0360": "East South Central",
254
+ "0370": "West South Central",
255
+ "0400": "West",
256
+ "0480": "Mountain",
257
+ "0490": "Pacific",
258
+ "A104": "Pittsburgh, PA",
259
+ "A210": "Cleveland-Akron, OH",
260
+ "A212": "Milwaukee-Racine, WI",
261
+ "A213": "Cincinnati-Hamilton, OH-KY-IN",
262
+ "A214": "Kansas City, MO-KS",
263
+ "A311": "Washington-Baltimore, DC-MD-VA-WV",
264
+ "A421": "Los Angeles-Riverside-Orange County, CA",
265
+ "A425": "Portland-Salem, OR-WA",
266
+ "D000": "Size Class D",
267
+ "D200": "Midwest - Size Class D",
268
+ "D300": "South - Size Class D",
269
+ "N000": "Size Class B/C",
270
+ "N100": "Northeast - Size Class B/C",
271
+ "N200": "Midwest - Size Class B/C",
272
+ "N300": "South - Size Class B/C",
273
+ "N400": "West - Size Class B/C",
274
+ "S000": "Size Class A",
275
+ "S100": "Northeast - Size Class A",
276
+ "S11A": "Boston-Cambridge-Newton, MA-NH",
277
+ "S12A": "New York-Newark-Jersey City, NY-NJ-PA",
278
+ "S12B": "Philadelphia-Camden-Wilmington, PA-NJ-DE-MD",
279
+ "S200": "Midwest - Size Class A",
280
+ "S23A": "Chicago-Naperville-Elgin, IL-IN-WI",
281
+ "S23B": "Detroit-Warren-Dearborn, MI",
282
+ "S24A": "Minneapolis-St.Paul-Bloomington, MN-WI",
283
+ "S24B": "St. Louis, MO-IL",
284
+ "S300": "South - Size Class A",
285
+ "S35A": "Washington-Arlington-Alexandria, DC-VA-MD-WV",
286
+ "S35B": "Miami-Fort Lauderdale-West Palm Beach, FL",
287
+ "S35C": "Atlanta-Sandy Springs-Roswell, GA",
288
+ "S35D": "Tampa-St. Petersburg-Clearwater, FL",
289
+ "S35E": "Baltimore-Columbia-Towson, MD",
290
+ "S37A": "Dallas-Fort Worth-Arlington, TX",
291
+ "S37B": "Houston-The Woodlands-Sugar Land, TX",
292
+ "S400": "West - Size Class A",
293
+ "S48A": "Phoenix-Mesa-Scottsdale, AZ",
294
+ "S48B": "Denver-Aurora-Lakewood, CO",
295
+ "S49A": "Los Angeles-Long Beach-Anaheim, CA",
296
+ "S49B": "San Francisco-Oakland-Hayward, CA",
297
+ "S49C": "Riverside-San Bernardino-Ontario, CA",
298
+ "S49D": "Seattle-Tacoma-Bellevue WA",
299
+ "S49E": "San Diego-Carlsbad, CA",
300
+ "S49F": "Urban Hawaii",
301
+ "S49G": "Urban Alaska"
302
+ },
303
+ "item_code": {
304
+ "AA0": "All items - old base",
305
+ "AA0R": "Purchasing power of the consumer dollar - old base",
306
+ "SA0": "All items",
307
+ "SA0E": "Energy",
308
+ "SA0L1": "All items less food",
309
+ "SA0L12": "All items less food and shelter",
310
+ "SA0L12E": "All items less food, shelter, and energy",
311
+ "SA0L12E4": "All items less food, shelter, energy, and used cars and trucks",
312
+ "SA0L1E": "All items less food and energy",
313
+ "SA0L2": "All items less shelter",
314
+ "SA0L5": "All items less medical care",
315
+ "SA0LE": "All items less energy",
316
+ "SA0R": "Purchasing power of the consumer dollar",
317
+ "SA311": "Apparel less footwear",
318
+ "SAA": "Apparel",
319
+ "SAA1": "Men's and boys' apparel",
320
+ "SAA2": "Women's and girls' apparel",
321
+ "SAC": "Commodities",
322
+ "SACE": "Energy commodities",
323
+ "SACL1": "Commodities less food",
324
+ "SACL11": "Commodities less food and beverages",
325
+ "SACL1E": "Commodities less food and energy commodities",
326
+ "SACL1E4": "Commodities less food, energy, and used cars and trucks",
327
+ "SAD": "Durables",
328
+ "SAE": "Education and communication",
329
+ "SAE1": "Education",
330
+ "SAE2": "Communication",
331
+ "SAE21": "Information and information processing",
332
+ "SAEC": "Education and communication commodities",
333
+ "SAES": "Education and communication services",
334
+ "SAF": "Food and beverages",
335
+ "SAF1": "Food",
336
+ "SAF11": "Food at home",
337
+ "SAF111": "Cereals and bakery products",
338
+ "SAF112": "Meats, poultry, fish, and eggs",
339
+ "SAF1121": "Meats, poultry, and fish",
340
+ "SAF11211": "Meats",
341
+ "SAF113": "Fruits and vegetables",
342
+ "SAF1131": "Fresh fruits and vegetables",
343
+ "SAF114": "Nonalcoholic beverages and beverage materials",
344
+ "SAF115": "Other food at home",
345
+ "SAF116": "Alcoholic beverages",
346
+ "SAG": "Other goods and services",
347
+ "SAG1": "Personal care",
348
+ "SAGC": "Other goods",
349
+ "SAGS": "Other personal services",
350
+ "SAH": "Housing",
351
+ "SAH1": "Shelter",
352
+ "SAH2": "Fuels and utilities",
353
+ "SAH21": "Household energy",
354
+ "SAH3": "Household furnishings and operations",
355
+ "SAH31": "Household furnishings and supplies",
356
+ "SAM": "Medical care",
357
+ "SAM1": "Medical care commodities",
358
+ "SAM2": "Medical care services",
359
+ "SAN": "Nondurables",
360
+ "SAN1D": "Domestically produced farm food",
361
+ "SANL1": "Nondurables less food",
362
+ "SANL11": "Nondurables less food and beverages",
363
+ "SANL113": "Nondurables less food, beverages, and apparel",
364
+ "SANL13": "Nondurables less food and apparel",
365
+ "SAR": "Recreation",
366
+ "SARC": "Recreation commodities",
367
+ "SARS": "Recreation services",
368
+ "SAS": "Services",
369
+ "SAS24": "Utilities and public transportation",
370
+ "SAS2RS": "Rent of shelter",
371
+ "SAS367": "Other services",
372
+ "SAS4": "Transportation services",
373
+ "SASL2RS": "Services less rent of shelter",
374
+ "SASL5": "Services less medical care services",
375
+ "SASLE": "Services less energy services",
376
+ "SAT": "Transportation",
377
+ "SAT1": "Private transportation",
378
+ "SATCLTB": "Transportation commodities less motor fuel",
379
+ "SEAA": "Men's apparel",
380
+ "SEAA01": "Men's suits, sport coats, and outerwear",
381
+ "SEAA02": "Men's underwear, nightwear, swimwear and accessories",
382
+ "SEAA03": "Men's shirts and sweaters",
383
+ "SEAA04": "Men's pants and shorts",
384
+ "SEAB": "Boys' apparel",
385
+ "SEAC": "Women's apparel",
386
+ "SEAC01": "Women's outerwear",
387
+ "SEAC02": "Women's dresses",
388
+ "SEAC03": "Women's suits and separates",
389
+ "SEAC04": "Women's underwear, nightwear, swimwear and accessories",
390
+ "SEAD": "Girls' apparel",
391
+ "SEAE": "Footwear",
392
+ "SEAE01": "Men's footwear",
393
+ "SEAE02": "Boys' and girls' footwear",
394
+ "SEAE03": "Women's footwear",
395
+ "SEAF": "Infants' and toddlers' apparel",
396
+ "SEAG": "Jewelry and watches",
397
+ "SEAG01": "Watches",
398
+ "SEAG02": "Jewelry",
399
+ "SEEA": "Educational books and supplies",
400
+ "SEEB": "Tuition, other school fees, and childcare",
401
+ "SEEB01": "College tuition and fees",
402
+ "SEEB02": "Elementary and high school tuition and fees",
403
+ "SEEB03": "Day care and preschool",
404
+ "SEEB04": "Technical and business school tuition and fees",
405
+ "SEEC": "Postage and delivery services",
406
+ "SEEC01": "Postage",
407
+ "SEEC02": "Delivery services",
408
+ "SEED": "Telephone services",
409
+ "SEED03": "Wireless telephone services",
410
+ "SEED04": "Residential telephone services",
411
+ "SEEE": "Information technology, hardware and services",
412
+ "SEEE01": "Computers, peripherals, and smart home assistants",
413
+ "SEEE02": "Computer software and accessories",
414
+ "SEEE03": "Internet services and electronic information providers",
415
+ "SEEE04": "Telephone hardware, calculators, and other consumer information items",
416
+ "SEEEC": "Information technology commodities",
417
+ "SEFA": "Cereals and cereal products",
418
+ "SEFA01": "Flour and prepared flour mixes",
419
+ "SEFA02": "Breakfast cereal",
420
+ "SEFA03": "Rice, pasta, cornmeal",
421
+ "SEFB": "Bakery products",
422
+ "SEFB01": "Bread",
423
+ "SEFB02": "Fresh biscuits, rolls, muffins",
424
+ "SEFB03": "Cakes, cupcakes, and cookies",
425
+ "SEFB04": "Other bakery products",
426
+ "SEFC": "Beef and veal",
427
+ "SEFC01": "Uncooked ground beef",
428
+ "SEFC02": "Uncooked beef roasts",
429
+ "SEFC03": "Uncooked beef steaks",
430
+ "SEFC04": "Uncooked other beef and veal",
431
+ "SEFD": "Pork",
432
+ "SEFD01": "Bacon, breakfast sausage, and related products",
433
+ "SEFD02": "Ham",
434
+ "SEFD03": "Pork chops",
435
+ "SEFD04": "Other pork including roasts, steaks, and ribs",
436
+ "SEFE": "Other meats",
437
+ "SEFF": "Poultry",
438
+ "SEFF01": "Chicken",
439
+ "SEFF02": "Other uncooked poultry including turkey",
440
+ "SEFG": "Fish and seafood",
441
+ "SEFG01": "Fresh fish and seafood",
442
+ "SEFG02": "Processed fish and seafood",
443
+ "SEFH": "Eggs",
444
+ "SEFJ": "Dairy and related products",
445
+ "SEFJ01": "Milk",
446
+ "SEFJ02": "Cheese and related products",
447
+ "SEFJ03": "Ice cream and related products",
448
+ "SEFJ04": "Other dairy and related products",
449
+ "SEFK": "Fresh fruits",
450
+ "SEFK01": "Apples",
451
+ "SEFK02": "Bananas",
452
+ "SEFK03": "Citrus fruits",
453
+ "SEFK04": "Other fresh fruits",
454
+ "SEFL": "Fresh vegetables",
455
+ "SEFL01": "Potatoes",
456
+ "SEFL02": "Lettuce",
457
+ "SEFL03": "Tomatoes",
458
+ "SEFL04": "Other fresh vegetables",
459
+ "SEFM": "Processed fruits and vegetables",
460
+ "SEFM01": "Canned fruits and vegetables",
461
+ "SEFM02": "Frozen fruits and vegetables",
462
+ "SEFM03": "Other processed fruits and vegetables including dried",
463
+ "SEFN": "Juices and nonalcoholic drinks",
464
+ "SEFN01": "Carbonated drinks",
465
+ "SEFN02": "Frozen noncarbonated juices and drinks",
466
+ "SEFN03": "Nonfrozen noncarbonated juices and drinks",
467
+ "SEFP": "Beverage materials including coffee and tea",
468
+ "SEFP01": "Coffee",
469
+ "SEFP02": "Other beverage materials including tea",
470
+ "SEFR": "Sugar and sweets",
471
+ "SEFR01": "Sugar and sugar substitutes",
472
+ "SEFR02": "Candy and chewing gum",
473
+ "SEFR03": "Other sweets",
474
+ "SEFS": "Fats and oils",
475
+ "SEFS01": "Butter and margarine",
476
+ "SEFS02": "Salad dressing",
477
+ "SEFS03": "Other fats and oils including peanut butter",
478
+ "SEFT": "Other foods",
479
+ "SEFT01": "Soups",
480
+ "SEFT02": "Frozen and freeze dried prepared foods",
481
+ "SEFT03": "Snacks",
482
+ "SEFT04": "Spices, seasonings, condiments, sauces",
483
+ "SEFT05": "Baby food and formula",
484
+ "SEFT06": "Other miscellaneous foods",
485
+ "SEFV": "Food away from home",
486
+ "SEFV01": "Full service meals and snacks",
487
+ "SEFV02": "Limited service meals and snacks",
488
+ "SEFV03": "Food at employee sites and schools",
489
+ "SEFV04": "Food from vending machines and mobile vendors",
490
+ "SEFV05": "Other food away from home",
491
+ "SEFW": "Alcoholic beverages at home",
492
+ "SEFW01": "Beer, ale, and other malt beverages at home",
493
+ "SEFW02": "Distilled spirits at home",
494
+ "SEFW03": "Wine at home",
495
+ "SEFX": "Alcoholic beverages away from home",
496
+ "SEGA": "Tobacco and smoking products",
497
+ "SEGA01": "Cigarettes",
498
+ "SEGA02": "Tobacco products other than cigarettes",
499
+ "SEGB": "Personal care products",
500
+ "SEGB01": "Hair, dental, shaving, and miscellaneous personal care products",
501
+ "SEGB02": "Cosmetics, perfume, bath, nail preparations and implements",
502
+ "SEGC": "Personal care services",
503
+ "SEGC01": "Haircuts and other personal care services",
504
+ "SEGD": "Miscellaneous personal services",
505
+ "SEGD01": "Legal services",
506
+ "SEGD02": "Funeral expenses",
507
+ "SEGD03": "Laundry and dry cleaning services",
508
+ "SEGD04": "Apparel services other than laundry and dry cleaning",
509
+ "SEGD05": "Financial services",
510
+ "SEGE": "Miscellaneous personal goods",
511
+ "SEHA": "Rent of primary residence",
512
+ "SEHB": "Lodging away from home",
513
+ "SEHB01": "Housing at school, excluding board",
514
+ "SEHB02": "Other lodging away from home including hotels and motels",
515
+ "SEHC": "Owners' equivalent rent of residences",
516
+ "SEHC01": "Owners' equivalent rent of primary residence",
517
+ "SEHD": "Tenants' and household insurance",
518
+ "SEHE": "Fuel oil and other fuels",
519
+ "SEHE01": "Fuel oil",
520
+ "SEHE02": "Propane, kerosene, and firewood",
521
+ "SEHF": "Energy services",
522
+ "SEHF01": "Electricity",
523
+ "SEHF02": "Utility (piped) gas service",
524
+ "SEHG": "Water and sewer and trash collection services",
525
+ "SEHG01": "Water and sewerage maintenance",
526
+ "SEHG02": "Garbage and trash collection",
527
+ "SEHH": "Window and floor coverings and other linens",
528
+ "SEHH01": "Floor coverings",
529
+ "SEHH02": "Window coverings",
530
+ "SEHH03": "Other linens",
531
+ "SEHJ": "Furniture and bedding",
532
+ "SEHJ01": "Bedroom furniture",
533
+ "SEHJ02": "Living room, kitchen, and dining room furniture",
534
+ "SEHJ03": "Other furniture",
535
+ "SEHK": "Appliances",
536
+ "SEHK01": "Major appliances",
537
+ "SEHK02": "Other appliances",
538
+ "SEHL": "Other household equipment and furnishings",
539
+ "SEHL01": "Clocks, lamps, and decorator items",
540
+ "SEHL02": "Indoor plants and flowers",
541
+ "SEHL03": "Dishes and flatware",
542
+ "SEHL04": "Nonelectric cookware and tableware",
543
+ "SEHM": "Tools, hardware, outdoor equipment and supplies",
544
+ "SEHM01": "Tools, hardware and supplies",
545
+ "SEHM02": "Outdoor equipment and supplies",
546
+ "SEHN": "Housekeeping supplies",
547
+ "SEHN01": "Household cleaning products",
548
+ "SEHN02": "Household paper products",
549
+ "SEHN03": "Miscellaneous household products",
550
+ "SEHP": "Household operations",
551
+ "SEHP01": "Domestic services",
552
+ "SEHP02": "Gardening and lawncare services",
553
+ "SEHP03": "Moving, storage, freight expense",
554
+ "SEHP04": "Repair of household items",
555
+ "SEMC": "Professional services",
556
+ "SEMC01": "Physicians' services",
557
+ "SEMC02": "Dental services",
558
+ "SEMC03": "Eyeglasses and eye care",
559
+ "SEMC04": "Services by other medical professionals",
560
+ "SEMD": "Hospital and related services",
561
+ "SEMD01": "Hospital services",
562
+ "SEMD02": "Nursing homes and adult day services",
563
+ "SEMD03": "Care of invalids and elderly at home",
564
+ "SEME": "Health insurance",
565
+ "SEMF": "Medicinal drugs",
566
+ "SEMF01": "Prescription drugs",
567
+ "SEMF02": "Nonprescription drugs",
568
+ "SEMG": "Medical equipment and supplies",
569
+ "SERA": "Video and audio",
570
+ "SERA01": "Televisions",
571
+ "SERA02": "Cable, satellite, and live streaming television service",
572
+ "SERA03": "Other video equipment",
573
+ "SERA04": "Purchase, subscription, and rental of video",
574
+ "SERA05": "Audio equipment",
575
+ "SERA06": "Recorded music and music subscriptions",
576
+ "SERAC": "Video and audio products",
577
+ "SERAS": "Video and audio services",
578
+ "SERB": "Pets, pet products and services",
579
+ "SERB01": "Pets and pet products",
580
+ "SERB02": "Pet services including veterinary",
581
+ "SERC": "Sporting goods",
582
+ "SERC01": "Sports vehicles including bicycles",
583
+ "SERC02": "Sports equipment",
584
+ "SERD": "Photography",
585
+ "SERD01": "Photographic equipment and supplies",
586
+ "SERD02": "Photographers and photo processing",
587
+ "SERE": "Other recreational goods",
588
+ "SERE01": "Toys",
589
+ "SERE02": "Sewing machines, fabric and supplies",
590
+ "SERE03": "Music instruments and accessories",
591
+ "SERF": "Other recreation services",
592
+ "SERF01": "Club membership for shopping clubs, fraternal, or other organizations, or participant sports fees",
593
+ "SERF02": "Admissions",
594
+ "SERF03": "Fees for lessons or instructions",
595
+ "SERG": "Recreational reading materials",
596
+ "SERG01": "Newspapers and magazines",
597
+ "SERG02": "Recreational books",
598
+ "SETA": "New and used motor vehicles",
599
+ "SETA01": "New vehicles",
600
+ "SETA02": "Used cars and trucks",
601
+ "SETA03": "Leased cars and trucks",
602
+ "SETA04": "Car and truck rental",
603
+ "SETB": "Motor fuel",
604
+ "SETB01": "Gasoline (all types)",
605
+ "SETB02": "Other motor fuels",
606
+ "SETC": "Motor vehicle parts and equipment",
607
+ "SETC01": "Tires",
608
+ "SETC02": "Vehicle accessories other than tires",
609
+ "SETD": "Motor vehicle maintenance and repair",
610
+ "SETD01": "Motor vehicle body work",
611
+ "SETD02": "Motor vehicle maintenance and servicing",
612
+ "SETD03": "Motor vehicle repair",
613
+ "SETE": "Motor vehicle insurance",
614
+ "SETF": "Motor vehicle fees",
615
+ "SETF01": "State motor vehicle registration and license fees",
616
+ "SETF03": "Parking and other fees",
617
+ "SETG": "Public transportation",
618
+ "SETG01": "Airline fares",
619
+ "SETG02": "Other intercity transportation",
620
+ "SETG03": "Intracity transportation",
621
+ "SS01031": "Rice",
622
+ "SS02011": "White bread",
623
+ "SS02021": "Bread other than white",
624
+ "SS02041": "Fresh cakes and cupcakes",
625
+ "SS02042": "Cookies",
626
+ "SS02063": "Fresh sweetrolls, coffeecakes, doughnuts",
627
+ "SS0206A": "Crackers, bread, and cracker products",
628
+ "SS0206B": "Frozen and refrigerated bakery products, pies, tarts, turnovers",
629
+ "SS04011": "Bacon and related products",
630
+ "SS04012": "Breakfast sausage and related products",
631
+ "SS04031": "Ham, excluding canned",
632
+ "SS05011": "Frankfurters",
633
+ "SS05014": "Lamb and organ meats",
634
+ "SS05015": "Lamb and mutton",
635
+ "SS0501A": "Lunchmeats",
636
+ "SS06011": "Fresh whole chicken",
637
+ "SS06021": "Fresh and frozen chicken parts",
638
+ "SS07011": "Shelf stable fish and seafood",
639
+ "SS07021": "Frozen fish and seafood",
640
+ "SS09011": "Fresh whole milk",
641
+ "SS09021": "Fresh milk other than whole",
642
+ "SS10011": "Butter",
643
+ "SS11031": "Oranges, including tangerines",
644
+ "SS13031": "Canned fruits",
645
+ "SS14011": "Frozen vegetables",
646
+ "SS14021": "Canned vegetables",
647
+ "SS14022": "Dried beans, peas, and lentils",
648
+ "SS16011": "Margarine",
649
+ "SS16014": "Peanut butter",
650
+ "SS17031": "Roasted coffee",
651
+ "SS17032": "Instant coffee",
652
+ "SS18041": "Salt and other seasonings and spices",
653
+ "SS18042": "Olives, pickles, relishes",
654
+ "SS18043": "Sauces and gravies",
655
+ "SS1804B": "Other condiments",
656
+ "SS18064": "Prepared salads",
657
+ "SS20021": "Whiskey at home",
658
+ "SS20022": "Distilled spirits, excluding whiskey, at home",
659
+ "SS20051": "Beer, ale, and other malt beverages away from home",
660
+ "SS20052": "Wine away from home",
661
+ "SS20053": "Distilled spirits away from home",
662
+ "SS27051": "Land-line interstate toll calls",
663
+ "SS27061": "Land-line intrastate toll calls",
664
+ "SS30021": "Laundry equipment",
665
+ "SS31022": "Video discs and other media",
666
+ "SS31023": "Video game hardware, software and accessories",
667
+ "SS33032": "Stationery, stationery supplies, gift wrap",
668
+ "SS45011": "New cars",
669
+ "SS4501A": "New cars and trucks",
670
+ "SS45021": "New trucks",
671
+ "SS45031": "New motorcycles",
672
+ "SS47014": "Gasoline, unleaded regular",
673
+ "SS47015": "Gasoline, unleaded midgrade",
674
+ "SS47016": "Gasoline, unleaded premium",
675
+ "SS47021": "Motor oil, coolant, and fluids",
676
+ "SS48021": "Vehicle parts and equipment other than tires",
677
+ "SS52051": "Parking fees and tolls",
678
+ "SS53021": "Intercity bus fare",
679
+ "SS53022": "Intercity train fare",
680
+ "SS53023": "Ship fare",
681
+ "SS53031": "Intracity mass transit",
682
+ "SS5702": "Inpatient hospital services",
683
+ "SS5703": "Outpatient hospital services",
684
+ "SS61011": "Toys, games, hobbies and playground equipment",
685
+ "SS61021": "Film and photographic supplies",
686
+ "SS61023": "Photographic equipment",
687
+ "SS61031": "Pet food",
688
+ "SS61032": "Purchase of pets, pet supplies, accessories",
689
+ "SS62011": "Automobile service clubs",
690
+ "SS62031": "Admission to movies, theaters, and concerts",
691
+ "SS62032": "Admission to sporting events",
692
+ "SS62051": "Photographer fees",
693
+ "SS62052": "Photo Processing",
694
+ "SS62053": "Pet services",
695
+ "SS62054": "Veterinarian services",
696
+ "SS62055": "Subscription and rental of video and video games",
697
+ "SS68021": "Checking account and other bank services",
698
+ "SS68023": "Tax return preparation and other accounting fees",
699
+ "SSEA011": "College textbooks",
700
+ "SSEE041": "Smartphones",
701
+ "SSFV031A": "Food at elementary and secondary schools",
702
+ "SSGE013": "Infants' equipment",
703
+ "SSHJ031": "Infants' furniture"
704
+ },
705
+ "base_code": {
706
+ "A": "Alternate",
707
+ "S": "Current"
708
+ }
709
+ },
710
+ "cw": {
711
+ "area_code": {
712
+ "0000": "U.S. city average",
713
+ "0100": "Northeast",
714
+ "0110": "New England",
715
+ "0120": "Middle Atlantic",
716
+ "0200": "Midwest",
717
+ "0230": "East North Central",
718
+ "0240": "West North Central",
719
+ "0300": "South",
720
+ "0350": "South Atlantic",
721
+ "0360": "East South Central",
722
+ "0370": "West South Central",
723
+ "0400": "West",
724
+ "0480": "Mountain",
725
+ "0490": "Pacific",
726
+ "A104": "Pittsburgh, PA",
727
+ "A210": "Cleveland-Akron, OH",
728
+ "A212": "Milwaukee-Racine, WI",
729
+ "A213": "Cincinnati-Hamilton, OH-KY-IN",
730
+ "A214": "Kansas City, MO-KS",
731
+ "A311": "Washington-Baltimore, DC-MD-VA-WV",
732
+ "A421": "Los Angeles-Riverside-Orange County, CA",
733
+ "A425": "Portland-Salem, OR-WA",
734
+ "D000": "Size Class D",
735
+ "D200": "Midwest - Size Class D",
736
+ "D300": "South - Size Class D",
737
+ "N000": "Size Class B/C",
738
+ "N100": "Northeast - Size Class B/C",
739
+ "N200": "Midwest - Size Class B/C",
740
+ "N300": "South - Size Class B/C",
741
+ "N400": "West - Size Class B/C",
742
+ "S000": "Size Class A",
743
+ "S100": "Northeast - Size Class A",
744
+ "S11A": "Boston-Cambridge-Newton, MA-NH",
745
+ "S12A": "New York-Newark-Jersey City, NY-NJ-PA",
746
+ "S12B": "Philadelphia-Camden-Wilmington, PA-NJ-DE-MD",
747
+ "S200": "Midwest - Size Class A",
748
+ "S23A": "Chicago-Naperville-Elgin, IL-IN-WI",
749
+ "S23B": "Detroit-Warren-Dearborn, MI",
750
+ "S24A": "Minneapolis-St.Paul-Bloomington, MN-WI",
751
+ "S24B": "St. Louis, MO-IL",
752
+ "S300": "South - Size Class A",
753
+ "S35A": "Washington-Arlington-Alexandria, DC-VA-MD-WV",
754
+ "S35B": "Miami-Fort Lauderdale-West Palm Beach, FL",
755
+ "S35C": "Atlanta-Sandy Springs-Roswell, GA",
756
+ "S35D": "Tampa-St. Petersburg-Clearwater, FL",
757
+ "S35E": "Baltimore-Columbia-Towson, MD",
758
+ "S37A": "Dallas-Fort Worth-Arlington, TX",
759
+ "S37B": "Houston-The Woodlands-Sugar Land, TX",
760
+ "S400": "West - Size Class A",
761
+ "S48A": "Phoenix-Mesa-Scottsdale, AZ",
762
+ "S48B": "Denver-Aurora-Lakewood, CO",
763
+ "S49A": "Los Angeles-Long Beach-Anaheim, CA",
764
+ "S49B": "San Francisco-Oakland-Hayward, CA",
765
+ "S49C": "Riverside-San Bernardino-Ontario, CA",
766
+ "S49D": "Seattle-Tacoma-Bellevue WA",
767
+ "S49E": "San Diego-Carlsbad, CA",
768
+ "S49F": "Urban Hawaii",
769
+ "S49G": "Urban Alaska"
770
+ },
771
+ "item_code": {
772
+ "AA0": "All items - old base",
773
+ "AA0R": "Purchasing power of the consumer dollar - old base",
774
+ "SA0": "All items",
775
+ "SA0E": "Energy",
776
+ "SA0L1": "All items less food",
777
+ "SA0L1E": "All items less food and energy",
778
+ "SA0L2": "All items less shelter",
779
+ "SA0L5": "All items less medical care",
780
+ "SA0LE": "All items less energy",
781
+ "SA0R": "Purchasing power of the consumer dollar",
782
+ "SA311": "Apparel less footwear",
783
+ "SAA": "Apparel",
784
+ "SAA1": "Men's and boys' apparel",
785
+ "SAA2": "Women's and girls' apparel",
786
+ "SAC": "Commodities",
787
+ "SACE": "Energy commodities",
788
+ "SACL1": "Commodities less food",
789
+ "SACL11": "Commodities less food and beverages",
790
+ "SACL1E": "Commodities less food and energy commodities",
791
+ "SAD": "Durables",
792
+ "SAE": "Education and communication",
793
+ "SAE1": "Education",
794
+ "SAE2": "Communication",
795
+ "SAE21": "Information and information processing",
796
+ "SAEC": "Education and communication commodities",
797
+ "SAES": "Education and communication services",
798
+ "SAF": "Food and beverages",
799
+ "SAF1": "Food",
800
+ "SAF11": "Food at home",
801
+ "SAF111": "Cereals and bakery products",
802
+ "SAF112": "Meats, poultry, fish, and eggs",
803
+ "SAF1121": "Meats, poultry, and fish",
804
+ "SAF11211": "Meats",
805
+ "SAF113": "Fruits and vegetables",
806
+ "SAF1131": "Fresh fruits and vegetables",
807
+ "SAF114": "Nonalcoholic beverages and beverage materials",
808
+ "SAF115": "Other food at home",
809
+ "SAF116": "Alcoholic beverages",
810
+ "SAG": "Other goods and services",
811
+ "SAG1": "Personal care",
812
+ "SAGC": "Other goods",
813
+ "SAGS": "Other personal services",
814
+ "SAH": "Housing",
815
+ "SAH1": "Shelter",
816
+ "SAH2": "Fuels and utilities",
817
+ "SAH21": "Household energy",
818
+ "SAH3": "Household furnishings and operations",
819
+ "SAH31": "Household furnishings and supplies",
820
+ "SAM": "Medical care",
821
+ "SAM1": "Medical care commodities",
822
+ "SAM2": "Medical care services",
823
+ "SAN": "Nondurables",
824
+ "SAN1D": "Domestically produced farm food",
825
+ "SANL1": "Nondurables less food",
826
+ "SANL11": "Nondurables less food and beverages",
827
+ "SANL113": "Nondurables less food, beverages, and apparel",
828
+ "SANL13": "Nondurables less food and apparel",
829
+ "SAR": "Recreation",
830
+ "SARC": "Recreation commodities",
831
+ "SARS": "Recreation services",
832
+ "SAS": "Services",
833
+ "SAS24": "Utilities and public transportation",
834
+ "SAS2RS": "Rent of shelter",
835
+ "SAS367": "Other services",
836
+ "SAS4": "Transportation services",
837
+ "SASL2RS": "Services less rent of shelter",
838
+ "SASL5": "Services less medical care services",
839
+ "SASLE": "Services less energy services",
840
+ "SAT": "Transportation",
841
+ "SAT1": "Private transportation",
842
+ "SATCLTB": "Transportation commodities less motor fuel",
843
+ "SEAA": "Men's apparel",
844
+ "SEAA01": "Men's suits, sport coats, and outerwear",
845
+ "SEAA02": "Men's underwear, nightwear, swimwear and accessories",
846
+ "SEAA03": "Men's shirts and sweaters",
847
+ "SEAA04": "Men's pants and shorts",
848
+ "SEAB": "Boys' apparel",
849
+ "SEAC": "Women's apparel",
850
+ "SEAC01": "Women's outerwear",
851
+ "SEAC02": "Women's dresses",
852
+ "SEAC03": "Women's suits and separates",
853
+ "SEAC04": "Women's underwear, nightwear, swimwear and accessories",
854
+ "SEAD": "Girls' apparel",
855
+ "SEAE": "Footwear",
856
+ "SEAE01": "Men's footwear",
857
+ "SEAE02": "Boys' and girls' footwear",
858
+ "SEAE03": "Women's footwear",
859
+ "SEAF": "Infants' and toddlers' apparel",
860
+ "SEAG": "Jewelry and watches",
861
+ "SEAG01": "Watches",
862
+ "SEAG02": "Jewelry",
863
+ "SEEA": "Educational books and supplies",
864
+ "SEEB": "Tuition, other school fees, and childcare",
865
+ "SEEB01": "College tuition and fees",
866
+ "SEEB02": "Elementary and high school tuition and fees",
867
+ "SEEB03": "Day care and preschool",
868
+ "SEEB04": "Technical and business school tuition and fees",
869
+ "SEEC": "Postage and delivery services",
870
+ "SEEC01": "Postage",
871
+ "SEEC02": "Delivery services",
872
+ "SEED": "Telephone services",
873
+ "SEED03": "Wireless telephone services",
874
+ "SEED04": "Residential telephone services",
875
+ "SEEE": "Information technology, hardware and services",
876
+ "SEEE01": "Computers, peripherals, and smart home assistants",
877
+ "SEEE02": "Computer software and accessories",
878
+ "SEEE03": "Internet services and electronic information providers",
879
+ "SEEE04": "Telephone hardware, calculators, and other consumer information items",
880
+ "SEEEC": "Information technology commodities",
881
+ "SEFA": "Cereals and cereal products",
882
+ "SEFA01": "Flour and prepared flour mixes",
883
+ "SEFA02": "Breakfast cereal",
884
+ "SEFA03": "Rice, pasta, cornmeal",
885
+ "SEFB": "Bakery products",
886
+ "SEFB01": "Bread",
887
+ "SEFB02": "Fresh biscuits, rolls, muffins",
888
+ "SEFB03": "Cakes, cupcakes, and cookies",
889
+ "SEFB04": "Other bakery products",
890
+ "SEFC": "Beef and veal",
891
+ "SEFC01": "Uncooked ground beef",
892
+ "SEFC02": "Uncooked beef roasts",
893
+ "SEFC03": "Uncooked beef steaks",
894
+ "SEFC04": "Uncooked other beef and veal",
895
+ "SEFD": "Pork",
896
+ "SEFD01": "Bacon, breakfast sausage, and related products",
897
+ "SEFD02": "Ham",
898
+ "SEFD03": "Pork chops",
899
+ "SEFD04": "Other pork including roasts, steaks, and ribs",
900
+ "SEFE": "Other meats",
901
+ "SEFF": "Poultry",
902
+ "SEFF01": "Chicken",
903
+ "SEFF02": "Other uncooked poultry including turkey",
904
+ "SEFG": "Fish and seafood",
905
+ "SEFG01": "Fresh fish and seafood",
906
+ "SEFG02": "Processed fish and seafood",
907
+ "SEFH": "Eggs",
908
+ "SEFJ": "Dairy and related products",
909
+ "SEFJ01": "Milk",
910
+ "SEFJ02": "Cheese and related products",
911
+ "SEFJ03": "Ice cream and related products",
912
+ "SEFJ04": "Other dairy and related products",
913
+ "SEFK": "Fresh fruits",
914
+ "SEFK01": "Apples",
915
+ "SEFK02": "Bananas",
916
+ "SEFK03": "Citrus fruits",
917
+ "SEFK04": "Other fresh fruits",
918
+ "SEFL": "Fresh vegetables",
919
+ "SEFL01": "Potatoes",
920
+ "SEFL02": "Lettuce",
921
+ "SEFL03": "Tomatoes",
922
+ "SEFL04": "Other fresh vegetables",
923
+ "SEFM": "Processed fruits and vegetables",
924
+ "SEFM01": "Canned fruits and vegetables",
925
+ "SEFM02": "Frozen fruits and vegetables",
926
+ "SEFM03": "Other processed fruits and vegetables including dried",
927
+ "SEFN": "Juices and nonalcoholic drinks",
928
+ "SEFN01": "Carbonated drinks",
929
+ "SEFN02": "Frozen noncarbonated juices and drinks",
930
+ "SEFN03": "Nonfrozen noncarbonated juices and drinks",
931
+ "SEFP": "Beverage materials including coffee and tea",
932
+ "SEFP01": "Coffee",
933
+ "SEFP02": "Other beverage materials including tea",
934
+ "SEFR": "Sugar and sweets",
935
+ "SEFR01": "Sugar and sugar substitutes",
936
+ "SEFR02": "Candy and chewing gum",
937
+ "SEFR03": "Other sweets",
938
+ "SEFS": "Fats and oils",
939
+ "SEFS01": "Butter and margarine",
940
+ "SEFS02": "Salad dressing",
941
+ "SEFS03": "Other fats and oils including peanut butter",
942
+ "SEFT": "Other foods",
943
+ "SEFT01": "Soups",
944
+ "SEFT02": "Frozen and freeze dried prepared foods",
945
+ "SEFT03": "Snacks",
946
+ "SEFT04": "Spices, seasonings, condiments, sauces",
947
+ "SEFT05": "Baby Food and Formula",
948
+ "SEFT06": "Other miscellaneous foods",
949
+ "SEFV": "Food away from home",
950
+ "SEFV01": "Full service meals and snacks",
951
+ "SEFV02": "Limited service meals and snacks",
952
+ "SEFV03": "Food at employee sites and schools",
953
+ "SEFV04": "Food from vending machines and mobile vendors",
954
+ "SEFV05": "Other food away from home",
955
+ "SEFW": "Alcoholic beverages at home",
956
+ "SEFW01": "Beer, ale, and other malt beverages at home",
957
+ "SEFW02": "Distilled spirits at home",
958
+ "SEFW03": "Wine at home",
959
+ "SEFX": "Alcoholic beverages away from home",
960
+ "SEGA": "Tobacco and smoking products",
961
+ "SEGA01": "Cigarettes",
962
+ "SEGA02": "Tobacco products other than cigarettes",
963
+ "SEGB": "Personal care products",
964
+ "SEGB01": "Hair, dental, shaving, and miscellaneous personal care products",
965
+ "SEGB02": "Cosmetics, perfume, bath, nail preparations and implements",
966
+ "SEGC": "Personal care services",
967
+ "SEGC01": "Haircuts and other personal care services",
968
+ "SEGD": "Miscellaneous personal services",
969
+ "SEGD01": "Legal services",
970
+ "SEGD02": "Funeral expenses",
971
+ "SEGD03": "Laundry and dry cleaning services",
972
+ "SEGD04": "Apparel services other than laundry and dry cleaning",
973
+ "SEGD05": "Financial services",
974
+ "SEGE": "Miscellaneous personal goods",
975
+ "SEHA": "Rent of primary residence",
976
+ "SEHB": "Lodging away from home",
977
+ "SEHB01": "Housing at school, excluding board",
978
+ "SEHB02": "Other lodging away from home including hotels and motels",
979
+ "SEHC": "Owners' equivalent rent of residences",
980
+ "SEHC01": "Owners' equivalent rent of primary residence",
981
+ "SEHD": "Tenants' and household insurance",
982
+ "SEHE": "Fuel oil and other fuels",
983
+ "SEHE01": "Fuel oil",
984
+ "SEHE02": "Propane, kerosene, and firewood",
985
+ "SEHF": "Energy services",
986
+ "SEHF01": "Electricity",
987
+ "SEHF02": "Utility (piped) gas service",
988
+ "SEHG": "Water and sewer and trash collection services",
989
+ "SEHG01": "Water and sewerage maintenance",
990
+ "SEHG02": "Garbage and trash collection",
991
+ "SEHH": "Window and floor coverings and other linens",
992
+ "SEHH01": "Floor coverings",
993
+ "SEHH02": "Window coverings",
994
+ "SEHH03": "Other linens",
995
+ "SEHJ": "Furniture and bedding",
996
+ "SEHJ01": "Bedroom furniture",
997
+ "SEHJ02": "Living room, kitchen, and dining room furniture",
998
+ "SEHJ03": "Other furniture",
999
+ "SEHK": "Appliances",
1000
+ "SEHK01": "Major appliances",
1001
+ "SEHK02": "Other appliances",
1002
+ "SEHL": "Other household equipment and furnishings",
1003
+ "SEHL01": "Clocks, lamps, and decorator items",
1004
+ "SEHL02": "Indoor plants and flowers",
1005
+ "SEHL03": "Dishes and flatware",
1006
+ "SEHL04": "Nonelectric cookware and tableware",
1007
+ "SEHM": "Tools, hardware, outdoor equipment and supplies",
1008
+ "SEHM01": "Tools, hardware and supplies",
1009
+ "SEHM02": "Outdoor equipment and supplies",
1010
+ "SEHN": "Housekeeping supplies",
1011
+ "SEHN01": "Household cleaning products",
1012
+ "SEHN02": "Household paper products",
1013
+ "SEHN03": "Miscellaneous household products",
1014
+ "SEHP": "Household operations",
1015
+ "SEHP01": "Domestic services",
1016
+ "SEHP02": "Gardening and lawncare services",
1017
+ "SEHP03": "Moving, storage, freight expense",
1018
+ "SEHP04": "Repair of household items",
1019
+ "SEMC": "Professional services",
1020
+ "SEMC01": "Physicians' services",
1021
+ "SEMC02": "Dental services",
1022
+ "SEMC03": "Eyeglasses and eye care",
1023
+ "SEMC04": "Services by other medical professionals",
1024
+ "SEMD": "Hospital and related services",
1025
+ "SEMD01": "Hospital services",
1026
+ "SEMD02": "Nursing homes and adult day services",
1027
+ "SEMD03": "Care of invalids and elderly at home",
1028
+ "SEME": "Health insurance",
1029
+ "SEMF": "Medicinal drugs",
1030
+ "SEMF01": "Prescription drugs",
1031
+ "SEMF02": "Nonprescription drugs",
1032
+ "SEMG": "Medical equipment and supplies",
1033
+ "SERA": "Video and audio",
1034
+ "SERA01": "Televisions",
1035
+ "SERA02": "Cable, satellite, and live streaming television service",
1036
+ "SERA03": "Other video equipment",
1037
+ "SERA04": "Purchase, subscription, and rental of video",
1038
+ "SERA05": "Audio equipment",
1039
+ "SERA06": "Recorded music and music subscriptions",
1040
+ "SERAC": "Video and audio products",
1041
+ "SERAS": "Video and audio services",
1042
+ "SERB": "Pets, pet products and services",
1043
+ "SERB01": "Pets and pet products",
1044
+ "SERB02": "Pet services including veterinary",
1045
+ "SERC": "Sporting goods",
1046
+ "SERC01": "Sports vehicles including bicycles",
1047
+ "SERC02": "Sports equipment",
1048
+ "SERD": "Photography",
1049
+ "SERD01": "Photographic equipment and supplies",
1050
+ "SERD02": "Photographers and photo processing",
1051
+ "SERE": "Other recreational goods",
1052
+ "SERE01": "Toys",
1053
+ "SERE02": "Sewing machines, fabric and supplies",
1054
+ "SERE03": "Music instruments and accessories",
1055
+ "SERF": "Other recreation services",
1056
+ "SERF01": "Club membership for shopping clubs, fraternal, or other organizations, or participant sports fees",
1057
+ "SERF02": "Admissions",
1058
+ "SERF03": "Fees for lessons or instructions",
1059
+ "SERG": "Recreational reading materials",
1060
+ "SERG01": "Newspapers and magazines",
1061
+ "SERG02": "Recreational books",
1062
+ "SETA": "New and used motor vehicles",
1063
+ "SETA01": "New vehicles",
1064
+ "SETA02": "Used cars and trucks",
1065
+ "SETA03": "Leased cars and trucks",
1066
+ "SETA04": "Car and truck rental",
1067
+ "SETB": "Motor fuel",
1068
+ "SETB01": "Gasoline (all types)",
1069
+ "SETB02": "Other motor fuels",
1070
+ "SETC": "Motor vehicle parts and equipment",
1071
+ "SETC01": "Tires",
1072
+ "SETC02": "Vehicle accessories other than tires",
1073
+ "SETD": "Motor vehicle maintenance and repair",
1074
+ "SETD01": "Motor vehicle body work",
1075
+ "SETD02": "Motor vehicle maintenance and servicing",
1076
+ "SETD03": "Motor vehicle repair",
1077
+ "SETE": "Motor vehicle insurance",
1078
+ "SETF": "Motor vehicle fees",
1079
+ "SETF01": "State motor vehicle registration and license fees",
1080
+ "SETF03": "Parking and other fees",
1081
+ "SETG": "Public transportation",
1082
+ "SETG01": "Airline fares",
1083
+ "SETG02": "Other intercity transportation",
1084
+ "SETG03": "Intracity transportation",
1085
+ "SS47014": "Gasoline, unleaded regular",
1086
+ "SS47015": "Gasoline, unleaded midgrade",
1087
+ "SS47016": "Gasoline, unleaded premium",
1088
+ "SS5702": "Inpatient hospital services",
1089
+ "SS5703": "Outpatient hospital services"
1090
+ },
1091
+ "base_code": {
1092
+ "A": "Alternate",
1093
+ "S": "Current"
1094
+ }
1095
+ },
1096
+ "li": {
1097
+ "area_code": {
1098
+ "0000": "U.S. city average"
1099
+ },
1100
+ "item_code": {
1101
+ "SL00001": "Piece goods",
1102
+ "SL00002": "Domestics and draperies",
1103
+ "SL00003": "Women's and children's shoes",
1104
+ "SL00004": "Men's shoes",
1105
+ "SL00005": "Infants' wear and furniture",
1106
+ "SL00006": "Women's underwear",
1107
+ "SL00007": "Women's and girls' hosiery",
1108
+ "SL00008": "Women's and girls' accessories",
1109
+ "SL00009": "Women's outerwear & girls' wear",
1110
+ "SL00010": "Men's clothing",
1111
+ "SL00011": "Men's furnishings",
1112
+ "SL00012": "Boys' wear",
1113
+ "SL00013": "Jewelry and silverware",
1114
+ "SL00014": "Notions",
1115
+ "SL00015": "Toilet articles & drugs",
1116
+ "SL00016": "Furniture and bedding",
1117
+ "SL00017": "Floor coverings",
1118
+ "SL00018": "Housewares",
1119
+ "SL00019": "Major appliances",
1120
+ "SL00020": "Radios and television sets",
1121
+ "SL00021": "Recreation & education",
1122
+ "SL00022": "Home improvements",
1123
+ "SL00023": "Automotive accessories",
1124
+ "SLDUR": "Durable goods",
1125
+ "SLMISC": "Miscellaneous",
1126
+ "SLSOFT": "Soft goods",
1127
+ "SLTOTAL": "Store total"
1128
+ }
1129
+ },
1130
+ "su": {
1131
+ "area_code": {
1132
+ "0000": "U.S. city average"
1133
+ },
1134
+ "item_code": {
1135
+ "SA0": "All items",
1136
+ "SA0E": "Energy",
1137
+ "SA0L1E": "All items less food and energy",
1138
+ "SAA": "Apparel",
1139
+ "SAC": "Commodities",
1140
+ "SAD": "Durables",
1141
+ "SAE": "Education and communication",
1142
+ "SAE1": "Education",
1143
+ "SAE2": "Communication",
1144
+ "SAF": "Food and beverages",
1145
+ "SAF1": "Food",
1146
+ "SAF11": "Food at home",
1147
+ "SAF116": "Alcoholic beverages",
1148
+ "SAG": "Other goods and services",
1149
+ "SAH": "Housing",
1150
+ "SAH1": "Shelter",
1151
+ "SAH2": "Fuels and utilities",
1152
+ "SAH3": "Household furnishings and operations",
1153
+ "SAM": "Medical care",
1154
+ "SAM1": "Medical care commodities",
1155
+ "SAM2": "Medical care services",
1156
+ "SAN": "Nondurables",
1157
+ "SAR": "Recreation",
1158
+ "SAS": "Services",
1159
+ "SAT": "Transportation",
1160
+ "SAT1": "Private transportation",
1161
+ "SEFV": "Food away from home",
1162
+ "SETA01": "New vehicles",
1163
+ "SETG": "Public transportation"
1164
+ },
1165
+ "base_code": {
1166
+ "S": "Current"
1167
+ },
1168
+ "footnote_code": {
1169
+ "I": "Initial",
1170
+ "U": "Interim"
1171
+ }
1172
+ },
1173
+ "ei": {
1174
+ "index_code": {
1175
+ "CD": "Locality of Destination Price Indexes",
1176
+ "CO": "Locality of Origin Price Indexes",
1177
+ "CT": "Terms of Trade Indexes",
1178
+ "IC": "Services Inbound Price Indexes",
1179
+ "ID": "Harmonized System Export Price Indexes",
1180
+ "IH": "Services Export Price Indexes",
1181
+ "IP": "Harmonized System Import Price Indexes",
1182
+ "IQ": "BEA End Use Export Price Indexes",
1183
+ "IR": "BEA End Use Import Price Indexes",
1184
+ "IS": "Services Outbound Price Indexes",
1185
+ "IV": "Services Import Price Indexes",
1186
+ "IY": "NAICS Export Price Indexes",
1187
+ "IZ": "NAICS Import Price Indexes"
1188
+ },
1189
+ "footnote_code": {
1190
+ "2": "Western Europe, Canada, Japan, Australia, New Zealand, and South Africa.",
1191
+ "3": "Mexico, Central America, South America, and the Caribbean.",
1192
+ "4": "China, Japan, Australia, Brunei, Indonesia, Macao, Malaysia, New Zealand, Papua New Guinea, Philippines, and the Asian Newly Industrialized Countries.",
1193
+ "5": "Asian Newly Industrialized Countries - Hong Kong, Singapore, South Korea, and Taiwan.",
1194
+ "6": "Association of Southeast Asian Nations - Brunei, Cambodia, Indonesia, Laos, Malaysia, Myanmar, Philippines, Singapore, Thailand, and Vietnam.",
1195
+ "7": "Bahrain, Iran, Iraq, Israel, Jordan, Kuwait, Lebanon, Oman, Qatar, Saudi Arabia, Syria, United Arab Emirates, and Yemen.",
1196
+ "R": "Revised."
1197
+ }
1198
+ }
1199
+ }
openbb_platform/providers/bls/openbb_bls/assets/cpi_series.xz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0ecda2eabd75029d0979419168822c4ef48b4841e7d712c44ebada67e09836e5
3
+ size 106780
openbb_platform/providers/bls/openbb_bls/assets/cps_codes.json ADDED
@@ -0,0 +1,1155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "le": {
3
+ "lfst_code": {
4
+ "20": "Employed",
5
+ "25": "Employed full time",
6
+ "26": "Employed part time"
7
+ },
8
+ "fips_code": {
9
+ "00": "U.S. Total",
10
+ "01": "Alabama",
11
+ "02": "Alaska",
12
+ "04": "Arizona",
13
+ "05": "Arkansas",
14
+ "06": "California",
15
+ "08": "Colorado",
16
+ "09": "Connecticut",
17
+ "10": "Delaware",
18
+ "11": "District of Columbia",
19
+ "12": "Florida",
20
+ "13": "Georgia",
21
+ "15": "Hawaii",
22
+ "16": "Idaho",
23
+ "17": "Illinois",
24
+ "18": "Indiana",
25
+ "19": "Iowa",
26
+ "20": "Kansas",
27
+ "21": "Kentucky",
28
+ "22": "Louisiana",
29
+ "23": "Maine",
30
+ "24": "Maryland",
31
+ "25": "Massachusetts",
32
+ "26": "Michigan",
33
+ "27": "Minnesota",
34
+ "28": "Mississippi",
35
+ "29": "Missouri",
36
+ "30": "Montana",
37
+ "31": "Nebraska",
38
+ "32": "Nevada",
39
+ "33": "New Hampshire",
40
+ "34": "New Jersey",
41
+ "35": "New Mexico",
42
+ "36": "New York",
43
+ "37": "North Carolina",
44
+ "38": "North Dakota",
45
+ "39": "Ohio",
46
+ "40": "Oklahoma",
47
+ "41": "Oregon",
48
+ "42": "Pennsylvania",
49
+ "44": "Rhode Island",
50
+ "45": "South Carolina",
51
+ "46": "South Dakota",
52
+ "47": "Tennessee",
53
+ "48": "Texas",
54
+ "49": "Utah",
55
+ "50": "Vermont",
56
+ "51": "Virginia",
57
+ "53": "Washington",
58
+ "54": "West Virginia",
59
+ "55": "Wisconsin",
60
+ "56": "Wyoming",
61
+ "81": "New England",
62
+ "82": "Middle Atlantic",
63
+ "83": "East North Central",
64
+ "84": "West North Central",
65
+ "85": "South Atlantic",
66
+ "86": "East South Central",
67
+ "87": "West South Central",
68
+ "88": "Mountain",
69
+ "89": "Pacific",
70
+ "91": "Northeast",
71
+ "92": "Midwest",
72
+ "93": "South",
73
+ "94": "West"
74
+ },
75
+ "tdata_code": {
76
+ "00": "Number in thousands",
77
+ "01": "Percent or rate"
78
+ },
79
+ "pcts_code": {
80
+ "00": null,
81
+ "05": "Percent distribution of hourly paid workers",
82
+ "22": "Percent of hourly paid workers",
83
+ "49": "EARNINGS OF FOREIGN BORN AS PERCENT OF NATIVE BORN",
84
+ "50": "Earnings of women as a percent of men",
85
+ "99": "100% place holder"
86
+ },
87
+ "earn_code": {
88
+ "00": "Person counts (number in thousands)",
89
+ "01": "Median usual weekly earnings - in current dollars (second quartile)",
90
+ "02": "Median usual weekly earnings - in constant (1982-84) dollars",
91
+ "03": "Usual weekly earnings - in current dollars (first decile)",
92
+ "04": "Usual weekly earnings - in current dollars (first quartile)",
93
+ "05": "Usual weekly earnings - in current dollars (third quartile)",
94
+ "06": "Usual weekly earnings - in current dollars (ninth decile)",
95
+ "07": "Workers paid hourly rates",
96
+ "08": "Below prevailing federal minimum wage",
97
+ "09": "At prevailing federal minimum wage",
98
+ "10": "Total at or below prevailing federal minimum wage",
99
+ "11": "Median Hourly Earnings - in current dollars",
100
+ "13": "Median usual weekly earnings - in constant (base current year) dollars",
101
+ "14": "Median hourly earnings - in constant (base current year) dollars"
102
+ },
103
+ "cert_code": {
104
+ "00": null,
105
+ "01": "Without a certification or license",
106
+ "02": "With a certification or license",
107
+ "03": "With a certification, but no license",
108
+ "04": "With a license"
109
+ },
110
+ "class_code": {
111
+ "03": "Government wage and salary workers",
112
+ "04": "Federal wage and salary workers",
113
+ "05": "State wage and salary workers",
114
+ "06": "Local wage and salary workers",
115
+ "16": "Wage and salary workers, excluding incorporated self employed",
116
+ "17": "Private wage and salary workers, excluding incorporated self employed"
117
+ },
118
+ "unin_code": {
119
+ "0": null,
120
+ "1": "MEMBERS OF UNIONS",
121
+ "2": "REPRESENTED BY UNIONS",
122
+ "3": "NON-UNION"
123
+ },
124
+ "indy_code": {
125
+ "0000": "All Industries",
126
+ "0168": "Agriculture and related industries",
127
+ "0368": "Nonagriculture industries",
128
+ "0369": "Mining, quarrying, and oil and gas extraction",
129
+ "0569": "Utilities",
130
+ "0770": "Construction",
131
+ "1068": "Nondurable goods manufacturing",
132
+ "2467": "Manufacturing",
133
+ "2468": "Durable goods manufacturing",
134
+ "4067": "Wholesale and retail trade",
135
+ "4068": "Wholesale trade",
136
+ "4669": "Retail trade",
137
+ "6068": "Transportation and utilities",
138
+ "6069": "Transportation and warehousing",
139
+ "6468": "Information",
140
+ "6469": "Publishing, except Internet",
141
+ "6569": "Motion pictures and sound recording industries",
142
+ "6670": "Radio and television broadcasting and cable subscriptions programming",
143
+ "6679": "Telecommunications",
144
+ "6769": "Other information services",
145
+ "6867": "Financial activities",
146
+ "6868": "Finance and insurance",
147
+ "6869": "Finance",
148
+ "6990": "Insurance carriers and related activities",
149
+ "7069": "Real estate and rental and leasing",
150
+ "7268": "Professional and business services",
151
+ "7269": "Professional and technical services",
152
+ "7569": "Management, administrative, and waste services",
153
+ "7858": "Education and health services",
154
+ "7859": "Educational services",
155
+ "7968": "Health care and social assistance",
156
+ "8558": "Leisure and hospitality",
157
+ "8559": "Arts, entertainment, and recreation",
158
+ "8658": "Accommodation and food services",
159
+ "8659": "Accommodation",
160
+ "8679": "Food services and drinking places",
161
+ "8767": "Other services",
162
+ "8768": "Other services, except private households",
163
+ "9290": "Other services, private households"
164
+ },
165
+ "occupation_code": {
166
+ "0000": "All Occupations",
167
+ "0007": "Management, professional and related occupations",
168
+ "0008": "Management, business, and financial operations occupations",
169
+ "0009": "Management occupations",
170
+ "0010": "Chief executives",
171
+ "0020": "General and operations managers",
172
+ "0030": "Legislators",
173
+ "0040": "Advertising and promotions managers",
174
+ "0050": "Marketing and Sales Managers",
175
+ "0051": "Marketing managers",
176
+ "0052": "Sales managers",
177
+ "0060": "Public relations and fundraising managers",
178
+ "0100": "Administrative Services Managers",
179
+ "0101": "Administrative services managers",
180
+ "0102": "Facilities managers",
181
+ "0110": "Computer and information systems managers",
182
+ "0120": "Financial managers",
183
+ "0135": "Compensation and benefits managers",
184
+ "0136": "Human resources managers",
185
+ "0137": "Training and development managers",
186
+ "0140": "Industrial production managers",
187
+ "0150": "Purchasing managers",
188
+ "0160": "Transportation, storage, and distribution managers",
189
+ "0200": "Farm, Ranch, and Other Agricultural Managers",
190
+ "0205": "Farmers, ranchers, and other agricultural managers",
191
+ "0220": "Construction managers",
192
+ "0230": "Education and childcare administrators",
193
+ "0300": "Architectural and engineering managers",
194
+ "0310": "Food service managers",
195
+ "0325": "Funeral home managers",
196
+ "0335": "Entertainment and recreation managers",
197
+ "0340": "Lodging managers",
198
+ "0350": "Medical and health services managers",
199
+ "0360": "Natural sciences managers",
200
+ "0400": "Postmasters and mail superintendents",
201
+ "0410": "Property, real estate, and community association managers",
202
+ "0420": "Social and community service managers",
203
+ "0425": "Emergency management directors",
204
+ "0426": "Personal service managers, all other",
205
+ "0430": "Managers, All Other",
206
+ "0440": "Managers, all other",
207
+ "0499": "Business and financial operations occupations",
208
+ "0500": "Agents and business managers of artists, performers, and athletes",
209
+ "0510": "Buyers and purchasing agents, farm products",
210
+ "0520": "Wholesale and retail buyers, except farm products",
211
+ "0530": "Purchasing agents, except wholesale, retail, and farm products",
212
+ "0540": "Claims adjusters, appraisers, examiners, and investigators",
213
+ "0560": "Compliance Officers, Except Agriculture, Construction, Health and Safety, and Transportation",
214
+ "0565": "Compliance officers",
215
+ "0600": "Cost estimators",
216
+ "0620": "Human Resources, Training, and Labor Relations Specialists",
217
+ "0630": "Human resources workers",
218
+ "0640": "Compensation, benefits, and job analysis specialists",
219
+ "0650": "Training and development specialists",
220
+ "0700": "Logisticians",
221
+ "0705": "Project management specialists",
222
+ "0710": "Management analysts",
223
+ "0725": "Meeting, convention, and event planners",
224
+ "0726": "Fundraisers",
225
+ "0735": "Market research analysts and marketing specialists",
226
+ "0740": "Business Operations Specialists, All Other",
227
+ "0750": "Business operations specialists, all other",
228
+ "0800": "Accountants and auditors",
229
+ "0810": "Property appraisers and assessors",
230
+ "0820": "Budget analysts",
231
+ "0830": "Credit analysts",
232
+ "0840": "Financial Analysts",
233
+ "0845": "Financial and investment analysts",
234
+ "0850": "Personal financial advisors",
235
+ "0860": "Insurance underwriters",
236
+ "0900": "Financial examiners",
237
+ "0910": "Credit counselors and loan officers",
238
+ "0930": "Tax examiners and collectors, and revenue agents",
239
+ "0940": "Tax preparers",
240
+ "0960": "Other financial specialists",
241
+ "0998": "Professional and related occupations",
242
+ "0999": "Computer and mathematical occupations",
243
+ "1000": "Computer Scientists and Systems Analysts",
244
+ "1005": "Computer and information research scientists",
245
+ "1006": "Computer systems analysts",
246
+ "1007": "Information security analysts",
247
+ "1010": "Computer programmers",
248
+ "1020": "Software Developers, Applications and Systems Software",
249
+ "1021": "Software developers",
250
+ "1022": "Software quality assurance analysts and testers",
251
+ "1030": "Web Developers",
252
+ "1031": "Web developers",
253
+ "1032": "Web or digital interface designers",
254
+ "1050": "Computer support specialists",
255
+ "1065": "Database administrators and architects",
256
+ "1105": "Network and computer systems administrators",
257
+ "1106": "Computer network architects",
258
+ "1107": "Computer Occupations, All Other",
259
+ "1108": "Computer occupations, all other",
260
+ "1110": "Network Systems and Data Communications Analysts",
261
+ "1200": "Actuaries",
262
+ "1210": "Mathematicians",
263
+ "1220": "Operations research analysts",
264
+ "1230": "Statisticians",
265
+ "1240": "Other mathematical science occupations",
266
+ "1299": "Architecture and engineering occupations",
267
+ "1300": "Architects, Except Naval",
268
+ "1305": "Architects, except landscape and naval",
269
+ "1306": "Landscape architects",
270
+ "1310": "Surveyors, cartographers, and photogrammetrists",
271
+ "1320": "Aerospace engineers",
272
+ "1330": "Agricultural engineers",
273
+ "1340": "Biomedical engineers",
274
+ "1350": "Chemical engineers",
275
+ "1360": "Civil engineers",
276
+ "1400": "Computer hardware engineers",
277
+ "1410": "Electrical and electronics engineers",
278
+ "1420": "Environmental engineers",
279
+ "1430": "Industrial engineers, including health and safety",
280
+ "1440": "Marine engineers and naval architects",
281
+ "1450": "Materials engineers",
282
+ "1460": "Mechanical engineers",
283
+ "1500": "Mining and geological engineers, including mining safety engineers",
284
+ "1510": "Nuclear engineers",
285
+ "1520": "Petroleum engineers",
286
+ "1530": "Engineers, all other",
287
+ "1540": "Drafters",
288
+ "1541": "Architectural and civil drafters",
289
+ "1545": "Other drafters",
290
+ "1550": "Engineering Technicians, Except Drafters",
291
+ "1551": "Electrical and electronic engineering technologists and technicians",
292
+ "1555": "Other engineering technologists and technicians, except drafters",
293
+ "1560": "Surveying and mapping technicians",
294
+ "1599": "Life, physical, and social science occupations",
295
+ "1600": "Agricultural and food scientists",
296
+ "1610": "Biological scientists",
297
+ "1640": "Conservation scientists and foresters",
298
+ "1650": "Medical scientists",
299
+ "1660": "Life scientists, all other",
300
+ "1700": "Astronomers and physicists",
301
+ "1710": "Atmospheric and space scientists",
302
+ "1720": "Chemists and materials scientists",
303
+ "1740": "Environmental Scientists and Geoscientists",
304
+ "1745": "Environmental scientists and specialists, including health",
305
+ "1750": "Geoscientists and hydrologists, except geographers",
306
+ "1760": "Physical scientists, all other",
307
+ "1800": "Economists",
308
+ "1810": "Market and Survey Researchers",
309
+ "1815": "Survey researchers",
310
+ "1820": "Psychologists",
311
+ "1821": "Clinical and counseling psychologists",
312
+ "1822": "School psychologists",
313
+ "1825": "Other psychologists",
314
+ "1830": "Sociologists",
315
+ "1840": "Urban and regional planners",
316
+ "1860": "Miscellaneous social scientists and related workers",
317
+ "1900": "Agricultural and food science technicians",
318
+ "1910": "Biological technicians",
319
+ "1920": "Chemical technicians",
320
+ "1935": "Geoscience and environmental science technicians",
321
+ "1940": "Nuclear technicians",
322
+ "1950": "Social science research assistants",
323
+ "1965": "Miscellaneous Life, Physical, and Social Science Technicians",
324
+ "1970": "Other life, physical, and social science technicians",
325
+ "1980": "Occupational health and safety specialists and technicians",
326
+ "1999": "Community and social service occupations",
327
+ "2000": "Counselors",
328
+ "2001": "Substance abuse and behavioral disorder counselors",
329
+ "2002": "Educational, guidance, and career counselors and advisors",
330
+ "2003": "Marriage and family therapists",
331
+ "2004": "Mental health counselors",
332
+ "2005": "Rehabilitation counselors",
333
+ "2006": "Counselors, all other",
334
+ "2010": "Social Workers",
335
+ "2011": "Child, family, and school social workers",
336
+ "2012": "Healthcare social workers",
337
+ "2013": "Mental health and substance abuse social workers",
338
+ "2014": "Social workers, all other",
339
+ "2015": "Probation officers and correctional treatment specialists",
340
+ "2016": "Social and human service assistants",
341
+ "2020": "Miscellaneous Community and Social Service Specialists",
342
+ "2025": "Other community and social service specialists",
343
+ "2040": "Clergy",
344
+ "2050": "Directors, religious activities and education",
345
+ "2060": "Religious workers, all other",
346
+ "2099": "Legal occupations",
347
+ "2100": "Lawyers",
348
+ "2105": "Judicial law clerks",
349
+ "2110": "Judges, magistrates, and other judicial workers",
350
+ "2145": "Paralegals and legal assistants",
351
+ "2160": "Miscellaneous Legal Support Workers",
352
+ "2170": "Title examiners, abstractors, and searchers",
353
+ "2180": "Legal support workers, all other",
354
+ "2199": "Education, training, and library occupations",
355
+ "2200": "Postsecondary Teachers",
356
+ "2205": "Postsecondary teachers",
357
+ "2300": "Preschool and kindergarten teachers",
358
+ "2310": "Elementary and middle school teachers",
359
+ "2320": "Secondary school teachers",
360
+ "2330": "Special education teachers",
361
+ "2340": "Other Teachers and Instructors",
362
+ "2350": "Tutors",
363
+ "2360": "Other teachers and instructors",
364
+ "2400": "Archivists, curators, and museum technicians",
365
+ "2435": "Librarians and media collections specialists",
366
+ "2440": "Library technicians",
367
+ "2545": "Teacher assistants",
368
+ "2550": "Other Education, Training, and Library Workers",
369
+ "2555": "Other educational instruction and library workers",
370
+ "2599": "Arts, design, entertainment, sports, and media occupations",
371
+ "2600": "Artists and related workers",
372
+ "2630": "Designers",
373
+ "2631": "Commercial and industrial designers",
374
+ "2632": "Fashion designers",
375
+ "2633": "Floral designers",
376
+ "2634": "Graphic designers",
377
+ "2635": "Interior designers",
378
+ "2636": "Merchandise displayers and window trimmers",
379
+ "2640": "Other designers",
380
+ "2700": "Actors",
381
+ "2710": "Producers and directors",
382
+ "2720": "Athletes, Coaches, Umpires, and Related Workers",
383
+ "2721": "Athletes and sports competitors",
384
+ "2722": "Coaches and scouts",
385
+ "2723": "Umpires, referees, and other sports officials",
386
+ "2740": "Dancers and choreographers",
387
+ "2750": "Musicians, Singers, and Related Workers",
388
+ "2751": "Music directors and composers",
389
+ "2752": "Musicians and singers",
390
+ "2755": "Disc jockeys, except radio disc jockeys",
391
+ "2760": "Entertainers and Performers, Sports and Related Workers, All Other",
392
+ "2770": "Entertainers and performers, sports and related workers, all other",
393
+ "2800": "Announcers",
394
+ "2805": "Broadcast announcers and radio disc jockeys",
395
+ "2810": "News analysts, reporters, and journalists",
396
+ "2825": "Public relations specialists",
397
+ "2830": "Editors",
398
+ "2840": "Technical writers",
399
+ "2850": "Writers and authors",
400
+ "2860": "Miscellaneous Media and Communication Workers",
401
+ "2861": "Interpreters and translators",
402
+ "2862": "Court reporters and simultaneous captioners",
403
+ "2865": "Media and communication workers, all other",
404
+ "2900": "Broadcast and Sound Engineering Technicians and Radio Operators",
405
+ "2905": "Broadcast, sound, and lighting technicians",
406
+ "2910": "Photographers",
407
+ "2920": "Television, video, and film camera operators and editors",
408
+ "2960": "Media and Communication Equipment Workers, All Other",
409
+ "2970": "Media and communication equipment workers, all other",
410
+ "2999": "Healthcare practitioners and technical occupations",
411
+ "3000": "Chiropractors",
412
+ "3010": "Dentists",
413
+ "3030": "Dietitians and nutritionists",
414
+ "3040": "Optometrists",
415
+ "3050": "Pharmacists",
416
+ "3060": "Physicians and Surgeons",
417
+ "3065": "Emergency medicine physicians",
418
+ "3070": "Radiologists",
419
+ "3090": "Other physicians",
420
+ "3100": "Surgeons",
421
+ "3110": "Physician assistants",
422
+ "3120": "Podiatrists",
423
+ "3140": "Audiologists",
424
+ "3150": "Occupational therapists",
425
+ "3160": "Physical therapists",
426
+ "3200": "Radiation therapists",
427
+ "3210": "Recreational therapists",
428
+ "3220": "Respiratory therapists",
429
+ "3230": "Speech-language pathologists",
430
+ "3235": "Exercise physiologists",
431
+ "3245": "Therapists, all other",
432
+ "3250": "Veterinarians",
433
+ "3255": "Registered nurses",
434
+ "3256": "Nurse anesthetists",
435
+ "3257": "Nurse midwives",
436
+ "3258": "Nurse practitioners",
437
+ "3260": "Health Diagnosing and Treating Practitioners, All Other",
438
+ "3261": "Acupuncturists",
439
+ "3270": "Healthcare diagnosing or treating practitioners, all other",
440
+ "3300": "Clinical laboratory technologists and technicians",
441
+ "3310": "Dental hygienists",
442
+ "3320": "Diagnostic Related Technologists and Technicians",
443
+ "3321": "Cardiovascular technologists and technicians",
444
+ "3322": "Diagnostic medical sonographers",
445
+ "3323": "Radiologic technologists and technicians",
446
+ "3324": "Magnetic resonance imaging technologists",
447
+ "3330": "Nuclear medicine technologists and medical dosimetrists",
448
+ "3400": "Emergency Medical Technicians and Paramedics",
449
+ "3401": "Emergency medical technicians",
450
+ "3402": "Paramedics",
451
+ "3410": "Health Diagnosing and Treating Practitioner Support Technicians",
452
+ "3420": "Health Practitioner Support Technologists and Technicians",
453
+ "3421": "Pharmacy technicians",
454
+ "3422": "Psychiatric technicians",
455
+ "3423": "Surgical technologists",
456
+ "3424": "Veterinary technologists and technicians",
457
+ "3430": "Dietetic technicians and ophthalmic medical technicians",
458
+ "3500": "Licensed practical and licensed vocational nurses",
459
+ "3510": "Medical Records and Health Information Technicians",
460
+ "3515": "Medical records specialists",
461
+ "3520": "Opticians, dispensing",
462
+ "3540": "Other Healthcare Practitioners and Technical Occupations",
463
+ "3545": "Miscellaneous health technologists and technicians",
464
+ "3550": "Other healthcare practitioners and technical occupations",
465
+ "3597": "Service occupations",
466
+ "3599": "Healthcare support occupations",
467
+ "3600": "Nursing, Psychiatric, and Home Health Aides",
468
+ "3601": "Home health aides",
469
+ "3602": "Personal care aides",
470
+ "3603": "Nursing assistants",
471
+ "3605": "Orderlies and psychiatric aides",
472
+ "3610": "Occupational therapy assistants and aides",
473
+ "3620": "Physical therapist assistants and aides",
474
+ "3630": "Massage therapists",
475
+ "3640": "Dental assistants",
476
+ "3645": "Medical assistants",
477
+ "3646": "Medical transcriptionists",
478
+ "3647": "Pharmacy aides",
479
+ "3648": "Veterinary assistants and laboratory animal caretakers",
480
+ "3649": "Phlebotomists",
481
+ "3655": "Other healthcare support workers",
482
+ "3699": "Protective service occupations",
483
+ "3700": "First-line supervisors of correctional officers",
484
+ "3710": "First-line supervisors of police and detectives",
485
+ "3720": "First-line supervisors of fire fighting and prevention workers",
486
+ "3725": "First-line supervisors of security workers",
487
+ "3730": "First-Line Supervisors of Protective Service Workers, All Other",
488
+ "3735": "First-line supervisors of protective service workers, all other",
489
+ "3740": "Firefighters",
490
+ "3750": "Fire inspectors",
491
+ "3800": "Bailiffs, Correctional Officers, and Jailers",
492
+ "3801": "Bailiffs",
493
+ "3802": "Correctional officers and jailers",
494
+ "3820": "Detectives and criminal investigators",
495
+ "3830": "Fish and game wardens",
496
+ "3840": "Parking enforcement workers",
497
+ "3850": "Police and Sheriff's Patrol Officers",
498
+ "3860": "Transit and Railroad Police",
499
+ "3870": "Police officers",
500
+ "3900": "Animal control workers",
501
+ "3910": "Private detectives and investigators",
502
+ "3930": "Security guards and gaming surveillance officers",
503
+ "3940": "Crossing guards and flaggers",
504
+ "3945": "Transportation security screeners",
505
+ "3946": "School bus monitors",
506
+ "3955": "Lifeguards and Other Recreational, and All Other Protective Service Workers",
507
+ "3960": "Other protective service workers",
508
+ "3999": "Food preparation and serving related occupations",
509
+ "4000": "Chefs and head cooks",
510
+ "4010": "First-line supervisors of food preparation and serving workers",
511
+ "4020": "Cooks",
512
+ "4030": "Food preparation workers",
513
+ "4040": "Bartenders",
514
+ "4050": "Combined Food Preparation and Serving Workers, Including Fast Food",
515
+ "4055": "Fast food and counter workers",
516
+ "4060": "Counter Attendants, Cafeteria, Food Concession, and Coffee Shop",
517
+ "4110": "Waiters and waitresses",
518
+ "4120": "Food servers, nonrestaurant",
519
+ "4130": "Dining room and cafeteria attendants and bartender helpers",
520
+ "4140": "Dishwashers",
521
+ "4150": "Hosts and hostesses, restaurant, lounge, and coffee shop",
522
+ "4160": "Food preparation and serving related workers, all other",
523
+ "4199": "Building and grounds cleaning and maintenance occupations",
524
+ "4200": "First-line supervisors of housekeeping and janitorial workers",
525
+ "4210": "First-line supervisors of landscaping, lawn service, and groundskeeping workers",
526
+ "4220": "Janitors and building cleaners",
527
+ "4230": "Maids and housekeeping cleaners",
528
+ "4240": "Pest control workers",
529
+ "4250": "Grounds Maintenance Workers",
530
+ "4251": "Landscaping and groundskeeping workers",
531
+ "4252": "Tree trimmers and pruners",
532
+ "4255": "Other grounds maintenance workers",
533
+ "4299": "Personal care and service occupations",
534
+ "4300": "First-Line Supervisors of Gaming Workers",
535
+ "4320": "First-Line Supervisors of Personal Service Workers",
536
+ "4330": "Supervisors of personal care and service workers",
537
+ "4340": "Animal trainers",
538
+ "4350": "Animal caretakers",
539
+ "4400": "Gambling services workers",
540
+ "4410": "Motion Picture Projectionists",
541
+ "4420": "Ushers, lobby attendants, and ticket takers",
542
+ "4430": "Miscellaneous Entertainment Attendants and Related Workers",
543
+ "4435": "Other entertainment attendants and related workers",
544
+ "4461": "Embalmers, crematory operators and funeral attendants",
545
+ "4465": "Morticians, undertakers, and funeral arrangers",
546
+ "4500": "Barbers",
547
+ "4510": "Hairdressers, hairstylists, and cosmetologists",
548
+ "4520": "Miscellaneous Personal Appearance Workers",
549
+ "4521": "Manicurists and pedicurists",
550
+ "4522": "Skincare specialists",
551
+ "4525": "Other personal appearance workers",
552
+ "4530": "Baggage porters, bellhops, and concierges",
553
+ "4540": "Tour and travel guides",
554
+ "4550": "Transportation Attendants",
555
+ "4600": "Childcare workers",
556
+ "4620": "Recreation and Fitness Workers",
557
+ "4621": "Exercise trainers and group fitness instructors",
558
+ "4622": "Recreation workers",
559
+ "4640": "Residential advisors",
560
+ "4650": "Personal Care and Service Workers, All Other",
561
+ "4655": "Personal care and service workers, all other",
562
+ "4698": "Sales and office occupations",
563
+ "4699": "Sales and related occupations",
564
+ "4700": "First-line supervisors of retail sales workers",
565
+ "4710": "First-line supervisors of non-retail sales workers",
566
+ "4720": "Cashiers",
567
+ "4740": "Counter and rental clerks",
568
+ "4750": "Parts salespersons",
569
+ "4760": "Retail salespersons",
570
+ "4800": "Advertising sales agents",
571
+ "4810": "Insurance sales agents",
572
+ "4820": "Securities, commodities, and financial services sales agents",
573
+ "4830": "Travel agents",
574
+ "4840": "Sales representatives of services, except advertising, insurance, travel, and financial services",
575
+ "4850": "Sales representatives, wholesale and manufacturing",
576
+ "4900": "Models, demonstrators, and product promoters",
577
+ "4920": "Real estate brokers and sales agents",
578
+ "4930": "Sales engineers",
579
+ "4940": "Telemarketers",
580
+ "4950": "Door-to-door sales workers, news and street vendors, and related workers",
581
+ "4965": "Sales and related workers, all other",
582
+ "4999": "Office and administrative support occupations",
583
+ "5000": "First-line supervisors of office and administrative support workers",
584
+ "5010": "Switchboard operators, including answering service",
585
+ "5020": "Telephone operators",
586
+ "5040": "Communications equipment operators, all other",
587
+ "5100": "Bill and account collectors",
588
+ "5110": "Billing and posting clerks",
589
+ "5120": "Bookkeeping, accounting, and auditing clerks",
590
+ "5130": "Gambling cage workers",
591
+ "5140": "Payroll and timekeeping clerks",
592
+ "5150": "Procurement clerks",
593
+ "5160": "Tellers",
594
+ "5165": "Financial clerks, all other",
595
+ "5200": "Brokerage clerks",
596
+ "5210": "Correspondence clerks",
597
+ "5220": "Court, municipal, and license clerks",
598
+ "5230": "Credit authorizers, checkers, and clerks",
599
+ "5240": "Customer service representatives",
600
+ "5250": "Eligibility interviewers, government programs",
601
+ "5260": "File Clerks",
602
+ "5300": "Hotel, motel, and resort desk clerks",
603
+ "5310": "Interviewers, except eligibility and loan",
604
+ "5320": "Library assistants, clerical",
605
+ "5330": "Loan interviewers and clerks",
606
+ "5340": "New accounts clerks",
607
+ "5350": "Order clerks",
608
+ "5360": "Human resources assistants, except payroll and timekeeping",
609
+ "5400": "Receptionists and information clerks",
610
+ "5410": "Reservation and transportation ticket agents and travel clerks",
611
+ "5420": "Information and record clerks, all other",
612
+ "5500": "Cargo and freight agents",
613
+ "5510": "Couriers and messengers",
614
+ "5520": "Dispatchers",
615
+ "5521": "Public safety telecommunicators",
616
+ "5522": "Dispatchers, except police, fire, and ambulance",
617
+ "5530": "Meter readers, utilities",
618
+ "5540": "Postal service clerks",
619
+ "5550": "Postal service mail carriers",
620
+ "5560": "Postal service mail sorters, processors, and processing machine operators",
621
+ "5600": "Production, planning, and expediting clerks",
622
+ "5610": "Shipping, receiving, and inventory clerks",
623
+ "5630": "Weighers, measurers, checkers, and samplers, recordkeeping",
624
+ "5700": "Secretaries and Administrative Assistants",
625
+ "5710": "Executive secretaries and executive administrative assistants",
626
+ "5720": "Legal secretaries and administrative assistants",
627
+ "5730": "Medical secretaries and administrative assistants",
628
+ "5740": "Secretaries and administrative assistants, except legal, medical, and executive",
629
+ "5810": "Data entry keyers",
630
+ "5820": "Word processors and typists",
631
+ "5830": "Desktop publishers",
632
+ "5840": "Insurance claims and policy processing clerks",
633
+ "5850": "Mail clerks and mail machine operators, except postal service",
634
+ "5860": "Office clerks, general",
635
+ "5900": "Office machine operators, except computer",
636
+ "5910": "Proofreaders and copy markers",
637
+ "5920": "Statistical assistants",
638
+ "5940": "Office and administrative support workers, all other",
639
+ "5998": "Natural resources, construction, and maintenance occupations",
640
+ "5999": "Farming, fishing, and forestry occupations",
641
+ "6005": "First-line supervisors of farming, fishing, and forestry workers",
642
+ "6010": "Agricultural inspectors",
643
+ "6020": "Animal breeders",
644
+ "6040": "Graders and sorters, agricultural products",
645
+ "6050": "Miscellaneous agricultural workers",
646
+ "6100": "Fishers and Related Fishing Workers",
647
+ "6110": "Hunters and Trappers",
648
+ "6115": "Fishing and hunting workers",
649
+ "6120": "Forest and conservation workers",
650
+ "6130": "Logging workers",
651
+ "6199": "Construction and extraction occupations",
652
+ "6200": "First-line supervisors of construction trades and extraction workers",
653
+ "6210": "Boilermakers",
654
+ "6220": "Brickmasons, blockmasons, and stonemasons",
655
+ "6230": "Carpenters",
656
+ "6240": "Carpet, floor, and tile installers and finishers",
657
+ "6250": "Cement masons, concrete finishers, and terrazzo workers",
658
+ "6260": "Construction laborers",
659
+ "6300": "Paving, Surfacing, and Tamping Equipment Operators",
660
+ "6305": "Construction equipment operators",
661
+ "6310": "Pile-Driver Operators",
662
+ "6320": "Operating Engineers and Other Construction Equipment Operators",
663
+ "6330": "Drywall installers, ceiling tile installers, and tapers",
664
+ "6355": "Electricians",
665
+ "6360": "Glaziers",
666
+ "6400": "Insulation workers",
667
+ "6410": "Painters and paperhangers",
668
+ "6420": "Painters, Construction and Maintenance",
669
+ "6430": "Paperhangers",
670
+ "6440": "Pipelayers, Plumbers, Pipefitters, and Steamfitters",
671
+ "6441": "Pipelayers",
672
+ "6442": "Plumbers, pipefitters, and steamfitters",
673
+ "6460": "Plasterers and stucco masons",
674
+ "6500": "Reinforcing iron and rebar workers",
675
+ "6515": "Roofers",
676
+ "6520": "Sheet metal workers",
677
+ "6530": "Structural iron and steel workers",
678
+ "6540": "Solar photovoltaic installers",
679
+ "6600": "Helpers, construction trades",
680
+ "6660": "Construction and building inspectors",
681
+ "6700": "Elevator installers and repairers",
682
+ "6710": "Fence erectors",
683
+ "6720": "Hazardous materials removal workers",
684
+ "6730": "Highway maintenance workers",
685
+ "6740": "Rail-track laying and maintenance equipment operators",
686
+ "6750": "Septic tank servicers and sewer pipe cleaners",
687
+ "6765": "Miscellaneous construction and related workers",
688
+ "6800": "Derrick, rotary drill, and service unit operators, oil and gas",
689
+ "6820": "Earth Drillers, Except Oil and Gas",
690
+ "6821": "Excavating and loading machine and dragline operators, surface mining",
691
+ "6825": "Earth drillers, except oil and gas",
692
+ "6835": "Explosives workers, ordnance handling experts, and blasters",
693
+ "6840": "Mining Machine Operators",
694
+ "6850": "Underground mining machine operators",
695
+ "6910": "Roof Bolters, Mining",
696
+ "6920": "Roustabouts, oil and gas",
697
+ "6930": "Helpers--Extraction Workers",
698
+ "6940": "Other Extraction Workers",
699
+ "6950": "Other extraction workers",
700
+ "6999": "Installation, maintenance, and repair occupations",
701
+ "7000": "First-line supervisors of mechanics, installers, and repairers",
702
+ "7010": "Computer, automated teller, and office machine repairers",
703
+ "7020": "Radio and telecommunications equipment installers and repairers",
704
+ "7030": "Avionics technicians",
705
+ "7040": "Electric motor, power tool, and related repairers",
706
+ "7050": "Electrical and electronics installers and repairers, transportation equipment",
707
+ "7100": "Electrical and electronics repairers, industrial and utility",
708
+ "7110": "Electronic equipment installers and repairers, motor vehicles",
709
+ "7120": "Electronic home entertainment equipment installers and repairers",
710
+ "7130": "Security and fire alarm systems installers",
711
+ "7140": "Aircraft mechanics and service technicians",
712
+ "7150": "Automotive body and related repairers",
713
+ "7160": "Automotive glass installers and repairers",
714
+ "7200": "Automotive service technicians and mechanics",
715
+ "7210": "Bus and truck mechanics and diesel engine specialists",
716
+ "7220": "Heavy vehicle and mobile equipment service technicians and mechanics",
717
+ "7240": "Small engine mechanics",
718
+ "7260": "Miscellaneous vehicle and mobile equipment mechanics, installers, and repairers",
719
+ "7300": "Control and valve installers and repairers",
720
+ "7315": "Heating, air conditioning, and refrigeration mechanics and installers",
721
+ "7320": "Home appliance repairers",
722
+ "7330": "Industrial and refractory machinery mechanics",
723
+ "7340": "Industrial and refractory machinery mechanics",
724
+ "7350": "Maintenance workers, machinery",
725
+ "7360": "Millwrights",
726
+ "7410": "Electrical power-line installers and repairers",
727
+ "7420": "Telecommunications line installers and repairers",
728
+ "7430": "Precision instrument and equipment repairers",
729
+ "7440": "Wind turbine service technicians",
730
+ "7510": "Coin, vending, and amusement machine servicers and repairers",
731
+ "7520": "Commercial divers",
732
+ "7540": "Locksmiths and safe repairers",
733
+ "7550": "Manufactured building and mobile home installers",
734
+ "7560": "Riggers",
735
+ "7600": "Signal and Track Switch Repairers",
736
+ "7610": "Helpers, installation, maintenance, and repair workers",
737
+ "7630": "Other Installation, Maintenance, and Repair Workers",
738
+ "7640": "Other installation, maintenance, and repair workers",
739
+ "7698": "Production, transportation, and material moving occupations",
740
+ "7699": "Production occupations",
741
+ "7700": "First-line supervisors of production and operating workers",
742
+ "7710": "Aircraft structure, surfaces, rigging, and systems assemblers",
743
+ "7720": "Electrical, electronics, and electromechanical assemblers",
744
+ "7730": "Engine and other machine assemblers",
745
+ "7740": "Structural metal fabricators and fitters",
746
+ "7750": "Other assemblers and fabricators",
747
+ "7800": "Bakers",
748
+ "7810": "Butchers and other meat, poultry, and fish processing workers",
749
+ "7830": "Food and tobacco roasting, baking, and drying machine operators and tenders",
750
+ "7840": "Food batchmakers",
751
+ "7850": "Food cooking machine operators and tenders",
752
+ "7855": "Food processing workers, all other",
753
+ "7905": "Computer numerically controlled tool programmers and operators",
754
+ "7920": "Extruding and Drawing Machine Setters, Operators, and Tenders, Metal and Plastic",
755
+ "7925": "Forming machine setters, operators, and tenders, metal and plastic",
756
+ "7930": "Forging Machine Setters, Operators, and Tenders, Metal and Plastic",
757
+ "7940": "Rolling Machine Setters, Operators, and Tenders, Metal and Plastic",
758
+ "7950": "Cutting, punching, and press machine setters, operators, and tenders, metal and plastic",
759
+ "7960": "Drilling and Boring Machine Tool Setters, Operators, and Tenders, Metal and Plastic",
760
+ "8000": "Grinding, lapping, polishing, and buffing machine tool setters, operators, and tenders, metal and pl",
761
+ "8010": "Lathe and Turning Machine Tool Setters, Operators, and Tenders, Metal and Plastic",
762
+ "8020": "Milling and Planing Machine Setters, Operators, and Tenders, Metal and Plastic",
763
+ "8025": "Other machine tool setters, operators, and tenders, metal and plastic",
764
+ "8030": "Machinists",
765
+ "8040": "Metal furnace operators, tenders, pourers, and casters",
766
+ "8060": "Model makers and patternmakers, metal and plastic",
767
+ "8100": "Molders and molding machine setters, operators, and tenders, metal and plastic",
768
+ "8120": "Multiple Machine Tool Setters, Operators, and Tenders, Metal and Plastic",
769
+ "8130": "Tool and die makers",
770
+ "8140": "Welding, soldering, and brazing workers",
771
+ "8150": "Heat Treating Equipment Setters, Operators, and Tenders, Metal and Plastic",
772
+ "8160": "Layout Workers, Metal and Plastic",
773
+ "8200": "Plating and Coating Machine Setters, Operators, and Tenders, Metal and Plastic",
774
+ "8210": "Tool Grinders, Filers, and Sharpeners",
775
+ "8220": "Metal Workers and Plastic Workers, All Other",
776
+ "8225": "Other metal workers and plastic workers",
777
+ "8240": "Job Printers",
778
+ "8250": "Prepress technicians and workers",
779
+ "8255": "Printing press operators",
780
+ "8256": "Print binding and finishing workers",
781
+ "8260": "Printing Machine Operators",
782
+ "8300": "Laundry and dry-cleaning workers",
783
+ "8310": "Pressers, textile, garment, and related materials",
784
+ "8320": "Sewing machine operators",
785
+ "8330": "Shoe and Leather Workers and Repairers",
786
+ "8335": "Shoe and leather workers",
787
+ "8340": "Shoe Machine Operators and Tenders",
788
+ "8350": "Tailors, dressmakers, and sewers",
789
+ "8360": "Textile Bleaching and Dyeing Machine Operators and Tenders",
790
+ "8365": "Textile machine setters, operators, and tenders",
791
+ "8400": "Textile Cutting Machine Setters, Operators, and Tenders",
792
+ "8410": "Textile Knitting and Weaving Machine Setters, Operators, and Tenders",
793
+ "8420": "Textile Winding, Twisting, and Drawing Out Machine Setters, Operators, and Tenders",
794
+ "8430": "Extruding and Forming Machine Setters, Operators, and Tenders, Synthetic and Glass Fibers",
795
+ "8440": "Fabric and Apparel Patternmakers",
796
+ "8450": "Upholsterers",
797
+ "8460": "Textile, Apparel, and Furnishings Workers, All Other",
798
+ "8465": "Other textile, apparel, and furnishings workers",
799
+ "8500": "Cabinetmakers and bench carpenters",
800
+ "8510": "Furniture finishers",
801
+ "8520": "Model Makers and Patternmakers, Wood",
802
+ "8530": "Sawing machine setters, operators, and tenders, wood",
803
+ "8540": "Woodworking machine setters, operators, and tenders, except sawing",
804
+ "8550": "Woodworkers, All Other",
805
+ "8555": "Other woodworkers",
806
+ "8600": "Power plant operators, distributors, and dispatchers",
807
+ "8610": "Stationary engineers and boiler operators",
808
+ "8620": "Water and wastewater treatment plant and system operators",
809
+ "8630": "Miscellaneous plant and system operators",
810
+ "8640": "Chemical processing machine setters, operators, and tenders",
811
+ "8650": "Crushing, grinding, polishing, mixing, and blending workers",
812
+ "8710": "Cutting workers",
813
+ "8720": "Extruding, forming, pressing, and compacting machine setters, operators, and tenders",
814
+ "8730": "Furnace, kiln, oven, drier, and kettle operators and tenders",
815
+ "8740": "Inspectors, testers, sorters, samplers, and weighers",
816
+ "8750": "Jewelers and precious stone and metal workers",
817
+ "8760": "Dental and ophthalmic laboratory technicians and medical appliance technicians",
818
+ "8800": "Packaging and filling machine operators and tenders",
819
+ "8810": "Painting workers",
820
+ "8830": "Photographic process workers and processing machine operators",
821
+ "8840": "Semiconductor Processors",
822
+ "8850": "Adhesive bonding machine operators and tenders",
823
+ "8860": "Cleaning, Washing, and Metal Pickling Equipment Operators and Tenders",
824
+ "8865": "Other production equipment operators and tenders",
825
+ "8900": "Cooling and Freezing Equipment Operators and Tenders",
826
+ "8910": "Etchers and engravers",
827
+ "8920": "Molders, shapers, and casters, except metal and plastic",
828
+ "8930": "Paper goods machine setters, operators, and tenders",
829
+ "8940": "Tire builders",
830
+ "8950": "Helpers, production workers",
831
+ "8965": "Production Workers, All Other",
832
+ "8990": "Other production workers",
833
+ "8999": "Transportation and material moving occupations",
834
+ "9005": "Supervisors of transportation and material moving workers",
835
+ "9030": "Aircraft pilots and flight engineers",
836
+ "9040": "Air traffic controllers and airfield operations specialists",
837
+ "9050": "Flight attendants",
838
+ "9110": "Ambulance drivers and attendants, except emergency medical technicians",
839
+ "9120": "Bus Drivers",
840
+ "9121": "Bus drivers, school",
841
+ "9122": "Bus drivers, transit and intercity",
842
+ "9130": "Driver/sales workers and truck drivers",
843
+ "9140": "Taxi Drivers and Chauffeurs",
844
+ "9141": "Shuttle drivers and chauffeurs",
845
+ "9142": "Taxi drivers",
846
+ "9150": "Motor vehicle operators, all other",
847
+ "9200": "Locomotive Engineers and Operators",
848
+ "9210": "Locomotive engineers and operators",
849
+ "9230": "Railroad Brake, Signal, and Switch Operators",
850
+ "9240": "Railroad conductors and yardmasters",
851
+ "9260": "Subway, Streetcar, and Other Rail Transportation Workers",
852
+ "9265": "Other rail transportation workers",
853
+ "9300": "Sailors and marine oilers",
854
+ "9310": "Ship and boat captains and operators",
855
+ "9330": "Ship engineers",
856
+ "9340": "Bridge and Lock Tenders",
857
+ "9350": "Parking attendants",
858
+ "9360": "Automotive and Watercraft Service Attendants",
859
+ "9365": "Transportation service attendants",
860
+ "9410": "Transportation inspectors",
861
+ "9415": "Passenger attendants",
862
+ "9420": "Other Transportation Workers",
863
+ "9430": "Other transportation workers",
864
+ "9500": "Conveyor Operators and Tenders",
865
+ "9510": "Crane and tower operators",
866
+ "9520": "Dredge, Excavating, and Loading Machine Operators",
867
+ "9560": "Hoist and Winch Operators",
868
+ "9570": "Conveyor, dredge, and hoist and winch operators",
869
+ "9600": "Industrial truck and tractor operators",
870
+ "9610": "Cleaners of vehicles and equipment",
871
+ "9620": "Laborers and freight, stock, and material movers, hand",
872
+ "9630": "Machine feeders and offbearers",
873
+ "9640": "Packers and packagers, hand",
874
+ "9645": "Stockers and order fillers",
875
+ "9650": "Pumping station operators",
876
+ "9720": "Refuse and recyclable material collectors",
877
+ "9730": "Mine Shuttle Car Operators",
878
+ "9740": "Tank Car, Truck, and Ship Loaders",
879
+ "9750": "Material Moving Workers, All Other",
880
+ "9760": "Other material moving workers"
881
+ },
882
+ "education_code": {
883
+ "00": "All educational levels",
884
+ "10": "Some High School or High School Graduate",
885
+ "11": "Less than a High School diploma",
886
+ "12": "Less than 1 year of High School",
887
+ "15": "1 to 3 years of high school",
888
+ "16": "4 years of High School, no diploma",
889
+ "18": "High school graduates or more",
890
+ "19": "High School graduates, no college",
891
+ "20": "Some college or associate degree",
892
+ "21": "Some college, no degree",
893
+ "25": "Associate degree",
894
+ "26": "Associate degree, occupational program",
895
+ "27": "Associate degree, academic program",
896
+ "30": "Less than a high school diploma (discontinued)",
897
+ "31": "High school graduates, no college (discontinued)",
898
+ "32": "Some college, no degree (discontinued)",
899
+ "33": "College graduates (discontinued)",
900
+ "34": "Associate degree (discontinued)",
901
+ "35": "Less than a bachelor's degree (discontinued)",
902
+ "36": "Some college or associate degree (discontinued)",
903
+ "37": "Bachelor's degree only (discontinued)",
904
+ "38": "Advanced degree (discontinued)",
905
+ "39": "Bachelor's degree and higher (discontinued)",
906
+ "40": "Bachelor's degree and higher",
907
+ "41": "Bachelor's degree only",
908
+ "45": "Advanced degree",
909
+ "46": "Master's degree",
910
+ "47": "Professional degree",
911
+ "48": "Doctoral degree"
912
+ },
913
+ "ages_code": {
914
+ "00": "16 years and over",
915
+ "08": "16 to 19 years",
916
+ "10": "16 to 24 years",
917
+ "20": "20 to 24 years",
918
+ "28": "25 years and over",
919
+ "30": "25 to 29 years",
920
+ "31": "25 to 34 years",
921
+ "33": "25 to 54 years",
922
+ "36": "30 to 34 years",
923
+ "37": "35 to 39 years",
924
+ "38": "35 to 44 years",
925
+ "39": "40 to 44 years",
926
+ "41": "45 to 49 years",
927
+ "42": "45 to 54 years",
928
+ "44": "50 to 54 years",
929
+ "45": "55 years and over",
930
+ "48": "55 to 59 years",
931
+ "49": "55 to 64 years",
932
+ "57": "60 to 64 years",
933
+ "65": "65 years and over",
934
+ "66": "65 to 69 years",
935
+ "72": "70 years and over"
936
+ },
937
+ "race_code": {
938
+ "00": "All Races",
939
+ "01": "White",
940
+ "03": "Black or African American",
941
+ "04": "Asian"
942
+ },
943
+ "orig_code": {
944
+ "00": "All Origins",
945
+ "01": "Hispanic or Latino",
946
+ "10": "Non-Hispanic"
947
+ },
948
+ "sexs_code": {
949
+ "0": "Both Sexes",
950
+ "1": "Men",
951
+ "2": "Women"
952
+ },
953
+ "born_code": {
954
+ "00": null,
955
+ "01": "Native born",
956
+ "02": "Foreign born"
957
+ },
958
+ "footnote_code": {
959
+ "7": "Data do not meet publication criteria.",
960
+ "C": "Corrected"
961
+ }
962
+ },
963
+ "lu": {
964
+ "lfst_code": {
965
+ "20": "Employed",
966
+ "25": "Employed full time",
967
+ "26": "Employed part time"
968
+ },
969
+ "fips_code": {
970
+ "00": "U.S. Total",
971
+ "01": "Alabama",
972
+ "02": "Alaska",
973
+ "04": "Arizona",
974
+ "05": "Arkansas",
975
+ "06": "California",
976
+ "08": "Colorado",
977
+ "09": "Connecticut",
978
+ "10": "Delaware",
979
+ "11": "District of Columbia",
980
+ "12": "Florida",
981
+ "13": "Georgia",
982
+ "15": "Hawaii",
983
+ "16": "Idaho",
984
+ "17": "Illinois",
985
+ "18": "Indiana",
986
+ "19": "Iowa",
987
+ "20": "Kansas",
988
+ "21": "Kentucky",
989
+ "22": "Louisiana",
990
+ "23": "Maine",
991
+ "24": "Maryland",
992
+ "25": "Massachusetts",
993
+ "26": "Michigan",
994
+ "27": "Minnesota",
995
+ "28": "Mississippi",
996
+ "29": "Missouri",
997
+ "30": "Montana",
998
+ "31": "Nebraska",
999
+ "32": "Nevada",
1000
+ "33": "New Hampshire",
1001
+ "34": "New Jersey",
1002
+ "35": "New Mexico",
1003
+ "36": "New York",
1004
+ "37": "North Carolina",
1005
+ "38": "North Dakota",
1006
+ "39": "Ohio",
1007
+ "40": "Oklahoma",
1008
+ "41": "Oregon",
1009
+ "42": "Pennsylvania",
1010
+ "44": "Rhode Island",
1011
+ "45": "South Carolina",
1012
+ "46": "South Dakota",
1013
+ "47": "Tennessee",
1014
+ "48": "Texas",
1015
+ "49": "Utah",
1016
+ "50": "Vermont",
1017
+ "51": "Virginia",
1018
+ "53": "Washington",
1019
+ "54": "West Virginia",
1020
+ "55": "Wisconsin",
1021
+ "56": "Wyoming"
1022
+ },
1023
+ "tdata_code": {
1024
+ "00": "Person counts (number in thousands)",
1025
+ "01": "Percents/rates/ratios"
1026
+ },
1027
+ "pcts_code": {
1028
+ "00": null,
1029
+ "05": "Percent of employed within group"
1030
+ },
1031
+ "earn_code": {
1032
+ "00": "Person counts (number in thousands)",
1033
+ "01": "Median usual weekly earnings - in current dollars (second quartile)"
1034
+ },
1035
+ "class_code": {
1036
+ "03": "Government wage and salary workers",
1037
+ "04": "Federal wage and salary workers",
1038
+ "05": "State wage and salary workers",
1039
+ "06": "Local wage and salary workers",
1040
+ "16": "Wage and salary workers, excluding incorporated self employed",
1041
+ "17": "Private wage and salary workers, excluding incorporated self employed"
1042
+ },
1043
+ "unin_code": {
1044
+ "0": null,
1045
+ "1": "Members of unions",
1046
+ "2": "Represented by unions",
1047
+ "3": "Non-union"
1048
+ },
1049
+ "indy_code": {
1050
+ "0000": "All Industries",
1051
+ "0168": "Agriculture and related industries",
1052
+ "0368": "Nonagriculture industries",
1053
+ "0369": "Mining, quarrying, and oil and gas extraction",
1054
+ "0569": "Utilities",
1055
+ "0770": "Construction",
1056
+ "1068": "Nondurable goods manufacturing",
1057
+ "2467": "Manufacturing",
1058
+ "2468": "Durable goods manufacturing",
1059
+ "4067": "Wholesale and retail trade",
1060
+ "4068": "Wholesale trade",
1061
+ "4669": "Retail trade",
1062
+ "6068": "Transportation and utilities",
1063
+ "6069": "Transportation and warehousing",
1064
+ "6468": "Information",
1065
+ "6469": "Publishing, except Internet",
1066
+ "6569": "Motion pictures and sound recording industries",
1067
+ "6670": "Radio and television broadcasting and cable subscriptions programming",
1068
+ "6679": "Telecommunications",
1069
+ "6769": "Other information services",
1070
+ "6867": "Financial activities",
1071
+ "6868": "Finance and insurance",
1072
+ "6869": "Finance",
1073
+ "6990": "Insurance carriers and related activities",
1074
+ "7069": "Real estate and rental and leasing",
1075
+ "7268": "Professional and business services",
1076
+ "7269": "Professional and technical services",
1077
+ "7569": "Management, administrative, and waste services",
1078
+ "7858": "Education and health services",
1079
+ "7859": "Educational services",
1080
+ "7968": "Health care and social assistance",
1081
+ "8558": "Leisure and hospitality",
1082
+ "8559": "Arts, entertainment, and recreation",
1083
+ "8658": "Accommodation and food services",
1084
+ "8659": "Accommodation",
1085
+ "8679": "Food services and drinking places",
1086
+ "8767": "Other services",
1087
+ "8768": "Other services, except private households",
1088
+ "9290": "Other services, private households"
1089
+ },
1090
+ "occupation_code": {
1091
+ "0000": "All Occupations",
1092
+ "0007": "Management, professional, and related occupations",
1093
+ "0008": "Management, business, and financial operations occupations",
1094
+ "0009": "Management occupations",
1095
+ "0499": "Business and financial operations occupations",
1096
+ "0998": "Professional and related occupations",
1097
+ "0999": "Computer and mathematical occupations",
1098
+ "1299": "Architecture and engineering occupations",
1099
+ "1599": "Life, physical, and social science occupations",
1100
+ "1999": "Community and social services occupations",
1101
+ "2099": "Legal occupations",
1102
+ "2199": "Education, training, and library occupations",
1103
+ "2599": "Arts, design, entertainment, sports, and media occupations",
1104
+ "2999": "Healthcare practitioner and technical occupations",
1105
+ "3597": "Service occupations",
1106
+ "3599": "Healthcare support occupations",
1107
+ "3699": "Protective service occupations",
1108
+ "3999": "Food preparation and serving related occupations",
1109
+ "4199": "Building and grounds cleaning and maintenance occupations",
1110
+ "4299": "Personal care and service occupations",
1111
+ "4698": "Sales and office occupations",
1112
+ "4699": "Sales and related occupations",
1113
+ "4999": "Office and administrative support occupations",
1114
+ "5998": "Natural resources, construction, and maintenance occupations",
1115
+ "5999": "Farming, fishing, and forestry occupations",
1116
+ "6199": "Construction and extraction occupations",
1117
+ "6999": "Installation, maintenance, and repair occupations",
1118
+ "7698": "Production, transportation, and material moving occupations",
1119
+ "7699": "Production occupations",
1120
+ "8999": "Transportation and material moving occupations"
1121
+ },
1122
+ "education_code": {
1123
+ "00": null
1124
+ },
1125
+ "ages_code": {
1126
+ "00": "16 years and over",
1127
+ "10": "16 to 24 years",
1128
+ "28": "25 years and over",
1129
+ "31": "25 to 34 years",
1130
+ "38": "35 to 44 years",
1131
+ "42": "45 to 54 years",
1132
+ "49": "55 to 64 years",
1133
+ "65": "65 years and over"
1134
+ },
1135
+ "race_code": {
1136
+ "00": "All Races",
1137
+ "01": "White",
1138
+ "03": "Black or African American",
1139
+ "04": "Asian"
1140
+ },
1141
+ "orig_code": {
1142
+ "00": "All Origins",
1143
+ "01": "Hispanic or Latino"
1144
+ },
1145
+ "sexs_code": {
1146
+ "0": "Both Sexes",
1147
+ "1": "Men",
1148
+ "2": "Women"
1149
+ },
1150
+ "footnote_code": {
1151
+ "5": "1983-99 estimates exclude agricultural workers; as a result, 1983-99 private and government estimates will not sum to total.",
1152
+ "7": "Data do not meet publication criteria."
1153
+ }
1154
+ }
1155
+ }
openbb_platform/providers/bls/openbb_bls/assets/cps_series.xz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37ed7d174bc5b7ee72f56a1dfb0c920311eeb7eae94e1b09dbe42cc6dbcd7e12
3
+ size 150428
openbb_platform/providers/bls/openbb_bls/assets/ec_codes.json ADDED
@@ -0,0 +1,430 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cm": {
3
+ "owner_code": {
4
+ "1": "Civilian workers",
5
+ "2": "Private industry workers",
6
+ "3": "State and local government workers"
7
+ },
8
+ "industry_code": {
9
+ "000000": "All workers",
10
+ "220000": "Utilities",
11
+ "230000": "Construction",
12
+ "300000": "Manufacturing",
13
+ "336411": "Aircraft manufacturing",
14
+ "400000": "Trade, transportation, and utilities",
15
+ "412000": "Retail trade",
16
+ "420000": "Wholesale trade",
17
+ "430000": "Transportation and warehousing",
18
+ "510000": "Information",
19
+ "520000": "Finance and insurance",
20
+ "520A00": "Financial activities",
21
+ "522000": "Credit intermediation",
22
+ "524000": "Insurance carriers",
23
+ "530000": "Real estate and rental and leasing",
24
+ "540000": "Professional, scientific, and technical services",
25
+ "540A00": "Professional and business services",
26
+ "560000": "Administrative and support and waste management and remediation services",
27
+ "600000": "Education and health services",
28
+ "610000": "Educational services",
29
+ "611100": "Elementary and secondary schools",
30
+ "612000": "Junior colleges, colleges, universities, and professional schools",
31
+ "620000": "Health care and social assistance",
32
+ "622000": "Hospitals",
33
+ "623000": "Nursing and residential care facilities",
34
+ "623100": "Nursing care facilities",
35
+ "700000": "Leisure and hospitality",
36
+ "720000": "Accommodation and food services",
37
+ "810000": "Other services (except public administration)",
38
+ "920000": "Public administration",
39
+ "DISCON": "Discontinued codes",
40
+ "G00000": "Goods producing",
41
+ "S00000": "Service providing"
42
+ },
43
+ "occupation_code": {
44
+ "000000": "All workers",
45
+ "111300": "Management, business, and financial occupations",
46
+ "112900": "Management, professional and related occupations",
47
+ "152900": "Professional and related occupations",
48
+ "250001": "Teachers",
49
+ "252000": "Primary, secondary, and special education school teachers",
50
+ "291111": "Registered nurses",
51
+ "313900": "Service occupations",
52
+ "410000": "Sales and related occupations",
53
+ "414300": "Sales and office occupations",
54
+ "430000": "Office and administrative support occupations",
55
+ "454700": "Construction, and extraction, farming, fishing, and forestry occupations",
56
+ "454900": "Natural resources, construction, and maintenance occupations",
57
+ "470000": "Construction and extraction occupations",
58
+ "490000": "Installation, maintenance, and repair occupations",
59
+ "510000": "Production occupations",
60
+ "515300": "Production, transportation, and material moving occupations",
61
+ "530000": "Transportation and material moving occupations",
62
+ "DISCON": "Discontinued Codes"
63
+ },
64
+ "subcell_code": {
65
+ "00": "All workers",
66
+ "01": "Less than 100 workers",
67
+ "02": "Less than 50 workers",
68
+ "04": "50-99 workers",
69
+ "05": "100 workers or more",
70
+ "06": "100-499 workers",
71
+ "07": "500 workers or more",
72
+ "23": "Union",
73
+ "24": "Nonunion",
74
+ "25": "Full time",
75
+ "26": "Part time",
76
+ "AA": "Establishment Size",
77
+ "AB": "Region and Division",
78
+ "AC": "Metropolitan Statistical Areas",
79
+ "AD": "Bargaining Status",
80
+ "AE": "Full-time and Part-time Work Status",
81
+ "AF": "Time and Incentive Status",
82
+ "AG": "Average Wage",
83
+ "AH": "Civilian Wage Percentiles",
84
+ "AI": "Private Wage Percentiles",
85
+ "AJ": "Government Wage Percentiles",
86
+ "AK": "Plan Sponsor"
87
+ },
88
+ "area_code": {
89
+ "00122": "Atlanta-Athens-Clarke County-Sandy Springs, GA CSA",
90
+ "00148": "Boston-Worcester-Providence, MA-RI-NH-CT CSA",
91
+ "00176": "Chicago-Naperville, IL-IN-WI CSA",
92
+ "00206": "Dallas-Fort Worth, TX-OK CSA",
93
+ "00220": "Detroit-Warren-Ann Arbor, MI CSA",
94
+ "00288": "Houston-The Woodlands, TX CSA",
95
+ "00348": "Los Angeles-Long Beach, CA CSA",
96
+ "00378": "Minneapolis-St. Paul, MN-WI CSA",
97
+ "00408": "New York-Newark, NY-NJ-CT-PA CSA",
98
+ "00428": "Philadelphia-Reading-Camden, PA-NJ-DE-MD CSA",
99
+ "00488": "San Jose-San Francisco-Oakland, CA CSA",
100
+ "00500": "Seattle-Tacoma, WA CSA",
101
+ "00548": "Washington-Baltimore-Arlington, DC-MD-VA-WV-PA CSA",
102
+ "33100": "Miami-Fort Lauderdale-Port St. Lucie, FL CSA",
103
+ "38060": "Phoenix-Mesa-Scottsdale, AZ MSA",
104
+ "98100": "Northeast census region",
105
+ "98200": "South census region",
106
+ "98300": "Midwest census region",
107
+ "98400": "West census region",
108
+ "98999": "Regions, divisions, and statistical areas",
109
+ "99100": "New England census division",
110
+ "99120": "Middle Atlantic census division",
111
+ "99130": "East South Central census division",
112
+ "99140": "South Atlantic census division",
113
+ "99150": "East North Central census division",
114
+ "99160": "West North Central census division",
115
+ "99170": "West South Central census division",
116
+ "99180": "Mountain census division",
117
+ "99190": "Pacific census division",
118
+ "99200": "Metropolitan statistical areas",
119
+ "99210": "Metropolitan",
120
+ "99220": "Nonmetropolitan",
121
+ "99999": "United States (National)"
122
+ },
123
+ "datatype_code": {
124
+ "D": "Cost of compensation (Cost per hour worked)",
125
+ "L": "Average employer cost per employee hour worked at 50th percentile (median), constant dollar",
126
+ "M": "Average employer cost per employee worked at 50th percentile (median), current dollar",
127
+ "N": "Average employer cost per employee hour worked at 90th percentile, current dollar",
128
+ "P": "Percent of total compensation",
129
+ "R": "Average employer cost per employee hour worked at 90th percentile, constant dollar",
130
+ "T": "Average employer cost per employee hour worked at 10th percentile, current dollar",
131
+ "X": "Average employer cost per employee hour worked at 10th percentile, constant dollar"
132
+ },
133
+ "estimate_code": {
134
+ "01": "Total compensation",
135
+ "02": "Wages and salaries",
136
+ "03": "Total benefits",
137
+ "04": "Paid leave",
138
+ "05": "Vacation",
139
+ "06": "Holiday",
140
+ "07": "Sick leave",
141
+ "08": "Personal leave",
142
+ "09": "Supplemental pay",
143
+ "10": "Overtime and premium pay",
144
+ "11": "Shift differentials",
145
+ "12": "Nonproduction bonuses",
146
+ "13": "Insurance",
147
+ "14": "Life insurance",
148
+ "15": "Health insurance",
149
+ "16": "Short-term disability insurance",
150
+ "17": "Long-term disability insurance",
151
+ "18": "Retirement and savings",
152
+ "19": "Defined benefit",
153
+ "20": "Defined contribution",
154
+ "21": "Legally Required benefits",
155
+ "22": "Social Security and Medicare",
156
+ "23": "Social Security",
157
+ "24": "Medicare",
158
+ "25": "Federal unemployment insurance",
159
+ "26": "State unemployment insurance",
160
+ "27": "Workers' compensation",
161
+ "28": "Other benefits"
162
+ },
163
+ "footnote_code": {
164
+ "2": "Registered Nurses estimates from December 2013 forward are based on the 2010 Standard Occupational Classification. For more information on classification changes, please see www.bls.gov/soc.",
165
+ "3": "Estimates from December 2013 to March 2014 for this series were corrected, details are available at www.bls.gov/bls/ecec_correction_091014.htm",
166
+ "4": "The relative standard error for this estimate is equal to or greater than 30 percent.",
167
+ "5": "The relative standard error is not available for percent of total compensation estimates.",
168
+ "6": "The relative standard error for this estimate is not currently available.",
169
+ "8": "The relative standard error is not available as the cost per hour worked is $0.01 or less.",
170
+ "A": "Cost per hour worked is $0.01 or less.",
171
+ "B": "Less than .05 percent.",
172
+ "C": "See <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#C\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> for the definition of civilian workers.",
173
+ "D": "See <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#D\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> for the definition of the goods-producing sector.",
174
+ "E": "See <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#E\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> for the definition of the service-providing sector.",
175
+ "F": "Includes premium pay for work in addition to the regular work schedule (for example, overtime).",
176
+ "G": "Comprises the Old-Age, Survivors, and Disability Insurance (OASDI) program.",
177
+ "H": "Includes severance pay and supplemental unemployment benefits.",
178
+ "I": "The states that compose the New England census division are: CT, ME, MA, NH, RI, and VT.",
179
+ "J": "The states that compose the Middle Atlantic census division are: NJ, NY, and PA.",
180
+ "K": "The states that compose the South Atlantic census division are: DE, DC, FL, GA, MD, NC, SC, VA, and WV.",
181
+ "L": "The states that compose the East South Central census division are: AL, KY, MS, and TN.",
182
+ "M": "The states that compose the West South Central census division are: AR, LA, OK, and TX.",
183
+ "N": "The states that compose the East North Central census division are: IL, IN, MI, OH, and WI.",
184
+ "O": "The states that compose the West North Central census division are: IA, KS, MN, MO, NE, ND, and SD.",
185
+ "S": "The states that compose the Mountain census division are: AZ, CO, ID, MT, NV, NM, UT, and WY.",
186
+ "T": "The states that compose the Pacific census division are: AK, CA, HI, OR, and WA.",
187
+ "W": "Includes all teachers; see <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#W\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> for details.",
188
+ "X": "See <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#X\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> which is about the State and local government workforce.",
189
+ "Y": "See <a href=\"http://www.bls.gov/ncs/ect/mapnote.htm#Y\" target=\"new\">www.bls.gov/ncs/ect/mapnote.htm</a> for details regarding the Other benefits series.",
190
+ "Z": "Series discontinued beginning December 2008."
191
+ }
192
+ },
193
+ "cc": {
194
+ "sector_code": {
195
+ "1": "All Civilian",
196
+ "2": "Private industry",
197
+ "4": "Private goods producing",
198
+ "5": "Private service producing",
199
+ "6": "Private manufacturing",
200
+ "7": "Private nonmanufacturing",
201
+ "8": "Private health services",
202
+ "9": "Private hospitals",
203
+ "0": "Private nursing homes",
204
+ "3": "State and local government"
205
+ },
206
+ "benefit_code": {
207
+ "10000": "Total compensation",
208
+ "20000": "Wages and salaries",
209
+ "30000": "Total benefits",
210
+ "40000": "Paid leave",
211
+ "50000": "Supplemental pay",
212
+ "60000": "Insurance",
213
+ "70000": "Retirement and savings",
214
+ "80000": "Legally required benefits",
215
+ "90000": "Other benefits",
216
+ "A0000": "Vacation",
217
+ "B0000": "Holiday",
218
+ "C0000": "Sick",
219
+ "D0000": "Other",
220
+ "E0000": "Premium",
221
+ "F0000": "Shift differentials",
222
+ "G0000": "Nonproduction bonuses",
223
+ "H0000": "Life",
224
+ "I0000": "Health",
225
+ "J0000": "Short-term disability",
226
+ "K0000": "Long-term disability",
227
+ "L0000": "Pensions",
228
+ "M0000": "Savings and thrift",
229
+ "P0000": "Social Security",
230
+ "Q0000": "Old Age, Survivors, and Disability Income (OASDI)",
231
+ "R0000": "Medicare",
232
+ "S0000": "Federal unemployment insurance",
233
+ "T0000": "State unemployment insurance",
234
+ "U0000": "Workers' compensation",
235
+ "V0000": "Defined benefit",
236
+ "W0000": "Defined contribution"
237
+ },
238
+ "industryocc_code": {
239
+ "000001": "Occupational group",
240
+ "000002": "Industry",
241
+ "000003": "Region",
242
+ "000004": "Union/Nonunion",
243
+ "000006": "Metropolitan/Nonmetropolitan",
244
+ "000008": "Aerospace",
245
+ "000009": "Full-time/Part-time",
246
+ "000010": "Establishment size",
247
+ "002000": "1-99 workers",
248
+ "004000": "100 or more workers",
249
+ "006000": "100-499 workers",
250
+ "008000": "500 or more workers",
251
+ "012000": "1-99 workers, goods producing",
252
+ "014000": "100 or more workers, goods producing",
253
+ "016000": "100-499 workers, goods producing",
254
+ "018000": "500 or more workers, goods producing",
255
+ "022000": "1-99 workers, service producing",
256
+ "024000": "100 or more workers, service producing",
257
+ "026000": "100-499 workers, service producing",
258
+ "028000": "500 or more workers, service producing",
259
+ "032000": "1-99 workers, white collar",
260
+ "034000": "100 or more workers, white collar",
261
+ "036000": "100-499 workers, white collar",
262
+ "038000": "500 or more workers, white collar",
263
+ "042000": "1-99 workers, blue collar",
264
+ "044000": "100 or more workers, blue collar",
265
+ "046000": "100-499 workers, blue collar",
266
+ "048000": "500 or more workers, blue collar",
267
+ "100000": "All workers",
268
+ "101000": "Production and nonsupervisory occupations",
269
+ "106000": "Civilian workers, excluding sales",
270
+ "107000": "Civilian white collar workers, excluding sales",
271
+ "110000": "White collar workers",
272
+ "111000": "Executive, administrative, and managerial",
273
+ "112000": "Professional specialty and technical occupations",
274
+ "113000": "Sales workers",
275
+ "114000": "Administrative support, including clerical workers",
276
+ "115000": "Professional specialty occupations",
277
+ "116000": "Nurses",
278
+ "117000": "Teachers",
279
+ "118000": "Technical",
280
+ "120000": "Blue collar occupations",
281
+ "121000": "Precision production, craft, and repair occupation",
282
+ "122000": "Machine operators, assemblers, and inspectors",
283
+ "123000": "Transportation and material moving occupations",
284
+ "124000": "Handlers, equipment cleaners, helpers, and laborer",
285
+ "130000": "Service occupations",
286
+ "131000": "Private industry workers, excluding sales",
287
+ "132000": "Private industry white collar workers, excluding s",
288
+ "137000": "Wholesale and retail trade occupations, excluding",
289
+ "138000": "Finance, insurance, and real estate occupations, e",
290
+ "140000": "Wholesale trade occupations, excluding sales",
291
+ "151000": "White collar occupations, transportation equipment",
292
+ "152000": "Professional and technical occupations, transporta",
293
+ "153000": "Executive, administrative, and managerial occupati",
294
+ "154000": "Blue collar occupations, transportation equipment",
295
+ "155000": "Service occupations, transportation equipment",
296
+ "161000": "White collar occupations, aicraft manufacturing",
297
+ "164000": "Blue collar occupations, aircraft manufacturing",
298
+ "171000": "White collar occupations, transportation and publi",
299
+ "174000": "Blue collar occupations, transportation and public",
300
+ "181000": "White collar occupations, communications",
301
+ "184000": "Blue collar occupations, communications",
302
+ "191000": "White collar occupations, utilities",
303
+ "194000": "Blue collar occupations, utilities",
304
+ "200000": "Goods producing industries",
305
+ "201000": "Goods producing, excluding sales",
306
+ "202000": "Goods producing, white collar occupations",
307
+ "203000": "Goods producing, white collar occupations, excludi",
308
+ "204000": "Goods producing, blue collar occupations",
309
+ "206000": "Goods producing, service occupations",
310
+ "210000": "Service producing industries",
311
+ "211000": "Service producing, excluding sales",
312
+ "212000": "Service producing, white collar occupations",
313
+ "213000": "Service producing, white collar occupations, exclu",
314
+ "214000": "Service producing, blue collar occupations",
315
+ "216000": "Service producing, service occupations",
316
+ "220000": "Nonmanufacturing",
317
+ "221000": "Nonmanufacturing, white collar occupations",
318
+ "222000": "Nonmanufacturing, white collar occupations, exclud",
319
+ "223000": "Nonmanufacturing, blue collar occupations",
320
+ "225000": "Nonmanufacturing, service occupations",
321
+ "230000": "Construction",
322
+ "237000": "Manufacturing, transportation equipment",
323
+ "238000": "Manufacturing, aircraft",
324
+ "240000": "Manufacturing",
325
+ "241000": "Manufacturing, durable goods",
326
+ "242000": "Manufacturing, nondurables",
327
+ "243000": "Manufacturing, white collar occupations",
328
+ "250000": "Transportation and public utilities",
329
+ "251000": "Transportation",
330
+ "252000": "Public utilities",
331
+ "253000": "Communications",
332
+ "254000": "Electric, gas, and sanitation",
333
+ "260000": "Wholesale and retail trade",
334
+ "261000": "Wholesale trade",
335
+ "262000": "Retail trade",
336
+ "263000": "General merchandise stores",
337
+ "264000": "Food stores",
338
+ "270000": "Finance, insurance, and real estate",
339
+ "271000": "Banking",
340
+ "272000": "Insurance",
341
+ "273000": "Insurance, excluding sales",
342
+ "280000": "Services",
343
+ "281000": "Schools",
344
+ "282000": "Elementary and secondary schools",
345
+ "284000": "Health services",
346
+ "285000": "Hospitals",
347
+ "286000": "Nursing homes",
348
+ "289000": "Educational services",
349
+ "290000": "Public administration",
350
+ "299000": "Higher education",
351
+ "310000": "Northeast",
352
+ "320000": "South",
353
+ "330000": "Midwest",
354
+ "340000": "West",
355
+ "400000": "Union workers",
356
+ "402000": "Union, blue collar",
357
+ "406000": "Union, manufacturing, blue collar",
358
+ "410000": "Union, manufacturing",
359
+ "420000": "Union, nonmanufacturing",
360
+ "430000": "Union, goods producing",
361
+ "440000": "Union, service producing",
362
+ "500000": "Nonunion workers",
363
+ "502000": "Nonunion, blue collar",
364
+ "506000": "Nonunion, manufacturing, blue collar",
365
+ "510000": "Nonunion, manufacturing",
366
+ "520000": "Nonunion, nonmanufacturing",
367
+ "530000": "Nonunion, goods producing",
368
+ "540000": "Nonunion, service producing",
369
+ "600000": "Metropolitan areas",
370
+ "700000": "Nonmetropolitan areas",
371
+ "800000": "Aircraft engine parts",
372
+ "801000": "White collar",
373
+ "802000": "Professional, technical, and specialty",
374
+ "805000": "Managers",
375
+ "806000": "Clerical",
376
+ "807000": "Blue collar",
377
+ "808000": "Craft",
378
+ "809000": "Operatives",
379
+ "810000": "Aircraft",
380
+ "811000": "White collar",
381
+ "812000": "Blue collar",
382
+ "820000": "Engines",
383
+ "821000": "White collar",
384
+ "822000": "Blue collar",
385
+ "830000": "Parts",
386
+ "831000": "White collar",
387
+ "832000": "Blue collar",
388
+ "840000": "Guided missiles",
389
+ "841000": "White collar",
390
+ "842000": "Blue collar",
391
+ "910000": "All full-time workers",
392
+ "911000": "Full-time, white collar",
393
+ "912000": "Full-time, sales",
394
+ "913000": "Full-time, administrative",
395
+ "914000": "Full-time, blue collar",
396
+ "915000": "Full-time, service",
397
+ "921000": "Full-time, goods producing",
398
+ "922000": "Full-time, construction",
399
+ "923000": "Full-time, manufacturing",
400
+ "924000": "Full-time, service producing",
401
+ "925000": "Full-time, transportation",
402
+ "926000": "Full-time, wholesale trade",
403
+ "927000": "Full-time, retail trade",
404
+ "928000": "Full-time, finance, insurance, and real estate",
405
+ "929000": "Full-time, services",
406
+ "950000": "All part-time workers",
407
+ "951000": "Part-time, white collar",
408
+ "952000": "Part-time, sales",
409
+ "953000": "Part-time, administrative",
410
+ "954000": "Part-time, blue collar",
411
+ "955000": "Part-time, service",
412
+ "961000": "Part-time, goods producing",
413
+ "963000": "Part-time, manufacturing",
414
+ "964000": "Part-time, service producing",
415
+ "965000": "Part-time, transportation",
416
+ "966000": "Part-time, wholesale trade",
417
+ "967000": "Part-time, retail trade",
418
+ "968000": "Part-time, finance, insurance, and real estate",
419
+ "969000": "Part-time, services"
420
+ },
421
+ "costfactor_code": {
422
+ "D": "Cost of compensation (Cost per hour worked)",
423
+ "P": "Percent of total compensation"
424
+ },
425
+ "footnote_code": {
426
+ "A": "Cost per hour worked is $0.01 or less.",
427
+ "B": "Less than .05 percent."
428
+ }
429
+ }
430
+ }
openbb_platform/providers/bls/openbb_bls/assets/ec_series.xz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eff71c3a0d5ec14c878c589ffbdb904eb245af187629000c9fd6016aae86b164
3
+ size 105140
openbb_platform/providers/bls/openbb_bls/assets/ip_codes.json ADDED
@@ -0,0 +1,1136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "ip": {
3
+ "sector_code": {
4
+ "A": "Agriculture, Forestry, Fishing and Hunting",
5
+ "B": "Mining",
6
+ "C": "Utilities",
7
+ "D": "Construction",
8
+ "E": "Manufacturing",
9
+ "G": "Wholesale Trade",
10
+ "H": "Retail Trade",
11
+ "I": "Transportation and Warehousing",
12
+ "J": "Information",
13
+ "K": "Finance and Insurance",
14
+ "L": "Real Estate and Rental and Leasing",
15
+ "M": "Professional, Scientific, and Technical Services",
16
+ "O": "Management of Companies and Enterprises",
17
+ "P": "Administrative and Support and Waste Management and Remediation Services",
18
+ "Q": "Educational Services",
19
+ "R": "Health Care and Social Assistance",
20
+ "S": "Arts, Entertainment, and Recreation",
21
+ "T": "Accommodation and Food Services",
22
+ "U": "Other Services (except Public Administration)",
23
+ "W": "Government",
24
+ "Z": "Multi-Sector"
25
+ },
26
+ "industry_code": {
27
+ "D11____": "Agriculture, forestry, fishing, and hunting",
28
+ "D21____": "Mining",
29
+ "D22____": "Utilities",
30
+ "D23____": "Construction",
31
+ "D31_33_": "Manufacturing",
32
+ "D42____": "Wholesale trade",
33
+ "D44_45_": "Retail trade",
34
+ "D48_49_": "Transportation and warehouseing",
35
+ "D512___": "Motion picture and sound recording industries",
36
+ "D517___": "Telecommunications",
37
+ "D51____": "Information",
38
+ "D52____": "Finance and insurance",
39
+ "D53____": "Real estate and rental and leasing",
40
+ "D54192_": "Photographic Services",
41
+ "D54____": "Professional, scientific, and technical services",
42
+ "D55____": "Management of companies and enterprises",
43
+ "D5613__": "Employment services",
44
+ "D5617__": "Services to buildings and dwellings",
45
+ "D56____": "Administrative and support and waste management and remediation services",
46
+ "D61____": "Educational services",
47
+ "D62____": "Health care and social assistance",
48
+ "D71____": "Arts, entertainment, and recreation",
49
+ "D72____": "Accommodation and food services",
50
+ "D8122__": "Death care services",
51
+ "D8129__": "Other personal services",
52
+ "D81____": "Other services (except public administration)",
53
+ "D90____": "Government",
54
+ "D______": "Private Nonfarm",
55
+ "N1111__": "Oilseed and grain farming",
56
+ "N11121_": "Vegetable and melon farming",
57
+ "N1112__": "Vegetable and melon farming",
58
+ "N1113__": "Fruit and tree nut farming",
59
+ "N1114__": "Greenhouse, nursery, and floriculture production",
60
+ "N1119__": "Other crop farming",
61
+ "N111___": "Crop production",
62
+ "N1121__": "Cattle ranching and farming",
63
+ "N112210": "Hog and pig farming",
64
+ "N11221_": "Hog and pig farming",
65
+ "N1122__": "Hog and pig farming",
66
+ "N1123__": "Poultry and egg production",
67
+ "N1124__": "Sheep and goat farming",
68
+ "N11251_": "Aquaculture",
69
+ "N1125__": "Aquaculture",
70
+ "N1129__": "Other animal production",
71
+ "N112___": "Animal production",
72
+ "N113110": "Timber tract operations",
73
+ "N11311_": "Timber tract operations",
74
+ "N1131__": "Timber tract operations",
75
+ "N113210": "Forest nurseries and gathering of forest products",
76
+ "N11321_": "Forest nurseries and gathering of forest products",
77
+ "N1132__": "Forest nurseries and gathering of forest products",
78
+ "N113310": "Logging",
79
+ "N11331_": "Logging",
80
+ "N1133__": "Logging",
81
+ "N113___": "Forestry and logging",
82
+ "N11411_": "Fishing",
83
+ "N1141__": "Fishing",
84
+ "N114210": "Hunting and trapping",
85
+ "N11421_": "Hunting and trapping",
86
+ "N1142__": "Hunting and trapping",
87
+ "N114___": "Fishing, hunting and trapping",
88
+ "N11511_": "Support activities for crop production",
89
+ "N1151__": "Support activities for crop production",
90
+ "N115210": "Support activities for animal production",
91
+ "N11521_": "Support activities for animal production",
92
+ "N1152__": "Support activities for animal production",
93
+ "N115310": "Support activities for forestry",
94
+ "N11531_": "Support activities for forestry",
95
+ "N1153__": "Support activities for forestry",
96
+ "N115___": "Support activities for agriculture and forestry",
97
+ "N2111__": "Oil and gas extraction",
98
+ "N211___": "Oil and gas extraction",
99
+ "N21211_": "Coal mining",
100
+ "N2121__": "Coal mining",
101
+ "N2122__": "Metal ore mining",
102
+ "N21231_": "Stone Mining and Quarrying",
103
+ "N21232_": "Sand, Gravel, Clay, and Ceramic and Refractory Minerals Mining and Quarrying",
104
+ "N21239_": "Other Nonmetallic Mineral Mining and Quarrying",
105
+ "N2123__": "Nonmetallic mineral mining and quarrying",
106
+ "N212___": "Mining (except oil and gas)",
107
+ "N21311_": "Support activities for mining",
108
+ "N2131__": "Support activities for mining",
109
+ "N213___": "Support activities for mining",
110
+ "N21____": "Mining",
111
+ "N2211__": "Electric power generation, transmission and distribution",
112
+ "N221210": "Natural gas distribution",
113
+ "N22121_": "Natural gas distribution",
114
+ "N2212__": "Natural gas distribution",
115
+ "N2213__": "Water, sewage and other systems",
116
+ "N221___": "Utilities",
117
+ "N22____": "Utilities",
118
+ "N23611_": "Residential building construction",
119
+ "N2361__": "Residential building construction",
120
+ "N2362__": "Nonresidential building construction",
121
+ "N236___": "Construction of buildings",
122
+ "N2371__": "Utility system construction",
123
+ "N237210": "Land subdivision",
124
+ "N23721_": "Land subdivision",
125
+ "N2372__": "Land subdivision",
126
+ "N237310": "Highway, street, and bridge construction",
127
+ "N23731_": "Highway, street, and bridge construction",
128
+ "N2373__": "Highway, street, and bridge construction",
129
+ "N237990": "Other heavy and civil engineering construction",
130
+ "N23799_": "Other heavy and civil engineering construction",
131
+ "N2379__": "Other heavy and civil engineering construction",
132
+ "N237___": "Heavy and civil engineering construction",
133
+ "N2381__": "Building foundation and exterior contractors",
134
+ "N2382__": "Building equipment contractors",
135
+ "N2383__": "Building finishing contractors",
136
+ "N2389__": "Other specialty trade contractors",
137
+ "N238___": "Specialty trade contractors",
138
+ "N31111_": "Animal food manufacturing",
139
+ "N3111__": "Animal food manufacturing",
140
+ "N3112__": "Grain and oilseed milling",
141
+ "N3113__": "Sugar and confectionery product manufacturing",
142
+ "N31141_": "Frozen food manufacturing",
143
+ "N31142_": "Fruit and vegetable canning, pickling, and drying",
144
+ "N3114__": "Fruit and vegetable preserving and specialty food manufacturing",
145
+ "N3115__": "Dairy product manufacturing",
146
+ "N311615": "Poultry processing",
147
+ "N31161_": "Animal slaughtering and processing",
148
+ "N3116__": "Animal slaughtering and processing",
149
+ "N311710": "Seafood product preparation and packaging",
150
+ "N31171_": "Seafood product preparation and packaging",
151
+ "N3117__": "Seafood product preparation and packaging",
152
+ "N3118__": "Bakeries and tortilla manufacturing",
153
+ "N3119__": "Other food manufacturing",
154
+ "N311___": "Food manufacturing",
155
+ "N3121__": "Beverage manufacturing",
156
+ "N312230": "Tobacco manufacturing",
157
+ "N31223_": "Tobacco manufacturing",
158
+ "N3122__": "Tobacco manufacturing",
159
+ "N312___": "Beverage and tobacco product manufacturing",
160
+ "N313110": "Fiber, yarn, and thread mills",
161
+ "N31311_": "Fiber, yarn, and thread mills",
162
+ "N3131__": "Fiber, yarn, and thread mills",
163
+ "N3132__": "Fabric mills",
164
+ "N3133__": "Textile and fabric finishing and fabric coating mills",
165
+ "N313___": "Textile mills",
166
+ "N3141__": "Textile furnishings mills",
167
+ "N3149__": "Other textile product mills",
168
+ "N314___": "Textile product mills",
169
+ "N3151__": "Apparel knitting mills",
170
+ "N3152__": "Cut and sew apparel manufacturing",
171
+ "N315990": "Apparel accessories and other apparel manufacturing",
172
+ "N31599_": "Apparel accessories and other apparel manufacturing",
173
+ "N3159__": "Apparel accessories and other apparel manufacturing",
174
+ "N315___": "Apparel manufacturing",
175
+ "N316110": "Leather and hide tanning and finishing",
176
+ "N31611_": "Leather and hide tanning and finishing",
177
+ "N3161__": "Leather and hide tanning and finishing",
178
+ "N316210": "Footwear manufacturing",
179
+ "N31621_": "Footwear manufacturing",
180
+ "N3162__": "Footwear manufacturing",
181
+ "N31699_": "Other leather and allied product manufacturing",
182
+ "N3169__": "Other leather and allied product manufacturing",
183
+ "N316___": "Leather and allied product manufacturing",
184
+ "N32111_": "Sawmills and wood preservation",
185
+ "N3211__": "Sawmills and wood preservation",
186
+ "N32121_": "Veneer, plywood, and engineered wood product manufacturing",
187
+ "N3212__": "Veneer, plywood, and engineered wood product manufacturing",
188
+ "N32191_": "Millwork",
189
+ "N321920": "Wood container and pallet manufacturing",
190
+ "N32192_": "Wood container and pallet manufacturing",
191
+ "N32199_": "All other wood product manufacturing",
192
+ "N3219__": "Other wood product manufacturing",
193
+ "N321___": "Wood product manufacturing",
194
+ "N3221__": "Pulp, paper, and paperboard mills",
195
+ "N32221_": "Paperboard container manufacturing",
196
+ "N3222__": "Converted paper product manufacturing",
197
+ "N322___": "Paper manufacturing",
198
+ "N3231__": "Printing and related support activities",
199
+ "N323___": "Printing and related support activities",
200
+ "N3241__": "Petroleum and coal products manufacturing",
201
+ "N324___": "Petroleum and coal products manufacturing",
202
+ "N3251__": "Basic chemical manufacturing",
203
+ "N3252__": "Resin, synthetic rubber, and artificial synthetic fibers and filaments manufacturing",
204
+ "N3253__": "Pesticide, fertilizer, and other agricultural chemical manufacturing",
205
+ "N32541_": "Pharmaceutical and medicine manufacturing",
206
+ "N3254__": "Pharmaceutical and medicine manufacturing",
207
+ "N3255__": "Paint, coating, and adhesive manufacturing",
208
+ "N3256__": "Soap, cleaning compound, and toilet preparation manufacturing",
209
+ "N3259__": "Other chemical product and preparation manufacturing",
210
+ "N325___": "Chemical manufacturing",
211
+ "N32619_": "Other plastics product manufacturing",
212
+ "N3261__": "Plastics product manufacturing",
213
+ "N3262__": "Rubber product manufacturing",
214
+ "N326___": "Plastics and rubber products manufacturing",
215
+ "N3271__": "Clay product and refractory manufacturing",
216
+ "N32721_": "Glass and glass product manufacturing",
217
+ "N3272__": "Glass and glass product manufacturing",
218
+ "N327320": "Ready-mix concrete manufacturing",
219
+ "N32732_": "Ready-mix concrete manufacturing",
220
+ "N3273__": "Cement and concrete product manufacturing",
221
+ "N3274__": "Lime and gypsum product manufacturing",
222
+ "N3279__": "Other nonmetallic mineral product manufacturing",
223
+ "N327___": "Nonmetallic mineral product manufacturing",
224
+ "N331110": "Iron and steel mills and ferroalloy production",
225
+ "N33111_": "Iron and steel mills and ferroalloy production",
226
+ "N3311__": "Iron and steel mills and ferroalloy production",
227
+ "N3312__": "Steel product manufacturing from purchased steel",
228
+ "N33131_": "Alumina and aluminum production and processing",
229
+ "N3313__": "Alumina and aluminum production and processing",
230
+ "N3314__": "Nonferrous metal (except aluminum) production and processing",
231
+ "N3315__": "Foundries",
232
+ "N331___": "Primary metal manufacturing",
233
+ "N33211_": "Forging and stamping",
234
+ "N3321__": "Forging and stamping",
235
+ "N33221_": "Cutlery and handtool manufacturing",
236
+ "N3322__": "Cutlery and handtool manufacturing",
237
+ "N332312": "Fabricated structural metals",
238
+ "N33231_": "Plate work and fabricated structural product manufacturing",
239
+ "N332322": "Sheet metal work",
240
+ "N33232_": "Ornamental and architectural metal products manufacturing",
241
+ "N3323__": "Architectural and structural metals manufacturing",
242
+ "N3324__": "Boiler, tank, and shipping container manufacturing",
243
+ "N332510": "Hardware manufacturing",
244
+ "N33251_": "Hardware manufacturing",
245
+ "N3325__": "Hardware manufacturing",
246
+ "N33261_": "Spring and wire product manufacturing",
247
+ "N3326__": "Spring and wire product manufacturing",
248
+ "N332710": "Machine shops",
249
+ "N33271_": "Machine shops",
250
+ "N33272_": "Turned product and screw, nut, and bolt manufacturing",
251
+ "N3327__": "Machine shops; turned product; and screw, nut, and bolt manufacturing",
252
+ "N332813": "Electroplating, plating, polishing, anodizing and coloring",
253
+ "N33281_": "Coating, engraving, heat treating, and allied activities",
254
+ "N3328__": "Coating, engraving, heat treating, and allied activities",
255
+ "N33291_": "Metal valve manufacturing",
256
+ "N33299_": "All other fabricated metal product manufacturing",
257
+ "N3329__": "Other fabricated metal product manufacturing",
258
+ "N332___": "Fabricated metal product manufacturing",
259
+ "N3331__": "Agriculture, construction, and mining machinery",
260
+ "N33324_": "Industrial machinery",
261
+ "N3332__": "Industrial machinery",
262
+ "N33331_": "Commercial and service industry machinery",
263
+ "N3333__": "Commercial and service industry machinery",
264
+ "N33341_": "Ventilation, heating, air-conditioning, and commercial refrigeration equipment manufacturing",
265
+ "N3334__": "Ventilation, heating, air-conditioning, and commercial refrigeration equipment manufacturing",
266
+ "N333514": "Special die and tool, die set, jig, and fixture manufacturing",
267
+ "N333517": "Machine tool manufacturing",
268
+ "N33351_": "Metalworking machinery manufacturing",
269
+ "N3335__": "Metalworking machinery manufacturing",
270
+ "N33361_": "Engine, turbine, and power transmission equipment manufacturing",
271
+ "N3336__": "Engine, turbine, and power transmission equipment manufacturing",
272
+ "N33392_": "Material handling equipment manufacturing",
273
+ "N3339__": "Other general purpose machinery manufacturing",
274
+ "N333___": "Machinery manufacturing",
275
+ "N33411_": "Computer and peripheral equipment manufacturing",
276
+ "N3341__": "Computer and peripheral equipment manufacturing",
277
+ "N3342__": "Communications equipment manufacturing",
278
+ "N334310": "Audio and video equipment manufacturing",
279
+ "N33431_": "Audio and video equipment manufacturing",
280
+ "N3343__": "Audio and video equipment manufacturing",
281
+ "N334413": "Semiconductor and related device manufacturing",
282
+ "N33441_": "Semiconductor and other electronic component manufacturing",
283
+ "N3344__": "Semiconductor and other electronic component manufacturing",
284
+ "N33451_": "Navigational, measuring, electromedical, and control instruments manufacturing",
285
+ "N3345__": "Navigational, measuring, electromedical, and control instruments manufacturing",
286
+ "N33461_": "Manufacturing and reproducing magnetic and optical media",
287
+ "N3346__": "Manufacturing and reproducing magnetic and optical media",
288
+ "N334___": "Computer and electronic product manufacturing",
289
+ "N3351__": "Electric lighting equipment manufacturing",
290
+ "N3352__": "Household appliance manufacturing",
291
+ "N33531_": "Electrical equipment manufacturing",
292
+ "N3353__": "Electrical equipment manufacturing",
293
+ "N3359__": "Other electrical equipment and component manufacturing",
294
+ "N335___": "Electrical equipment, appliance, and component manufacturing",
295
+ "N3361__": "Motor vehicle manufacturing",
296
+ "N33621_": "Motor vehicle body and trailer manufacturing",
297
+ "N3362__": "Motor vehicle body and trailer manufacturing",
298
+ "N336320": "Motor vehicle electrical and electronic equipment",
299
+ "N33632_": "Motor vehicle electrical and electronic equipment",
300
+ "N3363__": "Motor vehicle parts manufacturing",
301
+ "N336411": "Aircraft manufacturing",
302
+ "N33641_": "Aerospace product and parts manufacturing",
303
+ "N3364__": "Aerospace product and parts manufacturing",
304
+ "N336510": "Railroad rolling stock manufacturing",
305
+ "N33651_": "Railroad rolling stock manufacturing",
306
+ "N3365__": "Railroad rolling stock manufacturing",
307
+ "N33661_": "Ship and boat building",
308
+ "N3366__": "Ship and boat building",
309
+ "N33699_": "Other transportation equipment manufacturing",
310
+ "N3369__": "Other transportation equipment manufacturing",
311
+ "N336___": "Transportation equipment manufacturing",
312
+ "N337110": "Wood kitchen cabinet and countertop manufacturing",
313
+ "N33711_": "Wood kitchen cabinet and countertop manufacturing",
314
+ "N33712_": "Household and institutional furniture manufacturing",
315
+ "N3371__": "Household and institutional furniture and kitchen cabinet manufacturing",
316
+ "N33721_": "Office furniture (including fixtures) manufacturing",
317
+ "N3372__": "Office furniture (including fixtures) manufacturing",
318
+ "N3379__": "Other furniture related product manufacturing",
319
+ "N337___": "Furniture and related product manufacturing",
320
+ "N339113": "Surgical appliance and supplies manufacturing",
321
+ "N33911_": "Medical equipment and supplies manufacturing",
322
+ "N3391__": "Medical equipment and supplies manufacturing",
323
+ "N339950": "Sign manufacturing",
324
+ "N33995_": "Sign manufacturing",
325
+ "N3399__": "Other miscellaneous manufacturing",
326
+ "N339___": "Miscellaneous manufacturing",
327
+ "N4231__": "Motor vehicle and motor vehicle parts and supplies merchant wholesalers",
328
+ "N4232__": "Furniture and home furnishing merchant wholesalers",
329
+ "N4233__": "Lumber and other construction materials merchant wholesalers",
330
+ "N4234__": "Professional and commercial equipment and supplies merchant wholesalers",
331
+ "N4235__": "Metal and mineral (except petroleum) merchant wholesalers",
332
+ "N4236__": "Electrical and electronic goods merchant wholesalers",
333
+ "N4237__": "Hardware, and plumbing and heating equipment and supplies merchant wholesalers",
334
+ "N4238__": "Machinery, equipment, and supplies merchant wholesalers",
335
+ "N4239__": "Miscellaneous durable goods merchant wholesalers",
336
+ "N423___": "Merchant wholesalers, durable goods",
337
+ "N4241__": "Paper and paper product merchant wholesalers",
338
+ "N424210": "Drugs and druggists' sundries merchant wholesalers",
339
+ "N42421_": "Drugs and druggists' sundries merchant wholesalers",
340
+ "N4242__": "Drugs and druggists' sundries merchant wholesalers",
341
+ "N4243__": "Apparel, piece goods, and notions merchant wholesalers",
342
+ "N4244__": "Grocery and related product wholesalers",
343
+ "N4245__": "Farm product raw material merchant wholesalers",
344
+ "N4246__": "Chemical and allied products merchant wholesalers",
345
+ "N4247__": "Petroleum and petroleum products merchant wholesalers",
346
+ "N4248__": "Beer, wine, and distilled alcoholic beverage merchant wholesalers",
347
+ "N4249__": "Miscellaneous nondurable goods merchant wholesalers",
348
+ "N424___": "Merchant wholesalers, nondurable goods",
349
+ "N4251__": "Wholesale electronic markets and agents and brokers",
350
+ "N425___": "Wholesale electronic markets and agents and brokers",
351
+ "N42____": "Wholesale trade",
352
+ "N441110": "New car dealers",
353
+ "N44111_": "New car dealers",
354
+ "N441120": "Used car dealers",
355
+ "N44112_": "Used car dealers",
356
+ "N4411__": "Automobile dealers",
357
+ "N4412__": "Other motor vehicle dealers",
358
+ "N441310": "Automotive parts and accessories stores",
359
+ "N44131_": "Automotive parts and accessories stores",
360
+ "N441320": "Tire dealers",
361
+ "N44132_": "Tire dealers",
362
+ "N4413__": "Automotive parts, accessories, and tire stores",
363
+ "N441___": "Motor vehicle and parts dealers",
364
+ "N442110": "Furniture stores",
365
+ "N44211_": "Furniture stores",
366
+ "N4421__": "Furniture stores",
367
+ "N442210": "Floor covering stores",
368
+ "N44221_": "Floor covering stores",
369
+ "N44229_": "Other home furnishings stores",
370
+ "N4422__": "Home furnishings stores",
371
+ "N442___": "Furniture and home furnishings stores",
372
+ "N443141": "Household appliance stores",
373
+ "N443142": "Electronics stores",
374
+ "N44314_": "Electronics and appliance stores",
375
+ "N4431__": "Electronics and appliance stores",
376
+ "N443___": "Electronics and appliance stores",
377
+ "N444110": "Home centers",
378
+ "N44411_": "Home centers",
379
+ "N444130": "Hardware stores",
380
+ "N44413_": "Hardware stores",
381
+ "N4441__": "Building material and supplies dealers",
382
+ "N444210": "Outdoor power equipment stores",
383
+ "N44421_": "Outdoor power equipment stores",
384
+ "N444220": "Nursery, garden center, and farm supply stores",
385
+ "N44422_": "Nursery, garden center, and farm supply stores",
386
+ "N4442__": "Lawn and garden equipment and supplies stores",
387
+ "N444___": "Building material and garden equipment and supplies dealers",
388
+ "N445110": "Supermarkets and other grocery (except convenience) stores",
389
+ "N44511_": "Supermarkets and other grocery (except convenience) stores",
390
+ "N445120": "Convenience stores",
391
+ "N44512_": "Convenience stores",
392
+ "N4451__": "Grocery stores",
393
+ "N4452__": "Specialty food stores",
394
+ "N445310": "Beer, wine, and liquor stores",
395
+ "N44531_": "Beer, wine, and liquor stores",
396
+ "N4453__": "Beer, wine, and liquor stores",
397
+ "N445___": "Food and beverage stores",
398
+ "N446110": "Pharmacies and drug stores",
399
+ "N44611_": "Pharmacies and drug stores",
400
+ "N446120": "Cosmetics, beauty supplies, and perfume stores",
401
+ "N44612_": "Cosmetics, beauty supplies, and perfume stores",
402
+ "N446130": "Optical goods stores",
403
+ "N44613_": "Optical goods stores",
404
+ "N44619_": "Other health and personal care stores",
405
+ "N4461__": "Health and personal care stores",
406
+ "N446___": "Health and personal care stores",
407
+ "N447110": "Gasoline stations with convenience stores",
408
+ "N44711_": "Gasoline stations with convenience stores",
409
+ "N447190": "Other gasoline stations",
410
+ "N44719_": "Other gasoline stations",
411
+ "N4471__": "Gasoline stations",
412
+ "N447___": "Gasoline stations",
413
+ "N4481__": "Clothing stores",
414
+ "N448210": "Shoe stores",
415
+ "N44821_": "Shoe stores",
416
+ "N4482__": "Shoe stores",
417
+ "N4483__": "Jewelry, luggage, and leather goods stores",
418
+ "N448___": "Clothing and clothing accessories stores",
419
+ "N44_45_": "Retail trade",
420
+ "N451110": "Sporting goods stores",
421
+ "N45111_": "Sporting goods stores",
422
+ "N451120": "Hobby, toy, and game stores",
423
+ "N45112_": "Hobby, toy, and game stores",
424
+ "N4511__": "Sporting goods, hobby, and musical instrument stores",
425
+ "N45121_": "Book stores and news dealers",
426
+ "N4512__": "Book stores and news dealers",
427
+ "N451___": "Sporting goods, hobby, book, and music stores",
428
+ "N452210": "Department stores",
429
+ "N45221_": "Department stores",
430
+ "N4522__": "Department stores",
431
+ "N45231_": "General merchandise stores, including warehouse clubs and supercenters",
432
+ "N4523__": "General merchandise stores, including warehouse clubs and supercenters",
433
+ "N452___": "General merchandise stores",
434
+ "N453110": "Florists",
435
+ "N45311_": "Florists",
436
+ "N4531__": "Florists",
437
+ "N453210": "Office supplies and stationery stores",
438
+ "N45321_": "Office supplies and stationery stores",
439
+ "N453220": "Gift, novelty, and souvenir stores",
440
+ "N45322_": "Gift, novelty, and souvenir stores",
441
+ "N4532__": "Office supplies, stationery, and gift stores",
442
+ "N453310": "Used merchandise stores",
443
+ "N45331_": "Used merchandise stores",
444
+ "N4533__": "Used merchandise stores",
445
+ "N453910": "Pet and pet supplies stores",
446
+ "N45391_": "Pet and pet supplies stores",
447
+ "N4539__": "Other miscellaneous store retailers",
448
+ "N453___": "Miscellaneous store retailers",
449
+ "N45411_": "Electronic shopping and mail-order houses",
450
+ "N4541__": "Electronic shopping and mail-order houses",
451
+ "N454210": "Vending machine operators",
452
+ "N45421_": "Vending machine operators",
453
+ "N4542__": "Vending machine operators",
454
+ "N454310": "Fuel dealers",
455
+ "N45431_": "Fuel dealers",
456
+ "N454390": "Other direct selling establishments",
457
+ "N45439_": "Other direct selling establishments",
458
+ "N4543__": "Direct selling establishments",
459
+ "N454___": "Nonstore retailers",
460
+ "N48111_": "Scheduled air transportation",
461
+ "N4811__": "Scheduled air transportation",
462
+ "N48121_": "Nonscheduled air transportation",
463
+ "N4812__": "Nonscheduled air transportation",
464
+ "N481___": "Air transportation",
465
+ "N482111": "Line-haul railroads",
466
+ "N48211_": "Rail transportation",
467
+ "N4821__": "Rail transportation",
468
+ "N482___": "Rail transportation",
469
+ "N48311_": "Deep sea, coastal, and Great Lakes water transportation",
470
+ "N4831__": "Deep sea, coastal, and Great Lakes water transportation",
471
+ "N48321_": "Inland water transportation",
472
+ "N4832__": "Inland water transportation",
473
+ "N483___": "Water transportation",
474
+ "N484110": "General freight trucking, local",
475
+ "N48411_": "General freight trucking, local",
476
+ "N48412_": "General freight trucking, long-distance",
477
+ "N4841__": "General freight trucking",
478
+ "N484210": "Used household and office goods moving",
479
+ "N48421_": "Used household and office goods moving",
480
+ "N484220": "Specialized freight (except used goods) trucking, local",
481
+ "N48422_": "Specialized freight (except used goods) trucking, local",
482
+ "N484230": "Specialized freight (except used goods) trucking, long-distance",
483
+ "N48423_": "Specialized freight (except used goods) trucking, long-distance",
484
+ "N4842__": "Specialized freight trucking",
485
+ "N484___": "Truck transportation",
486
+ "N48511_": "Urban transit systems",
487
+ "N4851__": "Urban transit systems",
488
+ "N485210": "Interurban and rural bus transportation",
489
+ "N48521_": "Interurban and rural bus transportation",
490
+ "N4852__": "Interurban and rural bus transportation",
491
+ "N4853__": "Taxi and limousine service",
492
+ "N485410": "School and employee bus transportation",
493
+ "N48541_": "School and employee bus transportation",
494
+ "N4854__": "School and employee bus transportation",
495
+ "N485510": "Charter bus industry",
496
+ "N48551_": "Charter bus industry",
497
+ "N4855__": "Charter bus industry",
498
+ "N48599_": "Other transit and ground passenger transportation",
499
+ "N4859__": "Other transit and ground passenger transportation",
500
+ "N485___": "Transit and ground passenger transportation",
501
+ "N486110": "Pipeline transportation of crude oil",
502
+ "N48611_": "Pipeline transportation of crude oil",
503
+ "N4861__": "Pipeline transportation of crude oil",
504
+ "N486210": "Pipeline transportation of natural gas",
505
+ "N48621_": "Pipeline transportation of natural gas",
506
+ "N4862__": "Pipeline transportation of natural gas",
507
+ "N4869__": "Other pipeline transportation",
508
+ "N486___": "Pipeline transportation",
509
+ "N487110": "Scenic and sightseeing transportation, land",
510
+ "N48711_": "Scenic and sightseeing transportation, land",
511
+ "N4871__": "Scenic and sightseeing transportation, land",
512
+ "N487210": "Scenic and sightseeing transportation, water",
513
+ "N48721_": "Scenic and sightseeing transportation, water",
514
+ "N4872__": "Scenic and sightseeing transportation, water",
515
+ "N487990": "Scenic and sightseeing transportation, other",
516
+ "N48799_": "Scenic and sightseeing transportation, other",
517
+ "N4879__": "Scenic and sightseeing transportation, other",
518
+ "N487___": "Scenic and sightseeing transportation",
519
+ "N4881__": "Support activities for air transportation",
520
+ "N488210": "Support activities for rail transportation",
521
+ "N48821_": "Support activities for rail transportation",
522
+ "N4882__": "Support activities for rail transportation",
523
+ "N4883__": "Support activities for water transportation",
524
+ "N4884__": "Support activities for road transportation",
525
+ "N488510": "Freight transportation arrangement",
526
+ "N48851_": "Freight transportation arrangement",
527
+ "N4885__": "Freight transportation arrangement",
528
+ "N48899_": "Other support activities for transportation",
529
+ "N4889__": "Other support activities for transportation",
530
+ "N488___": "Support activities for transportation",
531
+ "N491110": "Postal service",
532
+ "N49111_": "Postal service",
533
+ "N4911__": "Postal service",
534
+ "N491___": "Postal service",
535
+ "N492110": "Couriers and express delivery services",
536
+ "N49211_": "Couriers and express delivery services",
537
+ "N4921__": "Couriers and express delivery services",
538
+ "N492210": "Local messengers and local delivery",
539
+ "N49221_": "Local messengers and local delivery",
540
+ "N4922__": "Local messengers and local delivery",
541
+ "N492___": "Couriers and messengers",
542
+ "N493110": "General warehousing and storage",
543
+ "N49311_": "General warehousing and storage",
544
+ "N493120": "Refrigerated warehousing and storage",
545
+ "N49312_": "Refrigerated warehousing and storage",
546
+ "N4931__": "Warehousing and storage",
547
+ "N493___": "Warehousing and storage",
548
+ "N511110": "Newspaper publishers",
549
+ "N51111_": "Newspaper publishers",
550
+ "N511120": "Periodical publishers",
551
+ "N51112_": "Periodical publishers",
552
+ "N511130": "Book publishers",
553
+ "N51113_": "Book publishers",
554
+ "N5111__": "Newspaper, periodical, book, and directory publishers",
555
+ "N511210": "Software publishers",
556
+ "N51121_": "Software publishers",
557
+ "N5112__": "Software publishers",
558
+ "N511___": "Publishing industries (except internet)",
559
+ "N51213_": "Motion picture and video exhibition",
560
+ "N5121__": "Motion picture and video industries",
561
+ "N5122__": "Sound recording industries",
562
+ "N512___": "Motion picture and sound recording industries",
563
+ "N51511_": "Radio broadcasting",
564
+ "N5151__": "Radio and television broadcasting",
565
+ "N515210": "Cable and other subscription programming",
566
+ "N51521_": "Cable and other subscription programming",
567
+ "N5152__": "Cable and other subscription programming",
568
+ "N515___": "Broadcasting (except internet)",
569
+ "N517311": "Wired Telecommunications Carriers",
570
+ "N517312": "Wireless Telecommunications Carriers (except Satellite)",
571
+ "N51731_": "Wired and Wireless Telecommunications Carriers",
572
+ "N5173__": "Wired and Wireless Telecommunications Carriers",
573
+ "N517410": "Satellite telecommunications",
574
+ "N51741_": "Satellite telecommunications",
575
+ "N5174__": "Satellite telecommunications",
576
+ "N51791_": "Other telecommunications",
577
+ "N5179__": "Other telecommunications",
578
+ "N517___": "Telecommunications",
579
+ "N518210": "Data processing, hosting, and related services",
580
+ "N51821_": "Data processing, hosting, and related services",
581
+ "N5182__": "Data processing, hosting, and related services",
582
+ "N518___": "Data processing, hosting, and related services",
583
+ "N5191__": "Other information services",
584
+ "N519___": "Other information services",
585
+ "N521110": "Monetary authorities-central bank",
586
+ "N52111_": "Monetary authorities-central bank",
587
+ "N5211__": "Monetary authorities-central bank",
588
+ "N521___": "Monetary authorities-central bank",
589
+ "N522110": "Commercial banking",
590
+ "N52211_": "Commercial banking",
591
+ "N5221__": "Depository credit intermediation",
592
+ "N5222__": "Nondepository credit intermediation",
593
+ "N5223__": "Activities related to credit intermediation",
594
+ "N522___": "Credit intermediation and related activities",
595
+ "N5231__": "Securities and commodity contracts intermediation and brokerage",
596
+ "N523210": "Securities and commodity exchanges",
597
+ "N52321_": "Securities and commodity exchanges",
598
+ "N5232__": "Securities and commodity exchanges",
599
+ "N5239__": "Other financial investment activities",
600
+ "N523___": "Securities, commodity contracts, investments",
601
+ "N5241__": "Insurance carriers",
602
+ "N5242__": "Insurance agencies, brokerages, and related services",
603
+ "N524___": "Insurance carriers and related activities",
604
+ "N5251__": "Insurance and employee benefit funds",
605
+ "N5259__": "Other investment pools and funds",
606
+ "N525___": "Funds, trusts, and other financial vehicles",
607
+ "N5311__": "Lessors of real estate",
608
+ "N531210": "Offices of real estate agents and brokers",
609
+ "N53121_": "Offices of real estate agents and brokers",
610
+ "N5312__": "Offices of real estate agents and brokers",
611
+ "N5313__": "Activities related to real estate",
612
+ "N531___": "Real estate",
613
+ "N532111": "Passenger car rental",
614
+ "N532120": "Truck, utility trailer, and rv (recreational vehicle) rental and leasing",
615
+ "N53212_": "Truck, utility trailer, and rv (recreational vehicle) rental and leasing",
616
+ "N5321__": "Automotive equipment rental and leasing",
617
+ "N532282": "Video Tape and Disc Rental",
618
+ "N5322__": "Consumer goods rental",
619
+ "N532310": "General rental centers",
620
+ "N53231_": "General rental centers",
621
+ "N5323__": "General rental centers",
622
+ "N5324__": "Machinery and equipment rental and leasing",
623
+ "N532___": "Rental and leasing services",
624
+ "N533110": "Lessors of nonfinancial intangible assets (except copyrighted works)",
625
+ "N53311_": "Lessors of nonfinancial intangible assets (except copyrighted works)",
626
+ "N5331__": "Lessors of nonfinancial intangible assets (except copyrighted works)",
627
+ "N533___": "Lessors of nonfinancial intangible assets (except copyrighted works)",
628
+ "N5411__": "Legal services",
629
+ "N541211": "Offices of certified public accountants",
630
+ "N541213": "Tax preparation services",
631
+ "N541219": "Other accounting services",
632
+ "N54121_": "Accounting, tax preparation, bookkeeping, and payroll services",
633
+ "N5412__": "Accounting, tax preparation, bookkeeping, and payroll services",
634
+ "N541310": "Architectural services",
635
+ "N54131_": "Architectural services",
636
+ "N541330": "Engineering services",
637
+ "N54133_": "Engineering services",
638
+ "N5413__": "Architectural and engineering services",
639
+ "N5414__": "Specialized design services",
640
+ "N54151_": "Computer systems design and related services",
641
+ "N5415__": "Computer systems design and related services",
642
+ "N5416__": "Management and technical consulting services",
643
+ "N5417__": "Scientific research and development services",
644
+ "N541810": "Advertising agencies",
645
+ "N54181_": "Advertising agencies",
646
+ "N5418__": "Advertising and related services",
647
+ "N541921": "Photography studios, portrait",
648
+ "N541940": "Veterinary services",
649
+ "N54194_": "Veterinary services",
650
+ "N5419__": "Other professional and technical services",
651
+ "N541___": "Professional, scientific, and technical services",
652
+ "N54____": "Professional, scientific, and technical services",
653
+ "N55111_": "Management of companies and enterprises",
654
+ "N5511__": "Management of companies and enterprises",
655
+ "N551___": "Management of companies and enterprises",
656
+ "N55____": "Management of companies and enterprises",
657
+ "N561110": "Office administrative services",
658
+ "N56111_": "Office administrative services",
659
+ "N5611__": "Office administrative services",
660
+ "N561210": "Facilities support services",
661
+ "N56121_": "Facilities support services",
662
+ "N5612__": "Facilities support services",
663
+ "N56131_": "Employment placement agencies and executive search services",
664
+ "N5613__": "Employment services",
665
+ "N5614__": "Business support services",
666
+ "N561510": "Travel agencies",
667
+ "N56151_": "Travel agencies",
668
+ "N5615__": "Travel arrangement and reservation services",
669
+ "N5616__": "Investigation and security services",
670
+ "N561720": "Janitorial services",
671
+ "N56172_": "Janitorial services",
672
+ "N5617__": "Services to buildings and dwellings",
673
+ "N5619__": "Other support services",
674
+ "N561___": "Administrative and support services",
675
+ "N56211_": "Waste collection",
676
+ "N5621__": "Waste collection",
677
+ "N56221_": "Waste treatment and disposal",
678
+ "N5622__": "Waste treatment and disposal",
679
+ "N5629__": "Remediation and other waste services",
680
+ "N562___": "Waste management and remediation services",
681
+ "N611110": "Elementary and secondary schools",
682
+ "N61111_": "Elementary and secondary schools",
683
+ "N6111__": "Elementary and secondary schools",
684
+ "N611210": "Junior colleges",
685
+ "N61121_": "Junior colleges",
686
+ "N6112__": "Junior colleges",
687
+ "N611310": "Colleges, universities, and professional schools",
688
+ "N61131_": "Colleges, universities, and professional schools",
689
+ "N6113__": "Colleges, universities, and professional schools",
690
+ "N6114__": "Business, computer, and management training",
691
+ "N61151_": "Technical and trade schools",
692
+ "N6115__": "Technical and trade schools",
693
+ "N6116__": "Other schools and instruction",
694
+ "N611710": "Educational support services",
695
+ "N61171_": "Educational support services",
696
+ "N6117__": "Educational support services",
697
+ "N611___": "Educational services",
698
+ "N61____": "Educational services",
699
+ "N62111_": "Offices of physicians",
700
+ "N6211__": "Offices of physicians",
701
+ "N621210": "Offices of dentists",
702
+ "N62121_": "Offices of dentists",
703
+ "N6212__": "Offices of dentists",
704
+ "N6213__": "Offices of other health practitioners",
705
+ "N6214__": "Outpatient care centers",
706
+ "N621511": "Medical laboratories",
707
+ "N621512": "Diagnostic imaging centers",
708
+ "N62151_": "Medical and diagnostic laboratories",
709
+ "N6215__": "Medical and diagnostic laboratories",
710
+ "N621610": "Home health care services",
711
+ "N62161_": "Home health care services",
712
+ "N6216__": "Home health care services",
713
+ "N6219__": "Other ambulatory health care services",
714
+ "N621___": "Ambulatory health care services",
715
+ "N622110": "General medical and surgical hospitals",
716
+ "N62211_": "General medical and surgical hospitals",
717
+ "N6221__": "General medical and surgical hospitals",
718
+ "N622210": "Psychiatric and substance abuse hospitals",
719
+ "N62221_": "Psychiatric and substance abuse hospitals",
720
+ "N6222__": "Psychiatric and substance abuse hospitals",
721
+ "N622310": "Specialty (except psychiatric and substance abuse) hospitals",
722
+ "N62231_": "Specialty (except psychiatric and substance abuse) hospitals",
723
+ "N6223__": "Specialty (except psychiatric and substance abuse) hospitals",
724
+ "N622A__": "Hospitals, except psychiatric and substance abuse hospitals",
725
+ "N622___": "Hospitals",
726
+ "N623110": "Nursing care facilities",
727
+ "N62311_": "Nursing care facilities",
728
+ "N6231__": "Nursing care facilities",
729
+ "N6232__": "Residential mental health facilities",
730
+ "N62331_": "Community care facilities for the elderly",
731
+ "N6233__": "Community care facilities for the elderly",
732
+ "N623990": "Other residential care facilities",
733
+ "N62399_": "Other residential care facilities",
734
+ "N6239__": "Other residential care facilities",
735
+ "N623___": "Nursing and residential care facilities",
736
+ "N6241__": "Individual and family services",
737
+ "N6242__": "Emergency and other relief services",
738
+ "N624310": "Vocational rehabilitation services",
739
+ "N62431_": "Vocational rehabilitation services",
740
+ "N6243__": "Vocational rehabilitation services",
741
+ "N624410": "Child day care services",
742
+ "N62441_": "Child day care services",
743
+ "N6244__": "Child day care services",
744
+ "N624___": "Social assistance",
745
+ "N7111__": "Performing arts companies",
746
+ "N71121_": "Spectator sports",
747
+ "N7112__": "Spectator sports",
748
+ "N7113__": "Arts and sports promoters and agents and managers for public figures",
749
+ "N711410": "Agents and managers for artists, athletes, entertainers, and other public figures",
750
+ "N71141_": "Agents and managers for artists, athletes, entertainers, and other public figures",
751
+ "N7114__": "Agents and managers for artists, athletes, entertainers, and other public figures",
752
+ "N711510": "Independent artists, writers, and performers",
753
+ "N71151_": "Independent artists, writers, and performers",
754
+ "N7115__": "Independent artists, writers, and performers",
755
+ "N711___": "Performing arts and spectator sports",
756
+ "N7121__": "Museums, historical sites, and similar institutions",
757
+ "N712___": "Museums, historical sites, and similar institutions",
758
+ "N713110": "Amusement and theme parks",
759
+ "N71311_": "Amusement and theme parks",
760
+ "N7131__": "Amusement parks and arcades",
761
+ "N7132__": "Gambling industries",
762
+ "N713910": "Golf courses and country clubs",
763
+ "N71391_": "Golf courses and country clubs",
764
+ "N713940": "Fitness and recreational sports centers",
765
+ "N71394_": "Fitness and recreational sports centers",
766
+ "N713950": "Bowling centers",
767
+ "N71395_": "Bowling centers",
768
+ "N7139__": "Other amusement and recreation industries",
769
+ "N713___": "Amusements, gambling, and recreation",
770
+ "N721110": "Hotels (except casino hotels) and motels",
771
+ "N72111_": "Hotels (except casino hotels) and motels",
772
+ "N7211__": "Traveler accommodation",
773
+ "N72121_": "RV (recreational vehicle) parks and recreational camps",
774
+ "N7212__": "RV (recreational vehicle) parks and recreational camps",
775
+ "N721310": "Rooming and boarding houses",
776
+ "N72131_": "Rooming and boarding houses",
777
+ "N7213__": "Rooming and boarding houses",
778
+ "N721___": "Accommodation",
779
+ "N7223__": "Special food services",
780
+ "N722410": "Drinking places (alcoholic beverages)",
781
+ "N72241_": "Drinking places (alcoholic beverages)",
782
+ "N7224__": "Drinking places (alcoholic beverages)",
783
+ "N722511": "Full-service restaurants",
784
+ "N72251A": "Limited-service eating places",
785
+ "N72251_": "Restaurants and other eating places",
786
+ "N7225__": "Restaurants and other eating places",
787
+ "N722___": "Food services and drinking places",
788
+ "N72____": "Accommodation and food services",
789
+ "N8111__": "Automotive repair and maintenance",
790
+ "N81121_": "Electronic and precision equipment repair and maintenance",
791
+ "N8112__": "Electronic and precision equipment repair and maintenance",
792
+ "N811310": "Commercial machinery repair and maintenance",
793
+ "N81131_": "Commercial machinery repair and maintenance",
794
+ "N8113__": "Commercial machinery repair and maintenance",
795
+ "N811420": "Reupholstery and furniture repair",
796
+ "N81142_": "Reupholstery and furniture repair",
797
+ "N8114__": "Household goods repair and maintenance",
798
+ "N811___": "Repair and maintenance",
799
+ "N81211_": "Hair, nail, and skin care services",
800
+ "N8121__": "Personal care services",
801
+ "N812210": "Funeral homes and funeral services",
802
+ "N81221_": "Funeral homes and funeral services",
803
+ "N8122__": "Death care services",
804
+ "N812310": "Coin-operated laundries and drycleaners",
805
+ "N81231_": "Coin-operated laundries and drycleaners",
806
+ "N812320": "Drycleaning and laundry services (except coin-operated)",
807
+ "N81232_": "Drycleaning and laundry services (except coin-operated)",
808
+ "N81233_": "Linen and uniform supply",
809
+ "N8123__": "Drycleaning and laundry services",
810
+ "N812910": "Pet care (except veterinary) services",
811
+ "N81291_": "Pet care (except veterinary) services",
812
+ "N81292_": "Photofinishing",
813
+ "N8129__": "Other personal services",
814
+ "N812___": "Personal and laundry services",
815
+ "N813110": "Religious organizations",
816
+ "N81311_": "Religious organizations",
817
+ "N8131__": "Religious organizations",
818
+ "N81321_": "Grantmaking and giving services",
819
+ "N8132__": "Grantmaking and giving services",
820
+ "N81331_": "Social advocacy organizations",
821
+ "N8133__": "Social advocacy organizations",
822
+ "N813410": "Civic and social organizations",
823
+ "N81341_": "Civic and social organizations",
824
+ "N8134__": "Civic and social organizations",
825
+ "N8139__": "Professional and similar organizations",
826
+ "N813___": "Membership associations and organizations",
827
+ "N814110": "Private households",
828
+ "N81411_": "Private households",
829
+ "N8141__": "Private households",
830
+ "N814___": "Private households",
831
+ "N901___": "Government (excluding postal service)",
832
+ "N______": "Private Nonfarm"
833
+ },
834
+ "measure_code": {
835
+ "C00": "Capital productivity (Index, 2017=100)",
836
+ "C01": "Capital input (Index, 2017=100)",
837
+ "C02": "Capital costs (Millions of current dollars)",
838
+ "C03": "Capital share (Percentage)",
839
+ "C06": "Capital intensity (Index, 2017=100)",
840
+ "C07": "Contribution of capital intensity to labor productivity (Index, 2017=100)",
841
+ "L00": "Labor productivity (Index, 2017=100)",
842
+ "L01": "Hours worked (Index, 2017=100)",
843
+ "L02": "Labor compensation (Millions of current dollars)",
844
+ "L03": "Labor share (Percentage)",
845
+ "L06": "Real labor compensation (Million $)",
846
+ "L07": "Real labor compensation (Index, 2017=100)",
847
+ "L20": "Hours worked (Millions of hours)",
848
+ "M00": "Total factor productivity (Index, 2017=100)",
849
+ "M01": "Combined inputs (Index, 2017=100)",
850
+ "M02": "Combined inputs costs (Millions of current dollars)",
851
+ "M05": "Combined inputs price deflator (Index, 2017=100)",
852
+ "P00": "Intermediate inputs productivity (Index, 2017=100)",
853
+ "P01": "Intermediate inputs (Index, 2017=100)",
854
+ "P02": "Intermediate inputs costs (Millions of current dollars)",
855
+ "P03": "Intermediate inputs share (Percentage)",
856
+ "P06": "Intermediate inputs intensity (Index, 2017=100)",
857
+ "P07": "Contribution of intermediate inputs intensity to labor productivity (Index, 2017=100)",
858
+ "T01": "Real sectoral output (Index, 2017=100)",
859
+ "T02": "Real value-added output (Index, 2017=100)",
860
+ "T05": "Sectoral output price deflator (Index, 2017=100)",
861
+ "T06": "Value-added output price deflator (Index, 2017=100)",
862
+ "T30": "Sectoral output (Millions of current dollars)",
863
+ "T39": "Value-added output (Millions of current dollars)",
864
+ "U10": "Unit labor costs (Index, 2017=100)",
865
+ "U11": "Labor compensation (Index, 2017=100)",
866
+ "U12": "Hourly compensation (Index, 2017=100)",
867
+ "U13": "Hourly compensation ($ / Hour)",
868
+ "U14": "Real hourly compensation ($ / Hour)",
869
+ "U15": "Real hourly labor compensation (Index, 2017=100)",
870
+ "W00": "Output per worker (Index, 2017=100)",
871
+ "W01": "Employment (Index, 2017=100)",
872
+ "W20": "Employment (Thousands of jobs)"
873
+ },
874
+ "duration_code": {
875
+ "0": "Indexes or values",
876
+ "1": "Annual percent changes"
877
+ },
878
+ "type_code": {
879
+ "E": "Employees",
880
+ "H": "Hours",
881
+ "I": "Index",
882
+ "P": "Percent",
883
+ "R": "Rate",
884
+ "Y": "Currency"
885
+ },
886
+ "area_code": {
887
+ "000000": "U.S. Total",
888
+ "010000": "Alabama",
889
+ "020000": "Alaska",
890
+ "040000": "Arizona",
891
+ "050000": "Arkansas",
892
+ "060000": "California",
893
+ "080000": "Colorado",
894
+ "090000": "Connecticut",
895
+ "100000": "Delaware",
896
+ "110000": "District of Columbia",
897
+ "120000": "Florida",
898
+ "130000": "Georgia",
899
+ "150000": "Hawaii",
900
+ "160000": "Idaho",
901
+ "170000": "Illinois",
902
+ "180000": "Indiana",
903
+ "190000": "Iowa",
904
+ "200000": "Kansas",
905
+ "210000": "Kentucky",
906
+ "220000": "Louisiana",
907
+ "230000": "Maine",
908
+ "240000": "Maryland",
909
+ "250000": "Massachusetts",
910
+ "260000": "Michigan",
911
+ "270000": "Minnesota",
912
+ "280000": "Mississippi",
913
+ "290000": "Missouri",
914
+ "300000": "Montana",
915
+ "310000": "Nebraska",
916
+ "320000": "Nevada",
917
+ "330000": "New Hampshire",
918
+ "340000": "New Jersey",
919
+ "350000": "New Mexico",
920
+ "360000": "New York",
921
+ "370000": "North Carolina",
922
+ "380000": "North Dakota",
923
+ "390000": "Ohio",
924
+ "400000": "Oklahoma",
925
+ "410000": "Oregon",
926
+ "420000": "Pennsylvania",
927
+ "440000": "Rhode Island",
928
+ "450000": "South Carolina",
929
+ "460000": "South Dakota",
930
+ "470000": "Tennessee",
931
+ "480000": "Texas",
932
+ "490000": "Utah",
933
+ "500000": "Vermont",
934
+ "510000": "Virginia",
935
+ "530000": "Washington",
936
+ "540000": "West Virginia",
937
+ "550000": "Wisconsin",
938
+ "560000": "Wyoming",
939
+ "981000": "Northeast Region",
940
+ "982000": "South Region",
941
+ "983000": "Midwest Region",
942
+ "984000": "West Region"
943
+ }
944
+ },
945
+ "pr": {
946
+ "sector_code": {
947
+ "3000": "Manufacturing",
948
+ "3100": "Manufacturing, Durable Goods",
949
+ "3200": "Manufacturing, Nondurable Goods",
950
+ "8400": "Business",
951
+ "8500": "Nonfarm Business",
952
+ "8800": "Nonfinancial Corporations"
953
+ },
954
+ "class_code": {
955
+ "3": "Employees",
956
+ "6": "All workers"
957
+ },
958
+ "measure_code": {
959
+ "01": "Employment",
960
+ "02": "Average weekly hours",
961
+ "03": "Hours worked",
962
+ "04": "Real value-added output",
963
+ "05": "Value-added output",
964
+ "06": "Labor compensation",
965
+ "08": "Nonlabor payments",
966
+ "09": "Labor productivity (output per hour)",
967
+ "10": "Hourly compensation",
968
+ "11": "Unit labor costs",
969
+ "12": "Unit nonlabor costs",
970
+ "13": "Unit nonlabor payments",
971
+ "14": "Value-added output price deflator",
972
+ "15": "Real hourly compensation",
973
+ "16": "Output per worker",
974
+ "17": "Labor share",
975
+ "18": "Profits",
976
+ "19": "Unit profits",
977
+ "20": "Unit combined input costs",
978
+ "21": "Real sectoral output",
979
+ "22": "Sectoral output price deflator",
980
+ "23": "Sectoral output"
981
+ },
982
+ "duration_code": {
983
+ "1": "% Change same quarter 1 year ago",
984
+ "2": "% Change from previous quarter",
985
+ "3": "Index (2017=100)"
986
+ },
987
+ "footnote_code": {
988
+ "R": "revised"
989
+ }
990
+ },
991
+ "mp": {
992
+ "sector_code": {
993
+ "0011": "Agriculture, forestry, fishing, and hunting (NAICS 11)",
994
+ "0021": "Mining (NAICS 21)",
995
+ "0022": "Utilities (NAICS 22)",
996
+ "0023": "Construction (NAICS 23)",
997
+ "0042": "Wholesale trade (NAICS 42)",
998
+ "0044": "Retail trade (NAICS 44,45)",
999
+ "0048": "Transportation and warehousing (NAICS 48-49)",
1000
+ "0051": "Information (NAICS 51)",
1001
+ "0052": "Finance and insurance (NAICS 52)",
1002
+ "0053": "Real estate and rental and leasing (NAICS 53)",
1003
+ "0054": "Professional, scientific, and technical services (NAICS 54)",
1004
+ "0055": "Management of companies and enterprises (NAICS 55)",
1005
+ "0056": "Administrative and waste management services (NAICS 56)",
1006
+ "0061": "Educational services (NAICS 61)",
1007
+ "0062": "Health care and social assistance (NAICS 62)",
1008
+ "0071": "Arts, entertainment, and recreation (NAICS 71)",
1009
+ "0072": "Accommodation and food services (NAICS 72)",
1010
+ "0081": "Other services, except government (NAICS 81)",
1011
+ "0111": "Crop & animal production (Farms) (NAICS 111,112)",
1012
+ "0113": "Forestry, fishing, and related activities (NAICS 113-115)",
1013
+ "0211": "Oil and gas extraction (NAICS 211)",
1014
+ "0212": "Mining, except oil and gas (NAICS 212)",
1015
+ "0213": "Support activities for mining (NAICS 213)",
1016
+ "0481": "Air transportation (NAICS 481)",
1017
+ "0482": "Rail transportation (NAICS 482)",
1018
+ "0483": "Water transportation (NAICS 483)",
1019
+ "0484": "Truck transportation (NAICS 484)",
1020
+ "0485": "Transit and ground passenger transportation (NAICS 485)",
1021
+ "0486": "Pipeline transportation (NAICS 486)",
1022
+ "0487": "Other transportation and support activities (NAICS 487,488,492)",
1023
+ "0493": "Warehousing and storage (NAICS 493)",
1024
+ "0511": "Publishing industries, except internet (includes software) (NAICS 511)",
1025
+ "0512": "Motion picture and sound recording industries (NAICS 512)",
1026
+ "0515": "Broadcasting and telecommunications (NAICS 515,517)",
1027
+ "0518": "Data processing, internet publishing, and other information services (NAICS 518,519)",
1028
+ "0521": "Federal reserve banks, credit intermediation, and related activities (NAICS 521,522)",
1029
+ "0523": "Securities, commodity contracts, and other financial investments and related activities (NAICS 523)",
1030
+ "0524": "Insurance carriers and related activities (NAICS 524)",
1031
+ "0525": "Funds, trusts, and other financial vehicles (NAICS 525)",
1032
+ "0531": "Real estate (NAICS 531)",
1033
+ "0532": "Rental and leasing services and lessors of nonfinancial and intangible assets (NAICS 532,533)",
1034
+ "0561": "Administrative and support services (NAICS 561)",
1035
+ "0562": "Waste management and remediation services (NAICS 562)",
1036
+ "0621": "Ambulatory health care services (NAICS 621)",
1037
+ "0622": "Hospitals and nursing and residential care facilities (NAICS 622,623)",
1038
+ "0624": "Social assistance (NAICS 624)",
1039
+ "0711": "Performing arts, spectator sports, museums, and related activities (NAICS 711,712)",
1040
+ "0713": "Amusements, gambling, and recreation industries (NAICS 713)",
1041
+ "0721": "Accommodation (NAICS 721)",
1042
+ "0722": "Food services and drinking places (NAICS 722)",
1043
+ "4244": "Trade (NAICS 42,44-45)",
1044
+ "4900": "Private Business Sector (NAICS PG)",
1045
+ "4910": "Private Nonfarm Business Sector (NAICS XG)",
1046
+ "5000": "Wood products (NAICS 321)",
1047
+ "5050": "Nonmetallic mineral products (NAICS 327)",
1048
+ "5100": "Primary metal products (NAICS 331)",
1049
+ "5150": "Fabricated metal products (NAICS 332)",
1050
+ "5200": "Machinery (NAICS 333)",
1051
+ "5250": "Computer and electronic products (NAICS 334)",
1052
+ "5253": "Finance, insurance, real estate, and leasing (NAICS 52-53)",
1053
+ "5300": "Electrical equipment, appliances, and components (NAICS 335)",
1054
+ "5360": "Motor vehicles, bodies and trailers, and parts (NAICS 3361-3363)",
1055
+ "5370": "Other transportation equipment (NAICS 3364-3369)",
1056
+ "5400": "Furniture and related products (NAICS 337)",
1057
+ "5411": "Legal services (NAICS 5411)",
1058
+ "5412": "Miscellaneous professional, scientific, and technical services (NAICS 5412-5414,5416-5419)",
1059
+ "5415": "Computer systems design and related services (NAICS 5415)",
1060
+ "5450": "Miscellaneous manufacturing (NAICS 339)",
1061
+ "5456": "Professional and business services (NAICS 54-56)",
1062
+ "5481": "Services (NAICS 54-81)",
1063
+ "5500": "Food and beverage and tobacco products (NAICS 311,312)",
1064
+ "5550": "Textile mills and textile product mills (NAICS 313,314)",
1065
+ "5600": "Apparel and leather and applied products (NAICS 315,316)",
1066
+ "5650": "Paper products (NAICS 322)",
1067
+ "5700": "Printing and related support activities (NAICS 323)",
1068
+ "5750": "Petroleum and coal products (NAICS 324)",
1069
+ "5800": "Chemical products (NAICS 325)",
1070
+ "5850": "Plastics and rubber products (NAICS 326)",
1071
+ "6162": "Educational services, health care, and social assistance (NAICS 61-62)",
1072
+ "7172": "Arts, entertainment, recreation, accommodation, and food services (NAICS 71-72)",
1073
+ "9900": "Manufacturing Sector (NAICS MN)",
1074
+ "9910": "Nondurable Manufacturing Sector (NAICS ND)",
1075
+ "9920": "Durable Manufacturing Sector (NAICS DM)"
1076
+ },
1077
+ "measure_code": {
1078
+ "01": "Total factor productivity",
1079
+ "02": "Real value-added output",
1080
+ "03": "Combined inputs",
1081
+ "04": "Capital input",
1082
+ "05": "Labor input",
1083
+ "06": "Labor productivity",
1084
+ "07": "Capital productivity",
1085
+ "08": "Capital intensity",
1086
+ "09": "Labor composition",
1087
+ "10": "Value-added output, billions of current dollars",
1088
+ "11": "Capital costs, billions of current dollars",
1089
+ "12": "Labor compensation, billions of current dollars",
1090
+ "13": "Capital share",
1091
+ "14": "Labor share",
1092
+ "15": "Contribution of capital intensity to labor productivity",
1093
+ "16": "Contribution of information processing equipment (IPE) intensity to labor productivity",
1094
+ "17": "Contribution of capital input excluding IPP and IPE intensity to labor productivity",
1095
+ "18": "Contribution of labor composition to labor productivity",
1096
+ "19": "Contribution of research and development (R&D) intensity to labor productivity",
1097
+ "20": "Contribution of intellectual property products (IPP) excluding R&D intensity to labor productivity",
1098
+ "21": "Unit labor costs",
1099
+ "22": "Unit capital costs",
1100
+ "51": "Real sectoral output",
1101
+ "55": "Energy input",
1102
+ "56": "Materials input",
1103
+ "57": "Services Input",
1104
+ "61": "Sectoral output, billions of current dollars",
1105
+ "62": "Capital costs, billions of current dollars",
1106
+ "63": "Labor costs, billions of current dollars",
1107
+ "64": "Energy costs, billions of current dollars",
1108
+ "65": "Materials costs, billions of current dollars",
1109
+ "66": "Services costs, billions of current dollars",
1110
+ "67": "Capital share",
1111
+ "68": "Labor share",
1112
+ "69": "Energy share",
1113
+ "70": "Materials share",
1114
+ "71": "Services share",
1115
+ "74": "Contribution of energy intensity to labor productivity",
1116
+ "76": "Contribution of materials intensity to labor productivity",
1117
+ "77": "Contribution of services intensity to labor productivity",
1118
+ "78": "Contribution of intermediate inputs intensity to labor productivity"
1119
+ },
1120
+ "duration_code": {
1121
+ "1": "Levels",
1122
+ "2": "Indexes = 100.000",
1123
+ "3": "% Change Year Ago"
1124
+ },
1125
+ "footnote_code": {
1126
+ "00": "Tornqvist (rental price wts.) aggregate K inputs",
1127
+ "01": "Tornqvist (cost share wts.) aggregate K and L",
1128
+ "02": "Real Value-Added Output divided by combined inputs",
1129
+ "03": "Tornqvist aggregate of hours by age, education, & gender",
1130
+ "04": "Sectoral output per unit of combined K, L, E, M, S",
1131
+ "06": "Combined K, L, E, M, S, cost share weights",
1132
+ "08": "Output per hour worked",
1133
+ "09": "Ratio of Labor Input to Hours"
1134
+ }
1135
+ }
1136
+ }